除非特殊声明,本站文章均为本站原创,转载请务必保留本文链接!
文章标题:165_pbi-utils_文档。
先来说一下为什么会有 pbi-utils 这个小工具吧。在我日常做演示的示例文件的时候,每次都要重新搞一次 Power BI Desktop,就想能不能像 PPT 模板那样,搞一个模板,然后更专心的去专注内容本身呢?一段时间来,我其实也是用的这种方式,自己存有一份示例模板,这样每次另存一份就 ok 了。
直到有一天我要做关于 Power BI 行级别安全性 (Row-level security,简称 RLS) 的示例的时候,发现用这样模板另存就没办法去适配不同的业务模型了。
于是开始思考,是否能把这种 RLS 抽象出来,同时能把兼具模板,最好还能兼具到页面权限,还能一键生成那该多好。这就是 pbi-utils 最初设想,但面对 Power BI 要去操控数据模型目前可以是用 Tabular Editor(https://tabulareditor.github.io/),但是没法操控新建页面等。这个是事情也就搁置了。
直到有一天在 sqlbi(https://www.sqlbi.com/) 上看到了一个名叫 pbi-tools(https://pbi.tools/) 的工具,pbi-tools 可以完全把 pbix 文件完成拆解成模型(model)和报告(report),这就可以二次开发了。于是便有了 pbi-utils 这个小工具。
在此特别感谢 @mthierba(pbi-tools作者)。
在 pbi-utils 中使用了 pbi-tools 一部分功能,更多功能大家有兴趣去 pbi-tools 主页看看,这是一个非常棒的工具。
pbi-utils 整体框架如下:

首页界面

在做使用文档前,我们先说一下我的基本思路。说来也比较简单,就是通过单独的 json 配置文件,把我们需要的一些配置单独解耦出来。我通过操作配置文件即可完成 Power BI 调整需求。
先来交代一下,我们一般拿到的都是业务数据,创建基础的报告模型壳子就可以加个 pbi-utils。 依然使用之前分享给大家的 demo 数据(https://jiaopengzi.com/1435.html) 我们拿到的是一个只导入了业务数据,没有报告页面的 pbix 文件。

首先我们需要对我们 pbix 文件进行 json 配置文件初始化。 内容页数规则:只能是 1-99 的整数,如果需要多个二级分类,则使用英文半角逗号分开;其它内容无法输入。

下图所示,我们以为 C:/desktop/demo/demo.pbix 为业务模板,内容页数:3,4 表示我们需要两个二级分类的页面导航,同时第一个分类内容页数为3页,第二个分类的内容页数为4页。
当然还有一个页面 URL 名称是否使用随机值,这目的其实是为了伪页面权限准备的,在视频中我们再介绍。
点击初始化后即可得到我们 json 配置文件C:/desktop/demo/demo.json

在 模板度量值 下选择前面初始化的C:/desktop/demo/demo.json文件即可看到模板度量值。

| 分割,多行用换行。
在 页面编辑 下选择前面初始化的C:/desktop/demo/demo.json文件即可看到页面配置文件。
这里的页面的属性,是使用我的给大家的模板,在使用的时候,只要保存后,以后初始化的时候则会使用自己的模板,非常的人性。
页面编辑是没有新增和删除的,所以是在我们前面做报告规划的时候就需要考虑清楚的,只能通过初始化来确认页面的数量和分级。

Home└─Navigation├─NoPermission├─A00│ ├─A01│ ├─A02│ ├─...│ └─A99├─B00│ ├─B01│ ├─B02│ ├─...│ └─B99├─...└─Z00├─Z01├─Z02├─...└─Z99
权限类别初始化主要是针对 RLS 。如果没有 RLS 需求的则可以跳过当前设置。
在 权限类别初始化 页面选择前面初始化的C:/desktop/demo/demo.json文件即可看到权限类别初始化页面。

当前是没有任何的 RLS 配置,如果需要则按照下列配置填写保存即可。

在 权限表编辑 页面选择前面初始化的C:/desktop/demo/demo.json文件即可看到权限表编辑页面。

默认情况下,会根据用户所在电脑的账户生成一条对应本机用户权限。
权限包括 页面序号 和 RLS 权限,RLS 权限则是我们前面使用权限类别初始化的数据。
一个用户名称会有正常的 Power BI 帐号,同时在本机上也需要对应的账户名称来支持本地用户的权限。
通过右键编辑

当然也可以通过新增按钮增加更多的帐号配置,记得保存。
在 编译生成pbit 页面,到了这里,基本上我们的配置就做好了,可以生成我们需要的页面了。
C:/desktop/demo/demo.json。点击 生成pbit 按钮,片刻后就能看到 pbit 创建成功的提示。

在我们 pbix 文件的同目录下会创建一个 pbix 名称关键字文件夹。

打开文件夹下的 pbit 文件,确认加载,可以看到我们的页面已经从最开始的只有一个空白页,到现在符合我们配置的页面创建成功了。

注意其中标注数字的 5 处变化:
同时关注 RLS, 在建模->通过以下身份查看->可以看到我们多了一个 rls 角色。我们拉一个和我们配置文件中 RLS 权限相关的维度矩阵。

当我们点击确认后,可以发现和我们配置的 RLS 是一致的。

还有包括页面权限等,请观看我们的演示视频。
在 pbixA 2 pbixB 页面,这里的 2 表示 to 的意思。
我们把前面的 pbit 文件保存为 A.pbix,新建了一个 B.pbix 文件,没有任何度量值。

选择对应的 A.pbix 和 B.pbix,点击加载数据

稍等片刻后,可以看到一个多行编辑的弹窗,在这里我们选择需要导入到 B.pbix 度量值,并选择好度量值表,点击提交。

可以看到提示,在 B.pbix 的同目录下,生成了一个 B.pbit 的文件。

打开 B.pbit,可以开电脑我们前面导入的度量值都进来了。这样我们从 pbixA 到 pbixB 的度量值就导入好了。
我们看到有黄色叹号,这是因为我们的 B.pbix 中并没有我们 A.pbix 中的表,所以在使用导入功能前,一定要搞清楚这些度量值导入后是否有意义。

在 pbix 2 DAX 页面中,我们选择对应的 pbix 文件和对应的文件夹;点击按钮 导出DAX。

我们打开提示的路径,就可以看到导出的度量值了。


导出的度量值中,名称中有一个分隔符 ][ 分隔符前是存放度量值的表,分隔符之后是度量值名称。 在导出的度量值中,最前面的注释是后续导入需要的,请不要随意删除。
DAX 2 pbix 和 pbix 2 DAX 就是一个逆向的过程。
首先需要读取到导入的 pbix 文件,目的是拿到对应的度量值表,读取完成后,可以选择对应的度量值表。
选择上述导出的度量值文件夹,点击 导入DAX。

可以看到提示消息,在我们需要导入的 C.pbix 文件的同目录下,创建了一个 C.pbit 文件。打开查看,可以看到文件夹里面的度量值都导入进来了,和前面 pbixA 2 pbixB一样,我们看到有黄色叹号,这是因为我们的 C.pbix 中并没有我们 A.pbix 中的表。

在关于页面主要是我们的联系方式、使用文档以及我们的视频课推介,我们做了中文和英文两种语言的显示。可以通过下方语言选择切换。
中文界面显示

英文版界面显示

除非特殊声明,本站文章均为本站原创,转载请务必保留本文链接!
文章标题:165_pbi-utils_文档。