
原创内容
No.766
Power BI | 都AI时代了,谁还写文档嘛!
咱就是说,文档这玩意,写了真的有人会看么?!

图片由夸克AI绘制
最近刚好被抓去干了一些整理文档的工作,讲真,有点烦人,这都AI时代了,谁还要写文档嘛!作为一个懒人,我是真的讨厌这种类似的工作,这不搞点自动化都不符合我的人设,马上安排起来!
文档这种东西真的是,让我写文档的时候我很不情愿写,但是别人给我东西没有文档的时候我急得骂人。所以说,无痛写文档真的是打工人的刚需!这都AI时代了,让AI代我写点文档应该不过分吧~
抛开部分企业的文档都会沦为面子工程不谈,一份面向企业级用户的 Power BI 技术文档 应当兼顾“技术实现细节”与“业务落地场景”,所以说,一个有用的文档至少应该长这样:
1 文档总览

这个部分通常情况下没法找AI代劳,不过好在人工去写似乎不是什么非常困难的事情,还算比较简单。
2 业务与技术上下文

对于大型项目,这种东西通常情况下在需求设计的环节就已经写完了,也不算非常大的难度,当然,AI不能代劳干这个事情。
3 系统架构与数据模型

这部分内容往往信息量很大,手下真的要命,不过好在这部分内容完全可以用AI代劳,并且AI代劳的方案有很多种。
4 报表与可视化资产

这部分内容不算难度很大,人工整理也算是可以接受的。
5 权限与治理

这个部分的内容稍微有点形式主义了,虽然也挺重要的,但如果有很多项目的话,这个部分是处于可以直接copy就能用的,算不上耽误很多时间。
6 部署、运维与DevOps

这些信息也非常重要,但好在需要写的内容不算太多,也是可以接受人工去写的。
7 故障排查与支持

这些内容倒也好说,基本是每个报告大差不差,都可以套用的东西。
8 培训与知识传递

一般情况下这种内容可以内嵌在报告内部,也不算是太复杂的操作。
9 附录
一般有这么四个部分组成:
A. 术语表
B. TMDL / TMSL 脚本(用于模型重建)
C. 代码仓库地址与分支规范
D. 第三方依赖许可证清单
10 文档管理与更新机制

这个就没什么好说的,纯粹是一个机制的问题,倒也没什么文档本身的工作量。
一个好的文档能产生非常大的积极作用,但是吧,这写文档本身的耗时也太多了,怎么想都是不合算的嘛,尤其是系统架构与数据模型这一块,整理起来还是非常费劲的。
不过也有好消息,我们有可以用一些三方工具+AI的方式把这个工作变得简单化:

常见的三方工具主要是大名鼎鼎的Tabular Editor、Dax Studio和插件Power BI Helper(这个确实不是很有名)了。
方案一:Tabluar Editor
首先是Tabular Editor,很多新手会误以为我说得是Tableau但是手误打错字了,其实Tabular Editor是一个比较常用的Power BI外部工具。

下载地址如下:https://tabulareditor.com/
国内下载除了网速慢一点之外也没有别问题。个人推荐通过这个路径去下载,下载速度比直接去官网下载要快出不少。
直接在PowerBI desktop上选择外部工具:

会自动跳转到PowerBI的官方支持网站上去:
https://learn.microsoft.com/zh-cn/power-bi/transform-model/desktop-external-tools

然后通过上面这个地址,可以跳转到github:

这个里面常用的几个PowerBI第三方工具都能下载到,源码也在Github上。唯一的问题是国内访问Github处于时不时抽风的状态。
总之,Tablular Editor是一个非常强大的三方工具,鉴于我个人用得不是那么多,别的功能就不介绍了,这里只讲比较重要的文档生成的功能。
安装tabular本身没啥难度,双击exe一路点击下一步就完事,使用这块儿稍微有点说法。首先,Tabluar Editor不能单独使用,我们在使用Tabular Editor的时候要配合Power BI Desktop一起使用。我就拿生成文档这个事情做一个小案例吧。
首先,我们打开一个PBIX文件,然后启动Tabluar Editor。注意,在使用Tabluar Editor的时候本地的PBIX文件需要是打开状态。然后参考下面截图选择打开一个本地的模型:

然后会有一个弹出的窗口,选择Local instance,下拉选项中就会有当前已经打开的pbix文件供打开。

选好之后稍等片刻,就能看到模型信息在Tabluar Editor中呈现出来,大概长这么个样子:

当然,还有一种方法就是直接把Tabluar Editor作为插件进行安装,然后在power bi desktop中直接打开,像这样:

在插件中进行另存,另存为一个.bim文件,或者选择save to folder生成一整个文件夹的json文件。

不用管这些json文件到底是啥,总之就是接下来搞一个window批处理的脚本,至于code,直接问AI要就行了,这种简单的小玩意市面上的AI基本都能做到,效果大差不差:

@echo off
rem =========================================================
rem merge_json.bat —— 合并当前目录(及子目录)所有 json 文件
rem =========================================================
setlocal EnableDelayedExpansion
:: 输出文件
set"OUT=merged.json"
:: 临时文件
set"TMP=%TEMP%\merge_json_%RANDOM%.tmp"
:: 如果存在旧的输出文件,先删除
if exist "%OUT%" del /q "%OUT%"
:: 开始写临时文件
echo [>"%TMP%"
:: 计数器,用来判断是不是第一个文件
set"CNT=0"
:: 遍历所有 json 文件
for /r %%F in (*.json) do (
rem 跳过输出文件自身,防止死循环
if /I not"%%~fF"=="%~f0" (
if /I not"%%~fF"=="%CD%\%OUT%" (
rem 去掉首尾的空白字符,并去掉最外层 [] 或 {}
for /f "usebackq delims=" %%L in ("%%~fF") do (
set"LINE=%%L"
set"LINE=!LINE:~1,-1!"
set"LINE=!LINE: =!"
if !CNT! gtr 0 echo ,>>"%TMP%"
echo !LINE!>>"%TMP%"
set /a CNT+=1
)
))
)
:: 结束 JSON 数组
echo ]>>"%TMP%"
:: 把临时文件复制成最终文件
move /y "%TMP%""%OUT%" >nul
echo 合并完成,共 !CNT! 个文件,结果保存在 "%OUT%"
pause然后就是把整合好的json文件丢给AI,再让它给你改写成人能看懂的格式,这里强烈推荐改写成markdown格式,比较有利于改成PDF/Word/PPT。
提示词我放在这里了,供参考:
附件是 Power BI 数据模型的 TMDL 脚本,请:
1. 输出模型全景概览(主题域、事实表/维度表数量、总字段数、总度量值数)。
2. 按字母顺序列出所有表,并给出每表字段清单(含数据类型、是否隐藏)、主键、描述。
3. 逐条解释所有度量值(含 DAX 公式、业务含义、格式化字符串)。
4. 用表格形式列出全部关系(From表.字段 → To表.字段,含活动状态、交叉筛选方向)。
5. 列出所有安全角色及对应的 DAX 行级过滤器。
6. 用 Mermaid 语法生成一张关系图(ER 图)。
7. 输出为 Markdown 格式,一级标题用 `#`,便于后续转 PPT 或 PDF。方案二:Dax Studio
Dax Studio和Tabluar Editor类似,也是可以从官网下载或者去GitHub下载两条路径。
在使用上两个插件也有类似的地方都是先要保证PBIX文件是打开的,才能在第三方工具中找到对应的模型进行操作。如果开放了第三方插件的展示,就可以在这个地方看到这个插件,如果没有开放的话就是单独启动DAX Studio然后再选择模型就可以了。

打开插件后,进入DMV这个界面,就可以看到很多表:

随便双击点击一个表就可以看到右侧对应生成了一个SQL:

然后我们就可以点击Run执行这条语句并生成对应的结果了:

这里的SQL语句本身是可以修改的,生成的结果也可以选择在界面展示还是输出成excel文件:

需要注意的是,要先在Output这里设置输出的格式再run才能生成文件。如果遇到了没有响应的情况,可以尝试清理一下缓存:

常见的一些表和表中对应的内容如下:
总之就是,DMV里面的表和信息非常多,至于每个表里都是什么信息可以看Github上的文档(地址对不对我不确定,因为GitHub间歇性打不开):
https://github.com/asxinyu/DAX-Studio-Guide
这个方案就简单了,把这些主要的信息导出成excel表,再丢给AI进行文档的整理和撰写就可以了。
方案三 :另存PBIX文件
当然,没有插件也不是什么都搞不来,这里还有一个方案,就是不用插件,直接把PBIX文件另存为pbip格式的文件。

另存之后你会获得一大堆tmdl文件:

和整合json格式类似,我们可以再用一个批处理脚本把文件夹下所有的tmdl格式文件都合并并另存为txt格式的文件:

@echo off
rem =========================================================
rem merge_tmdl.bat —— 合并当前目录及子目录所有 .tmdl 文件
rem =========================================================
setlocal enabledelayedexpansion
:: 输出文件名
set"OUT=merged.txt"
:: 如已存在则删除旧文件
if exist "%OUT%" del /q "%OUT%"
:: 递归遍历所有 .tmdl 文件
for /r %%F in (*.tmdl) do (
echo ---------- %%~nxF ---------->>"%OUT%"
type "%%~fF">>"%OUT%"
echo.>>"%OUT%"
)
echo 合并完成!共处理 %ERRORLEVEL% 个文件,结果保存为 "%OUT%"
pause然后就是完全一样的操作,把这个合并好的文件丢给AI,让AI给你整理成markdown的格式再输出。非要说得话,无非就是市面上的AI基本不识别tmdl格式的文件,需要我们手动处理一下。
方案四:Power BI Helper
除了上面三种方案之外,还有第四个解决方案,那就是使用插件Power BI Helper生成HTML格式的文档,然后请AI同学整理一下文档格式的快捷选项。
下载地址:
https://powerbihelper.org/
这个网站页面设计略微有点坑,点击页面上超大的Download是没用的,需要往下拉页面,填写一个邮箱地址:

然后就会受到下载插件的邮件,点击邮件里的link就会自动进行下载。
双击安装之后就可以在Power BI的外部工具栏看到这个插件,如果看不到的话,重启一下Power BI Desktop就可以了:

启动插件,如果这个页面是空白的(没有自动连接到模型)的话,就需要手动点击一下连接到模型:

这个步骤有时候会有点慢&卡顿,耐心等待一下就好了,连接到模型之后这里都应该是有内容的,大概长这样:

往后挪,切换到Document这个选项卡:

选择想要的内容:

然后选择生成文档,等待进度条执行即可获得一份HTML格式的文档。

这个插件最大的问题的问题是在模型比较大的时候很容易进度条走着走着就没有然后了或者在点击连接到模型的时候直接死机,略微有点让人抓狂(所以这个插件的知名度没有那么高是有原因的)。
不过这个插件生成的html格式文件,基本已经完全可以作为文档使用了,让AI代劳整理一下文档格式基本就差不多够用了。
上面插件都有一个共性的问题,那就是下载的时候有一定的不确定性,这里我给一个网盘地址,有兴趣的朋友们可以从网盘地址下载:
链接:
https://pan.baidu.com/s/1Q4E4FxUjoyYaRuF0O5iaxg
提取码:davq
文章最后还是老规矩,唠嗑群持续招募中,有兴趣的朋友们可以私聊我入群。

二号姬
半路出家自学成才的文科数据人,看过了大厂的风景也做过了小厂的CDO~目前是闲职,写写稿带带学生,欢迎勾搭~