PowerBI/SSAS 表格:如何使用来自多个事实表的度量来计算组 "most recent value" 项?
PowerBI/SSAS Tabular: How to do calculation group "most recent value" item with measures from multiple fact tables?
要获取度量的最新值,通常会按照以下方式执行操作:
Sales Total := sum(SalesFact[SalesAmount])
Sales Current :=
var mostrecent = max(SalesFact[Date])
return
calculate(
[Sales Total],
SalesFact[Date] = mostrecent
我的模型有多个事实 tables - 比如说 SalesFact 和 OrdersFact。所以 [Orders Current] 会 return date = max(OrdersFact[Date]).
的值
我想让这个逻辑通用化,并把它放到一个计算组中。
问题:如何通用地实现“最近日期”部分? SalesFact 的最近日期不必与 OrdersFact 的最近日期相同。
我无法使用日历 table 中的最大日期,因为日历是很遥远的未来。
我不知道该尝试什么 - 如何让计算项从 相关 table 中查找最近的日期?
我强烈怀疑这是否可以像您希望的那样干净利落地完成,因为一般情况下,衡量标准与特定 table 本身并不相关(它可以存在于一个 table 和参考零到其定义中的任意多个其他 table)。因此,解决方法是设置显式映射。例如,
MeasureMaxDate =
SWITCH (
SELECTEDMEASURENAME (),
"Sales Total", MAX ( SalesFact[Date] ),
"Orders Total", MAX ( OrdersFact[Date] )
)
Current Sales :=
VAR mostrecent = [MeasureMaxDate]
RETURN
CALCULATE (
SELECTEDMEASURE (),
DateTable[Date] = mostrecent
)
要获取度量的最新值,通常会按照以下方式执行操作:
Sales Total := sum(SalesFact[SalesAmount])
Sales Current :=
var mostrecent = max(SalesFact[Date])
return
calculate(
[Sales Total],
SalesFact[Date] = mostrecent
我的模型有多个事实 tables - 比如说 SalesFact 和 OrdersFact。所以 [Orders Current] 会 return date = max(OrdersFact[Date]).
的值我想让这个逻辑通用化,并把它放到一个计算组中。
问题:如何通用地实现“最近日期”部分? SalesFact 的最近日期不必与 OrdersFact 的最近日期相同。
我无法使用日历 table 中的最大日期,因为日历是很遥远的未来。
我不知道该尝试什么 - 如何让计算项从 相关 table 中查找最近的日期?
我强烈怀疑这是否可以像您希望的那样干净利落地完成,因为一般情况下,衡量标准与特定 table 本身并不相关(它可以存在于一个 table 和参考零到其定义中的任意多个其他 table)。因此,解决方法是设置显式映射。例如,
MeasureMaxDate =
SWITCH (
SELECTEDMEASURENAME (),
"Sales Total", MAX ( SalesFact[Date] ),
"Orders Total", MAX ( OrdersFact[Date] )
)
Current Sales :=
VAR mostrecent = [MeasureMaxDate]
RETURN
CALCULATE (
SELECTEDMEASURE (),
DateTable[Date] = mostrecent
)