PowerBI/SSAS表格:如何进行计算组“;“最近值”;具有多个事实表中的度量值的项?
要获取度量值的最新值,通常需要执行以下操作:PowerBI/SSAS表格:如何进行计算组“;“最近值”;具有多个事实表中的度量值的项?,powerbi,powerbi-desktop,ssas-tabular,Powerbi,Powerbi Desktop,Ssas Tabular,要获取度量值的最新值,通常需要执行以下操作: Sales Total := sum(SalesFact[SalesAmount]) Sales Current := var mostrecent = max(SalesFact[Date]) return calculate( [Sales Total], SalesFact[Date] = mostrecent 我的模型有多个事实表,比如SalesFact和OrdersFact。因此,[Orders Current]将返回
Sales Total := sum(SalesFact[SalesAmount])
Sales Current :=
var mostrecent = max(SalesFact[Date])
return
calculate(
[Sales Total],
SalesFact[Date] = mostrecent
我的模型有多个事实表,比如SalesFact和OrdersFact。因此,[Orders Current]将返回date=max(OrdersFact[date])的值
我想让这个逻辑变得通用,并把它放到一个计算组中
问题:如何通用地实现“最近日期”部分?SalesFact的最近日期不必与OrdersFact的最近日期相同
我不能使用日历表中的“最长日期”,因为日历要追溯到遥远的未来
我不知道该尝试什么-如何让计算项从相关的表中查找最近的日期?我强烈怀疑这是否可以像您希望的那样干净地执行,因为度量通常并不与特定的表相关联(它可以位于一个表上,并在其定义中引用零到任意多个其他表)。因此,解决方法是设置显式映射。例如
MeasureMaxDate =
SWITCH (
SELECTEDMEASURENAME (),
"Sales Total", MAX ( SalesFact[Date] ),
"Orders Total", MAX ( OrdersFact[Date] )
)
你如何决定哪个是相关的表?我的意思是,这是我的问题。当前订单需要订单表中的最大数据,而当前销售需要销售表中的最大日期。当一次测量一个“当前值”时,这很简单。我想问一种用代码表示的方法“selectedmeasure()正在对表中的最大日期进行求和”。:)是的,我正在寻找一种比if-then(可维护性)更好的方法。但如果这是唯一的方法,那就是唯一的方法。谢谢!)
Current Sales :=
VAR mostrecent = [MeasureMaxDate]
RETURN
CALCULATE (
SELECTEDMEASURE (),
DateTable[Date] = mostrecent
)