我把 Power BI 模型变成了一个可分享的网页看板——AI 识别建模、翻译 DAX、全链路验证实录

为什么做这件事 做财务分析这些年,Power BI 是我最趁手的工具。但它有一个绕不开的问题:成品不好分享。 发给同事?对方要装 Power BI Desktop,还要会用 换一家公司、换一套数据?报表里的数据源、清洗逻辑、度量值要重新配一遍 想改个指标?得打开文件、改 DAX、刷新、重新发布 我的想法很简单:能不能把我做的数据建模"固化"成一个网页看板系统——别人只要丢一个 Excel 文件进来,看板就自动出数,还能交互、能分享,甚至不用装任何软件? 这个想法验证了一个周末,成了。这篇文章记录完整过程。 整体思路 Power BI 的本质是"数据建模 + 度量值 + 可视化"三件套。我的思路是拆开它们: Power BI 当设计台:建模、验证、预览效果,这是它最擅长的事 模型定义文件当产品核心:把表结构、关系、度量值全部固化成一份代码定义(model.json) Web 引擎当成品:ECharts 看板 + 数据引擎,接受任何人的 Excel,自动算出所有指标 翻译过去之后,Power BI 文件不再是必需品——模型资产变成了代码资产,可版本控制、可分享、可迭代。 四步做法 第一步:识别模型(AI 读取 Power BI) 用微软官方的 Power BI 建模 MCP 工具,直接连接正在运行的 Power BI Desktop,把整个语义模型导出为 TMDL 格式(Power BI 模型的标准文本格式)。 导出的内容让我有点意外——这个模型比我想象的完整: 8 张表:1 张事实表(报表数据:公司/报表类型/报表项目/报表日期/金额)+ 7 张维度表(利润表结构、资产负债表结构、现金流量表结构、杜邦分析结构、日期表、公司名称等) 5 条关系:事实表分别关联各结构表和日期表 74 个度量值:从基础的营业收入、净利润,到杜邦分析的净资产收益率、权益乘数,再到存货周转天数、运营周期 AI 能完整识别数据建模,这条路是通的。 第二步:翻译度量值(DAX → Python) 这是整个流程里最有意思的一步。74 个 DAX 度量值,看起来复杂,但翻译成代码后模式其实很清晰: ...

2026-08-22 · 2 min · 221 words · 董威

从零搭建财务数据驾驶舱:AkShare 抓数据 × PowerBI 做看板

项目背景 做财务分析,最头疼的就是数据源头。 以前我是手动导 SAP 报表、复制粘贴到 Excel 里做透视表,每次更新数据要花半天时间,还容易出错。后来用 PowerBI 做看板,但数据源还是手动维护的 CSV 文件——每季度更新一次,依然麻烦。 这个项目的目标:用 Python 自动抓取 A 股财务数据 → 自动清洗 → PowerBI 读取 → 生成可视化报告。 数据源完全自动化,我只用打开 PowerBI 点一下刷新。 技术栈 环节 工具 数据采集 Python AkShare(东方财富网开放接口) 数据清洗 Python Pandas 数据建模 PowerBI + PowerQuery + DAX 可视化 PowerBI 仪表盘 第一步:用 AkShare 自动抓数据 AkShare 是一个 Python 开源库,封装了东方财富、新浪财经等平台的公开数据接口。不需要爬虫、不需要 API Key,pip 安装就能用。 安装 1 pip install akshare 抓取财务三大报表 以华帝股份(002035)为例,抓取利润表、资产负债表、现金流量表: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import akshare as ak import pandas as pd # 利润表 income = ak.stock_financial_report_sina(stock="sz002035", symbol="利润表") income.to_csv("利润表.csv", encoding="utf-8-sig") # 资产负债表 balance = ak.stock_financial_report_sina(stock="sz002035", symbol="资产负债表") balance.to_csv("资产负债表.csv", encoding="utf-8-sig") # 现金流量表 cashflow = ak.stock_financial_report_sina(stock="sz002035", symbol="现金流量表") cashflow.to_csv("现金流量表.csv", encoding="utf-8-sig") 一条命令就能拿到完整的财务数据。利润表 147 列、资产负债表 241 列、现金流量表 211 列——比你在东方财富网上手动翻页快得多。 ...

2026-07-26 · 2 min · 267 words · 董威