PowerBI 详细信息行表达式的实战示例Detail Rows Expression 详细行表达式 细节行表达式
Power BI 插件Tabular Editor的安装和使用
Detail Rows Expression 详细信息行表达式
Detail Rows Expression:细节行表达式是与度量值关联的DAX表表达式,并被调用检索“显示详细信息”功能的表。
详细行表达式能影响或者说控制Power BI中深钻的信息展示。
更重要的是它的另一个用途:详细信息行表达式(Detail Rows Expression)可以定义跨度量使用的表变量。或者也可以说成是可复用的表函数。
当前,①Power BI可以生成计算表,但是计算表一旦生成,就会固定数值,而不会改变,除非重新生成。因此无法使用报表过滤上下文对计算表进行调整。②度量内可以生成表变量,但是其有效范围仅在单个度量值内,无法被其他度量值使用。
因此,对于想要用到跨度量使用的表变量,或者说是可复用的表函数目前只能通过Detail Rows Expression 详细信息行表达式来实现。
一、定义跨度量使用的表变量、可复用的表函数
细节行表达式(Detail Rows Expression)可以定义表变量。
详细行信息表达式可以通过把表定义为度量值,使得多度量对同一个表过滤的复用成为可能
场景①
当需要对某段自定义的日期进行几十个度量值的计算时,特别是自定义日期也能随时变化时,对于普通的度量内部,我们需要创建几十个度量内日期变量,每个度量均类似于以下公式:
假若自定义日期是:2024-04-02~2024-05-28,对于利润的自定义日期利润
实际的计算公式为:
自定义日期利润=
VAR dateFilter =
FILTER (
ALL ( '日期表' ),
'日期表'[Date] >= DATE ( 2024, 4, 2 )
&& '日期表'[Date] <= DATE ( 2024, 5, 28 )
)
RETURN
CALCULATE (
[利润],
dateFilter
)
度量内的dateFilter,就是一个表变量,但它不能被跨度量使用。
对于自定义日期单量,自定