随着 PowerBI 在2020.7月的发布,迎来一个重要的功能:计算组(Caculation Group)。 我们会用几个篇幅从基础到高级来给出计算组的所有使用方式和内幕,供大家使用。...下面给出在 PowerBI 中的实践方式。 开启 PowerBI 的增强元数据 确保下载了最新版的 PowerBI 桌面版。...下载地址: https://aka.ms/pbiSingleInstaller 在 PowerBI 的预览功能中开启: ?...将更改保存至 DAX 引擎 将鼠标移动到这些新建立的项目上,可以看到: ? 含义是:表达式已经改变,需要发布。 点击: ? 含义是:将更改保存至已经连接的数据库(也就是 DAX 引擎)。...将这个内容复制到 DAX Studio 中查看,如下: ? 以及: ? 可以看到其实这里完成了两个对 DAX 引擎的查询, 第一个返回了排序规则,这与我们当时建立的规则一致。 第二个返回了实际数据。
现给出结论:在DAX中不存在真正的SUM。...真正的原因在于:在DAX中,是不存在SUM的,任何的SUM在计算时都会转化成SUMX。...回到这个问题来看,这里确实不会忽略行上下文,而是将SUM转换成了SUMX,并进入SUMX进行计算,而SUMX将创建新的迭代过程,在表中逐行迭代,进而得到了整列的聚合结果。...而真实的情况是:DAX中没有真正的MAX,所有的MAX在实际都会转换为MAXX,也就是MAX(T[C])的本质是MAXX(T,T[C]),因此在第10行到第11行,MAX ( DimDates[Date...C语言经过了编译器才转换为二进制代码得到执行;在DAX中,类似的是DAX表达式会被转换成对DAX引擎的查询计划才会被执行。
新加入 DAX 函数 - CONVERT 该函数用来转换数据类型,例如可以把文本转换为数字。...小技巧,你可以故意犯错,然后得到: 这样你可以再次清晰地看到在 DAX 中只有6种最基本的数据类型,这比 Excel 还简单。...可以导出数据质量数据 在查询编辑器中,有几个地方可以监测数据质量,如下: 导出为: 导出为: 导出为: 导出为: Google 分析模板 如果你在使用Google分析,那可以接入数据并直接使用内置模板,.../ DirectQuery 模式查询性能改进 DirectQuery 将 DAX 直接转译为 SQL 并将查询下压到 数据源 完成 SQL 查询,这就涉及到 DAX 到 SQL 的翻译能力,显然增强了。...总结 综上,我们可以看出本月最大特色在于: 主题的改进 自定义格式化字符串 DAX 驱动的可视化 新的 DAX 函数 罗叔已经将微软官方内容(视频,声音,字幕,安装程序,示例文件)全部整理并发布到会员星球专区
不好意思,一不小心又替微软发明一个新词【DAX驱动可视化】,我们今天会来演示如果用这个思想构建PowerBI多语言系统。...DAX 引擎版本在本月已经升级到1465,值得一提的是SSAS 2017的版本是1400,也就是说 Power BI Desktop 中总会运行最新的引擎版本。...可视化元素标题支持DAX表达式 我们可以使用DAX表达式来动态设置标题。例如微软给出的案例: PowerBI 界面多语言实现方案 让我们来实现一个酷炫的商业场景吧。...解决跨报告钻取无法返回 - 按钮导航 只能靠手工修复这个问题了,方法是: 将找到主页的URL 在子报告加一个按钮,并设置动作为URL 使用度量值赋予动态性 这同时利用了本月更新的功能,如下: 这个Web...多年前,我们就提取了M的所有内置文档解释,如下: M 语言的文档已经大部分内置在引擎的元数据中,可以直接提取参考。
在PowerBI中对主题已经有了可以完全自定义的支持方案,但还未推出非常易用的表现使用方式,如:允许用户通过点击鼠标来设置主题,效果可以想象为: 注意,这是想象的(ZebraBI的界面)。...Q&A支持RLS RLS以正式发布,在此前的文章以详细说明过基于RLS在PowerBI中实现动态权限控制的终极方案,为了让该方案更加终极完美,我们将提供关于 【动态权限控制的专题剧场版】套件发布。...只可惜这个只能感知还有很大的提升空间,它只能在打开高级编辑后才可以使用,不能在公式栏使用比较遗憾,在这方面,已经有很多人立即反馈给微软了,希望在接下来的更新中可以有更好的补充。...这句话道破了整套PowerBI查询优化的本质。在传统的多维数据模型Cube中,这又叫 预计算。在实际中,这是非常可行的,因为我们的客户是几乎完全在我们的预期下工作的。...另外,在微软的 Microsoft Hackathon 项目类中,鼓励为PowerBI添加更多办公特性,相信一大批好的特性将在未来进一步完善PowerBI,我希望是完善在报表层和逻辑层的特性以减少对DAX
我们准备写一下 PowerBI DAX 中对度量值的管理方式,通常大家可以看到的方式就是建立文件夹或放置在不同的表下面,这些都很重要,但也许你仅仅只是知道能和不能,但你可能根本不知道,能以后,怎么做才是更高效的好...符号等)使用大写英文字母,如: SUMX 【必】DAX 表达式中的函数与符号之间使用空格进行分隔,如: Sales = SUM( Order[Value] ) 【必】DAX 表达式中函数的开始括号与函数名称之前不使用空格...在 DAX 中,什么时候可以使用名称空间呢? 例如,如果某个部分是来自 ZM 设计编写的度量值,可以用 @ZM: 作为前缀,表示有锅找他。...这样,由于作者重名的可能性很低,将这一批度量值导入到自己的 PowerBI 中,就可以了。这就要归功于命名空间的使用了。...可以看到,上述 Z 曲线模块的案例,有一个文件夹叫:DependOn,这里将 Z 曲线模块所依赖的所有项目统一罗列,在将这个模块移植到 PowerBI 时,可以检查这里,如下: ?
中,如果你愿意,理论上你也可以成为这样一种神一样的存在: 虽然 PowerBI 并不是为这样的目的而设计的,但 2018年12月 的更新,却支持在PowerBI 下,无鼠标操作,这就是全键盘可访问性...另外,在很多细节方面得到了改进。例如:按钮的自定义工具提示以及DAX公式栏的空间扩展。...更多内容在本月更新的视频讲解中描述。至此,如果你可以不断操练,相信可以成为那种不使用鼠标而在PowerBI各功能区域切换的神一样的存在。配合驾驭DAX编写,更加畅快淋漓。...设置Tab的顺序 在上述的第一位置,我们可以通过使用 Tab 键切换当前选择的视觉对象,而且可以指定这些视觉对象在切换中的顺序。...可以将作为装饰用的元素从切换队列中移除,以便可以在实际的视觉对象之间切换。
在 PowerBI 中,由于已经存在数据模型,数据模型是一个天然的已经建立了关系的表结构,因此,一个经典的DAX查询,基本是从第三步进行: ADDCOLUMNS( SUMMARIZE( 模型表 , 用来分组的列...将 矩阵 叫做 交叉表 未尝不可,因为从字面意思可以看出行列交叉处产生运算。 在 PowerBI 中的难度在于,需要综合考虑格式,颜色,汇总等,导致它成了一件很复杂的事。...构造标题行,本例中,使用 DAX 动态构造出标题行: 本例中,故意做了小计行和总计行以展示处理它们的能力。...构造计算,本例中,使用 DAX 动态完成在行列交叉处的计算: 这是最核心的步骤,这里采用Excel120此前提出的非侵入式设计模式,动态计算出行列交叉处的值。以示例文件为准。...复杂矩阵制作第二阶段:格式设置阶段 由于这里只能使用一个度量值,你会立马好奇:一个度量值怎么智能地知道该显示文本,数字,还是百分比呢?答案是当然不可能。 在本例中,已经将可能地变化做到了极致。
在入门案例动态销售报告中已经带领大家入门制作PowerBI可视化报告。本文主题销售业绩分析将继续针对入门案例进行进一步优化,让大家更改的了解和掌握使用PowerBI的功能。...将Excel文件导入PowerBI并标记为日期表,勾选标记为日期表即可正常使用 ? ...小结:使用DAX函数创建日期表最大的好处不用外置表格,不用担心文件路径发生改变。这里只是展现了PowerBI DAX函数创建日期表的两种方式。...3.2使用List.Dates函数构建日期列表,该函数有三个参数分别是:起始日期,日期天数,日期间隔 ? 3.3添加日期字段列 将列表转换为表格,点击确定。...当然也有部分企业财年和自然年并不重合,所以可以使用第四个参数指定财年的最后日期。在PowerBI中还有一个类似的函数TOTALMTD用来计算月度累计值。 ?
在 PowerBI 中确实存在一些痛点,解决的方法大致有两个: DAX 驱动可视化 叠图技巧 在实践中,我们常常将这两个技巧结合使用,以基于 PowerBI 原生可视化元素来构建尽可能丰富的效果。...关于 DAX 驱动可视化,在前文中已经有介绍,这个我们就不再展开了。本文重点来说明结合 DAX 驱动可视化 与 叠图法 在 PowerBI 中的使用。...这里并没有用 DAX 驱动可视化,而是通过条件格式设置,如下: ? 这里设置颜色也是有技巧的,如下: ? 这样,0就成为了界限,小于0就会是红色;大于等于0就会是绿色。...DAX 驱动可视化 由于本文建立在坚实的 MVC 理论基础上,可以参考:(以后再看) PowerBI DAX MVC 设计模式 导论 PowerBI DAX MVC 设计模式 导论 续 - 案例:竞争交叉分析...总结 本文主要讲解了一个几乎是 PowerBI 作图中最重要课题,通过叠图法以及 DAX 驱动可视化就可以将 PowerBI 原生视觉元素的能力发挥到极限,发挥到充要极限: 如果某个图是 PowerBI
可使用滑块调整参考日期。效果如下: Tableau 表达式: 以及: 在 PowerBI 中,模拟类似的需求,实现选定任意时间点,显示不同时间相对于该时间的销售额的增长率。...,在 Tableau 和 PowerBI 两者中都并非真正的递归,在 PowerBI DAX 中是不支持真正递归的,当然在这种案例中也不用使用真正的递归。...这里,我们使用 Superstore 销售数据进行加权平均: 在 PowerBI 中,模拟类似的需求,实现按子类别销售额利润率加权来计算类别的平均销售额,效果如下: PowerBI DAX 表达式可以直接由快速度量值给出...在 Tableau 6 中,可以计算整个时间窗口的平均值,并在计算中使用该值对各值进行分组和配色。...在 Tableau 中的主要设置和计算如下: 在 PowerBI 中,模拟类似的需求,效果如下: PowerBI DAX 表达式如下: 虽然是达到同样的效果,在 PowerBI DAX 中却要理解上下文转换以及取消外部筛选等高级的
低效率的DAX会减慢处理速度,阻塞高级容量,增加等待时间,并妨碍刷新和报告加载时间。 在优化DAX之前清除DAX缓存 缓存由内部VertiPaq查询产生。 从DAX Studio中清除缓存。...格式化代码 使用DAX Formatter。 格式化的代码更易于阅读和维护。 不要将BLANK值更改为零或其他字符串 通常的做法是用零或其他字符串替换空格。...Rows]; Ratio = IF(totalRows > 10, SUM(Revenue) / totalRows,0) 您可以将结果度量值存储在变量中,而不必多次计算相同的表达式。...根据列值使用正确的数据类型 如果一列中只有两个不同的值,请检查是否可以将其转换为布尔数据类型(真/假)。 当您有大量的行时,这可以加快处理速度。...它不考虑表的任何列中包含的空白。 公式的意图更加清晰和自我描述。 将SEARCH()与最后一个参数一起使用 如果未找到搜索字符串,则SEARCH()DAX函数接受最后一个参数作为查询必须 返回的值。
数学函数系列 数学函数系列,顾名思义,是一些我们在学生时代经常使用的数学算法在PowerBI中的应用。 同样,本期的内容与上期的三角函数差不多,可以作为查询使用。...语法: DAX=ODD() POWER 返回乘幂的结果。 语法: DAX=POWER(, ) PRODUCT 返回列中数的乘积。...语法: DAX=RANDBETWEEN(,) ROUND 将数值舍到指定位数。 语法: DAX=ROUND(, ) ROUNDDOWN 将数值向下舍入到指定位数。...语法: DAX=ROUNDDOWN(, ) ROUNDUP 将数值向上舍入到指定位数。 语法: DAX=ROUNDUP(, ) SIGN 根据值返回1、0、-1。...白茶会不定期的分享一些函数卡片 (文件在知识星球[PowerBI丨需求圈]) 这里是白茶,一个PowerBI的初学者。
在 PowerBI Desktop 中操作 DAX 时隐藏着很多快捷键秘密,知道的人很少,本文将其整理如下,祝你提升效率100倍。...在将复杂公式进行多步运算而使用VAR时,可以使用该快捷键来跟随自己的思路建立VAR的行。...逐个查找替换 我们知道在 DAX 中,复用 DAX 代码的方式有一定局限,例如:某公式在多处涉及”销售 销售额“字样,我们建立类似的度量值,唯一的不同在于将”销售 销售额“改为”销售 利润“,那么可以如何操作呢...快捷键:Ctrl + Shift + L 效果如下: 由于在该公式的四处出现的”销售额“可以替换为”利润“,因此使用本快捷键以辅助快速完成编辑。...总结 通过本文,我们可以知道 PowerBI 的编辑器似乎提供了很多的隐藏功能,还需要大家一起来发现。充分使用快捷键可以极大地释放编写 DAX 的生产力。
Table(dim 或 fact),首先需要纠正一个概念,在PowerBI中是不存在维度表和事实表这种说法的,所有的表之间都是平等的关系,但也许有人(传统IT)习惯使用维度表或事实表的概念便于理解,但真实情况并非如此...你在惊讶,这没PowerBI什么事啊,没错,确实没PowerBI什么事,因为复杂性全部被封装了,也是目前为止,PowerBI中能实现相对完美的不多的设计。...首先,看下PowerBI文件的查询结构: 可以看出我们单独设置了权限控制部分的配置表和度量值,来看看权限控制表的实现: 这里对用户的配置,进行了逆透视以及规范化处理,形成了便于在PowerBI中便于使用...如果要说这里算有难度的地方,就是如何把一个透视表,也单元格内含有多项内容的表格,自动转换为原始的规范化表,这由PowerBI的查询编辑完成。...然后,在角色中这样控制权限: 由于这个方案已经将实际的权限控制全部交给配置表动态处理,其实已经不需要利用PowerBI的多角色机制了,只需要一个角色,随便起个名字即可,然后使用刚刚的度量值,分别对应要控制的表放入即可
注意,每次使用时都是不同的,每个人也是不同的。 在 Excel 中连接 PowerBI 打开 Excel,操作如下: ? 可以看到: ?...现在可以直接在 Excel 中连接 PowerBI 的数据模型了,如下: ? 只需要像使用透视表一样使用即可。...在 Excel 中使用 PowerBI 成果 我们可能在 PowerBI 中已经做了很多成果,例如 ABC 分析等。 ?...在 Excel 中使用矩阵 因此,从 PowerBI 中也就不存在导出矩阵了,因为我们可以在 Excel 中直接利用这些成果了,例如: ?...因此: 不需要学习 Power Pivot 在某种意义下; PowerBI 的矩阵不需要导出也可以复用; PowerBI 的数据模型可以在 Excel 中重复利用。
本文除了介绍PowerBI Desktop在2019年6月的更新,其将介绍PowerBI的几件大事。...同步切片器支持层级切片器 不同可视化对象的字体统一 在PowerBI不同地可视化元素中,有的使用磅作为字体单位,有的使用像素作为字体单位,导致字体是不统一的,本次统一为磅。...很多诟病 PowerBI 可视化能力不够强也许是非常短视的看法,从0到1以及从1到完善是需要一个过程的,我们已经可以看到,由于PowerBI的设计学,DAX将作为最为灵活的公式,同时实现建立模型以及控制可视化的职责...认可数据集为已认证 为了可以让数据集在企业中作为标准数据源进行共享,我们需要使用PowerBI管理员在管理门户中进行设置启用数据集的认证,如下: 认证需要在PowerBI管理门户中设置,如下: 再返回某个数据集进行认可设置...将工作区发布为APP 将工作区发布为APP并不是新的功能,很多伙伴并未使用这一功能,而数据集的共享以及导航,使得这个功能更有了现实场景,如下: 为APP设置导航系统 APP的创建者是可以直接设计导航系统的
活的表格,与模型层有关联,可自行修改DAX查询语句获取新的结果 关键中的关键,唯有可变更端口号,才能在下次再打开时复用才能成为真正的可刷新 历史功能导读 Excel催化剂发自内心地热爱着PowerBI...在笔者所从事的企业级商业智能BI的项目开发中,其实很早就已经开发过Excel与SSAS相结合的功能,因其属于企业级的应用范畴,一直没打算将其公开化。...这样的结局,最终让PowerBI社区的群体,第一印象中Excel催化剂是面向Excel群体而存在,而不是PowerBI,甚至也容易面对一些有一点点PowerBI技术小学问的不屑。...这样的事情真是伤透心,可能也因为这样的事情,让笔者再次重新回到PowerBI的战场,认真地重新对其之前的PowerBI功能进行再优化,具体优化范围有: 将原有的DAX编辑区进行改造,现可用于DAX语句自动着色...最后,送上简单的视频演示效果,后续详见的视频录制,将发布到Excel催化剂的视频教程中。
,就已经将Excel与PowerBI黑科技带进了插件中。...向PowerBI数据模型发出DAX查询,即可类似于写SQL语句向关系型数据库查数据一般,将数据模型里的明细数据查询出来。...导出模型层元数据报告 当PowerBI模型越加复杂时,使用PowerBIDeskTop将很难对PowerBI模型有一个总览式的全貌了解。...使用Excel表格清单的方式,将模型层的信息进行呈现,结合筛选排序、查找等功能,将更清晰地对模型层各元数据进行查阅。...使用场景如批量设置度量值的数字显示格式、显示文件夹信息等,在Excel上批量性进行维护将变得更轻松。
微软专门开设立页面板块来说明 PowerBI 在未来的开发路线图。...大家可以关注下这个页面: 可以看到 PowerBI 做为一个体系,微软将发展路线的优先级主体定为三个部分: 这三部分内容在此前不久结束的 PASS 2018 大会中有完整介绍,不妨回顾文章: PowerBI...2018进展与未来规划 饕餮盛宴:微软定义BI未来 新PowerBI全解读 在文章中,PowerBI 教父给出了清晰的 PowerBI 的方向: 目前 PowerBI 实际的状态是: 看来,微软对于...在微软给出的路线图页面中,可以看到: 在未来 12月,PowerBI 将重点实现的内容也很清楚了。...按照在 SSAS 20周年生日的访谈中,意大利老师讲到由于 PowerBI 对 DAX 有一些重要更新还没有发布,所以新书将延后到这些功能发布之后出版。 这里会保持对相关更新的跟进。
领取专属 10元无门槛券
手把手带您无忧上云