Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerBI/SSAS表格:如何进行计算组“;“最近值”;具有多个事实表中的度量值的项?_Powerbi_Powerbi Desktop_Ssas Tabular - Fatal编程技术网

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
    )