
必看!万字长文,带你了解PowerBI窗口函数的所有秘密
前言 在2022年9月左右的更新中,DAX中新增了窗口函数这一个类别,推出了OFFSET、INDEX、WINDOW等窗口函数,并在后续的更新中又新增了新的RANK、ROWNUMBER这两个窗口函数。 窗口函数的出现简化了DAX中原本较复杂的...
前言 在2022年9月左右的更新中,DAX中新增了窗口函数这一个类别,推出了OFFSET、INDEX、WINDOW等窗口函数,并在后续的更新中又新增了新的RANK、ROWNUMBER这两个窗口函数。 窗口函数的出现简化了DAX中原本较复杂的...
在2025年9月份的更新中,PowerBI推出了DAX自定义函数功能,允许用户自行创建函数来实现代码重用或逻辑重用,然后可在任何度量值、计算列、计算表或查询等DAX表达式中进行调用,就像使用DAX语言本身的函数一样。
在PowerBI中并没有类似全局变量的东西,如果想在不同的度量值或计算列、计算表、查询等对象中引用同一段代码,那么就只能是把这段代码在每个计算对象中复制粘贴一份。但这样做的话,如果这段代码要进行修改,那么就要修改所有使用到了这段代码的度量值等计算对象,如果数量比较多,则不利于维护。 幸运的是,PowerBI中虽然没有全局变量,但可以借助 明细行表达式(Detail Rows Expression) 来达到同样效果。
本篇文章将继续介绍新出的跨事务任务流功能的应用案例,本次介绍的是在PowerBI报表中接入AI模型,实现实时对话,不仅可以读取报表的数据,并且还支持与切片器联动、更改AI模型、清除聊天上下文等。
关于数据回写的一个应用,即让用户可以在PowerBI报表中自定义备注信息,这个功能在之前的文章中已经分享过实现方案了,但之前的实现方案需要借助第三方的视觉对象,实现起来较复杂,且自由度和用户体验上还是差了一点。
Fabric用户数据函数其实是一个可以在Fabric上托管和运行的自定义API服务,与Azure Functions有点类似。 借助Fabric用户数据函数,可以轻松的根据自身需求来定制和创建API,并可以和Fabric或微软的其他服务集成,这种将整个生态打通所带来的体验是非常强大的。
PowerBI的计算组是一个很强大的功能,它能够批量更改度量值的计算逻辑,并提供了动态数据格式功能,能够帮助我们实现许多技巧,在某些场景下具有不可代替的作用。而在2025年5月18日的更新中,计算组又迎来了一次增强,新增的选择表达式能够对计算组的计算行为进行更精细的控制。
在2024年10月,PowerBI更新了一个名为“值筛选行为”的功能,目的是为了修复Auto-Exists机制中的Bug。但由于海量的报表已经运行在这个Bug的基础之上,影响范围过大,且Bug的行为相对稳定可重复,已经逐渐演变成了一个特殊的特性,所以官方决定不直接修复这个Bug,而是提供了名为“值筛选行为”的功能来间接修复。
在前面介绍自动匹配原理的文章中,有提到Auto-Exists机制本身就存在Bug,那么本篇文章就来探讨一下这个问题,而这个问题其实就是对度量值所处的计值环境的研究。
在PowerBI的高级容量工作区中(Premium),可以通过XMLA终结点来连接到工作区中的各个数据集,可以触发数据集刷新,查询或更改数据集的模型数据、元数据、事件和架构等等,可以配合许多第三方客户端应用程序或工具来使用,如:DAX Studio、Tabular Editor、ALM Toolkit、SSMS、SSAS、Power Shell、Excel等。
在PowerBI中,数据的实时展示是一个很常见的场景,根据不同的需求会有不同的方案,但一般都会允许一定的数据延迟,以减轻数据源的负载。对于那些需要真正实时展示一些时间敏感型数据的场景,可以使用具有实时流式处理功能的流数据集或推送数据集来实现。那么本篇文章介绍的就是推送数据集的应用。
在PowerBI中,数据的实时展示是一个很常见的场景,根据不同的需求会有不同的方案,但一般都会允许一定的数据延迟,以减轻数据源的负载。对于那些需要真正实时展示一些时间敏感型数据的场景,可以使用具有实时流式处理功能的流数据集或推送数据集来实现。那么本篇文章介绍的就是流数据集的应用。
PowerBI的引擎继承自SSAS,所以可以将PowerBI的模型迁移至SSAS中,本篇文章将介绍迁移PowerBI模型到SSAS里的方法。 在进行迁移之前,需要安装以下软件或工具: - SQL Server - SQL Server Analysis Server (SSAS) - SQL Server Management Studio (SSMS) - Visual Studio - PowerBI Desktop - DAX Studio - Tabular Editor
在PowerBI中,当某个字段作为图表的轴时,默认会对该字段进行分组去重,即作为轴的字段的值并不会出现重复。该默认行为可以适应大多数的场景,但在一些特殊场景中则需要更改该默认行为,使轴上出现重复值,此时就需要用到行标签功能。比如该场景:“不同人的姓名可能会重复,如果出现重复姓名,仍需要在轴上显示多个相同的姓名。”
在PowerBI中,字段的顺序默认是按字母顺序或拼音的顺序来排列的,因此对字段进行排序的结果有可能并不是想要的顺序。那么这时候,可以通过按列排序功能来自定义字段的排序,但需要注意按列排序功能带来的副作用,或者说特性吧。
本篇文章将介绍如何从Power BI报表中实现自定义备注信息的回传与实时显示,从而方便用户对报表内容进行反馈与评论。 在Power BI报表中回传数据到数据源中并不是一件简单的事情,之前已知的方案中都具有不少的问题,要么技术门槛较高比较难以实现,要么用户体验不佳
报表的访问权限管理不仅仅只是添加或删除用户对报表的访问权限,还需要维护可访问用户的名单,以便在报表被意外删除或需要进行迁移时,能够快速且完整的恢复用户的访问权限。 虽然采用手工维护的方式也可以达到同样效果,但工作区中报表数量较多的话,维护起来肯定是非常不方便的,因此本篇文章将介绍使用PowerBI REST API的方案来自动化获取与更新工作区中各报表的可访问用户名单。
在开发PowerBI报表时,由于用户的需求变更或其它原因,通常会保存很多的版本,以方便备份和回滚操作,而这通常是以复制PBIX文件并在文件名上添加版本后缀的方式来保存多版本的。但随着文件版本的增加,以及时间的流逝,几乎不可能回想起每个版本的具体情况,因此还要手工维护一个版本说明的文件,非常的不方便。
在PowerBI Server中刷新数据集的方式有许多,比如手动按需刷新、计划刷新、调用REST API进行刷新等等,但除了这些常见的刷新方式之外,其实还隐藏着一种OneDrive刷新。当报表不是从PowerBI Desktop发布,而是从OneDrive或SharePoint中上传到PowerBI Server时,将出现OneDrive刷新的选项,如下图所示。
PowerBI Server上提供的计划刷新功能很方便,但也有一定的限制,比如刷新次数最大为每天48次,而这还是需要Premium许可的情况下才拥有的刷新次数,如果只是Pro许可,那么刷新次数就只有每天8次。此外,计划刷新时是刷新整个数据集的,此时可能只是部分表的数据有变化,但仍然刷新了所有表,增加了不必要的刷新时间。虽然有这些限制,但一般来说,计划刷新功能已经足够使用。
Operation don't support