151-模型-Power BI&Power Pivot模型DAX函数使用量分析
151-模型-Power BI&Power Pivot模型DAX函数使用量分析
1、背景
我们在 Power BI 或者 Power Pivot 项目中会写很多的 DAX 表达式。在最后项目交付的时候,我们也想看看我们的 DAX 到底写了多少,那么应该怎么去实现呢。
我们先来看看最后的效果。

我们也把文件这个 Power BI 报告发布到了公共的 web 上大家可以通过下面的链接查看。
URL:https://jiaopengzi.com/demos/pbi/151-full.html
上图度量值对应课程:https://jiaopengzi.com/video/video-101
2、模板复用
我们已经把这个度量值 DAX 使用量的分析做成了模板,只需要把你的度量值直接放进去就可以得到属于你的度量值使用量分析报告了。
步骤1
打开你的 Power BI 或者 Power Pivot 模型,使用 DAX Studio 连接上模型。同时在编辑框里面输入:
select * from $SYSTEM.MDSCHEMA_MEASURES

步骤2
输入上述代码后,选择导出文件。

步骤3
点击左上角运行(Run);选择Unicode的类型,导出的数据对中文友好,不乱码。
默认是UTF8类型,这也是很多人在用 DAX Studio 导出数据时,总是中文乱码的原因。

步骤4
导出的csv文件,放在我们的模型的csv文件夹里面,名称随意。
步骤5
打开模型文件,进入到 Power Query 界面,把 Path 参数修改为你自己的路径,最后不需要加上 “\” ,点击关闭并应用。

步骤6
点击刷新,等待片刻后就得到了我们自己度量值 DAX 函数的用量分析了。

3、模板应用结果展示
我们来看看另外两个模型的度量值 DAX 用量分析结果。
Power BI 展示
这个是我们之前文章《Power BI Report Server之某消费品运营数据监控》的示例文件的度量值结果。
这也是一个企业的实际案例,可以看到其实用不了多少 DAX 函数就可以得到一份 Power BI 报告,有兴趣可以根据URL去看原文。
URL:https://jiaopengzi.com/670.html

Power Pivot 展示
我们再来看一个 Power Pivot 的展示结果,这是一个也是综合的案例。由于数据脱敏的原因,后面这个两个文件就不会共享出来。我们只看一下这个度量值的 DAX 用量的分析结果。

4、思路解析
我们想要分析度量值里面的 DAX 函数用量,首先要拿到所有的度量值,这个可以通过 DAX Studio 和 Tabular Editor都可以实现,本案例是用的DAX Studio实现的。
度量值拿到了以后,我们需要对度量值进行分词,起初我是用的Python来分词的,来回倒反而不方便,后来直接用PQ来实现,其中关键的PQ函数就是 Text.SplitAny ,通过分词以后我们就可以拿到度量值里面的所有 DAX 函数了;这就是分析中的事实表。
接下来就是 DAX 分析的维度表,最开始我是用 DAX Studio 导出来所有 DAX 函数,发现其实里面的函数分组有一些问题并且和官方文档的函数分组有差异,索性就放弃了这个方式,直接用PQ去爬去的官方文档。
我们来看看两个分组的区别。

最后维度表拿到了以后,我们就可以直接分析了,当然我们分析就做了一个词云的分析以及使用的数量排名,大家也可以根据自己的需求做更多的分析。
5、总结
- 这个案例的使用主要还是对有相当基础的,初学者不必过多去研究如何做的,直接套用模板使用即可。
- 度量值几乎没有难度,主要是 PQ 对维度表在官方文档的爬去有一定难度。
附件下载:https://jiaopengzi.com/2582.html
by 焦棚子
151-模型-Power BI&Power Pivot模型DAX函数使用量分析的更多相关文章
- 155_模型_Power BI & Power Pivot 进销存之安全库存
155_模型_Power BI & Power Pivot 进销存之安全库存 一.背景 谈进销存的概念时,我们也需要提及另外一个概念:安全库存. 库存周转在理想的状态下是做到零库存,但是在内部 ...
- Microsoft宣布为Power BI提供AI模型构建器,关键驱动程序分析和Azure机器学习集成
微软的Power BI现在是一种正在大量结合人工智能(AI)的商业分析服务,它使用户无需编码经验或深厚的技术专长就能够创建报告,仪表板等.近日西雅图公司宣布推出几款新的AI功能,包括图像识别和文本分析 ...
- .NET平台开源项目速览(19)Power BI神器DAX Studio
PowerBI更新频繁,已经有点更不上的节奏,一直在关注和学习中,基本的一些操作大概是没问题,更重要的是注重Power Query,M函数,以及DAX的使用,这才是核心. 上个月研究了DAX的一些 ...
- 小目标 | DAX高级实践-Power BI与Excel联合应用
· 适用人群:数据分析专业人士,在数据分析方向需求发展人士 · 应用场景:数据汇报.数据可视化展现.数据建模分析 · 掌握难度:★★★★☆ 本期讲师 DAX高级实践-Power BI与Excel联合应 ...
- 2019微软Power BI 每月功能更新系列——3月Power BI 新功能学习
Power BI3月产品功能更新发布啦!本次新功能新增了热图和单选切片器:完善了新的DAX功能和对现有功能的改进(例如按钮和选择窗格):同时官方表示建模视图的全面改进也正在进行中~Woo~那么,本月更 ...
- 2018 ,请领取您Power BI 年终报告
Power BI365 3Jan 2019 新年已至,岁寒温暖! 为方便Power BI用户们能快速找到所需要的Power BI各类型文章,小悦将2018年Power BI的所有精彩文章按照各应用场景 ...
- 您应该将报表从Excel转换为Power BI的8个原因
传统上,Microsoft Excel是企业的首选报告工具,但Power BI为企业提供了强大的分析和报告功能.通过快速实验可视化,广泛数据集的统计功能和计算,以及快速重组字段动态获得答案的能力,很明 ...
- Power BI免费版(Free),专业版(Pro)以及增值版(Premium)授权功能对比, Server
Features of Power BI Report Server and the Power BI service Features Power BI Report Server Power BI ...
- 123_Power Pivot&Power BI DAX函数说明速查
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 说明 1.基于DAX Studio 2.9.2版本导出整理: 2.DAX Studio网站,及时更新下载,DAX学习利器: ...
随机推荐
- React+dva+webpack+antd-mobile 实战分享(二)
第一篇 https://segmentfault.com/a/11... 在上一篇文章中教给大家了怎么搭建项目的架子:那么今天我们就来说一下项目里的导航和列表的实现 导航 废话不说啦 下面直接给大家讲 ...
- 帝国cms 列表页或文章页取当前栏目链接
获取当前栏目链接 : <?=sys_ReturnBqClassUrl($class_r[$GLOBALS[navclassid]]);?>获取当前栏目名称 :[!--class.name- ...
- FastDFS分布式的文件系统从小白入门到企业实践打怪之路系列笔记 【运维实践】
描述: FastDFS 是阿里的余庆大佬用 C 语言编写的一款开源的分布式文件系统(个人项目),它对文件进行管理.功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,适合中小文件(4KB ...
- Java之JDBC详谈(数据库)
详细介绍了数据库的JDBC操作,并且整理了具体方法,有代码实现与详细注释.
- Hyperledger Fabric无系统通道启动及通道的创建和删除
前言 在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织,但目前为止,我们启动 orderer 节点的方式都是通过系统通道的方式,这样自带系 ...
- 2021.08.09 P7238 迷失森林(树的直径)
2021.08.09 P7238 迷失森林(树的直径) P7238 「DCOI」迷失森林 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树的直径两种求法:两次dfs.树 ...
- JavaScript函数中的arguments对象
ECMAScript标准中,每个函数都有一个特殊的内置对象arguments.arguments对象是一个类Array对象(object),用以保存函数接收到的实参副本. 一.内置特性 说它是一个内置 ...
- A标签上使用onclick事件,js函数响应成功,单会刷新当前页面陷阱
BEGIN; 最近在做html页面时,有时候会遇到以前没遇到的各种奇葩问题. 目前要记载的,就是其中之一. 我们在写链接的时候,即A标签,最普通的写法无非是 <a href='http://ww ...
- come on! 基于LinkedHashMap实现LRU缓存
/** * @Description 基于LinkedHashMap实现一个基于'LRU最近最少使用'算法的缓存,并且最多存MAX个值 * @Author afei * @date:2021/4/25 ...
- XCTF练习题---CRYPTO---告诉你个秘密
XCTF练习题---CRYPTO---告诉你个秘密 flag:TONGYUAN 步骤解读: 1.观察题目,下载附件 2.打开附件,内容好像有点像十六进制,先进行一下十六进制转换,得到一串字符 网址:h ...