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函数使用量分析的更多相关文章

  1. 155_模型_Power BI & Power Pivot 进销存之安全库存

    155_模型_Power BI & Power Pivot 进销存之安全库存 一.背景 谈进销存的概念时,我们也需要提及另外一个概念:安全库存. 库存周转在理想的状态下是做到零库存,但是在内部 ...

  2. Microsoft宣布为Power BI提供AI模型构建器,关键驱动程序分析和Azure机器学习集成

    微软的Power BI现在是一种正在大量结合人工智能(AI)的商业分析服务,它使用户无需编码经验或深厚的技术专长就能够创建报告,仪表板等.近日西雅图公司宣布推出几款新的AI功能,包括图像识别和文本分析 ...

  3. .NET平台开源项目速览(19)Power BI神器DAX Studio

    PowerBI更新频繁,已经有点更不上的节奏,一直在关注和学习中,基本的一些操作大概是没问题,更重要的是注重Power Query,M函数,以及DAX的使用,这才是核心.   上个月研究了DAX的一些 ...

  4. 小目标 | DAX高级实践-Power BI与Excel联合应用

    · 适用人群:数据分析专业人士,在数据分析方向需求发展人士 · 应用场景:数据汇报.数据可视化展现.数据建模分析 · 掌握难度:★★★★☆ 本期讲师 DAX高级实践-Power BI与Excel联合应 ...

  5. 2019微软Power BI 每月功能更新系列——3月Power BI 新功能学习

    Power BI3月产品功能更新发布啦!本次新功能新增了热图和单选切片器:完善了新的DAX功能和对现有功能的改进(例如按钮和选择窗格):同时官方表示建模视图的全面改进也正在进行中~Woo~那么,本月更 ...

  6. 2018 ,请领取您Power BI 年终报告

    Power BI365 3Jan 2019 新年已至,岁寒温暖! 为方便Power BI用户们能快速找到所需要的Power BI各类型文章,小悦将2018年Power BI的所有精彩文章按照各应用场景 ...

  7. 您应该将报表从Excel转换为Power BI的8个原因

    传统上,Microsoft Excel是企业的首选报告工具,但Power BI为企业提供了强大的分析和报告功能.通过快速实验可视化,广泛数据集的统计功能和计算,以及快速重组字段动态获得答案的能力,很明 ...

  8. Power BI免费版(Free),专业版(Pro)以及增值版(Premium)授权功能对比, Server

    Features of Power BI Report Server and the Power BI service Features Power BI Report Server Power BI ...

  9. 123_Power Pivot&Power BI DAX函数说明速查

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 说明 1.基于DAX Studio 2.9.2版本导出整理: 2.DAX Studio网站,及时更新下载,DAX学习利器: ...

随机推荐

  1. 超声波模块HC-SR04简介以及编程

    HC-SR04 一.主要参数1:使用电压:DC-5V2:静态电流:小于2mA3:电平输出:高5V4:电平输出:底0V5:感应角度:不大于15度6:探测距离:2cm-450cm7:高精度 可达0.2cm ...

  2. C++ | 动多态的发生时机

    探究动多态的发生时机 有了虚函数和虚函数表为动多态提供支持,从而可以实现C++语言的动多态.那么,问题又来了. 动多态的发生时机是什么? 或者说,动多态发生有哪些条件与限制呢? 下面让我们一起来探究动 ...

  3. PCB产业链、材料、工艺流程详解(1)

    PCB知识大全 1.什么是pcb,用来干什么? PCB( Printed Circuit Board),中文名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连 ...

  4. gulp详细基础教程

    一.gulp简介 1.gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成: ...

  5. 原生ES6写的Web游戏:ES6-Mario,小美女,小帅哥快来玩啊~~

    ? ES6-Mario 这是一个用原生ES6语法和HTML5新特性写成的Web 游戏. 通过这个项目,你可以在实践中对ES6的主要内容.HTML Canvas 相关API以及Webpack的基础配置有 ...

  6. tomcat启动报错:A child container failed during start

    环境:maven3.3.9+jdk1.8+tomcat8.5 错误详细描述: 严重: A child container failed during start java.util.concurren ...

  7. Hadoop伪分布式集群实现SSH免密登录

    在启动Hadoop时候报了这样一个错误: Starting namenodes on [hadoop] hadoop: (Permission denied (publickey,gssapi-key ...

  8. VMware workstation16 许可证

    ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2UT6 ZF71R-DMX85-08DQY-8YMNC-PPHV8 若资金允许,请购买正 ...

  9. 深入理解nodejs的异步IO与事件模块机制

    node为什么要使用异步I/O 异步I/O的技术方案:轮询技术 node的异步I/O nodejs事件环 一.node为什么要使用异步I/O 异步最先诞生于操作系统的底层,在底层系统中,异步通过信号量 ...

  10. python---插入排序的实现

    插入排序 思想 ​ 列表被分为有序区和无序区两个部分, 最初有序区只有一个元素, 每次从无序区选择一个元素, 插入到有序区的位置, 直到无序区变空 import random from cal_tim ...