使用DAX

时间:2018-01-22 01:16:59

标签: powerbi dax tabular powerview

我需要在选定日期汇总库存的值,这些值需要汇总为2个或更多类别。

以下度量为我提供了最低级别项目的现有值,但是当它汇总到子类别或类别级别时,它会汇总所有值,而不是每个子项目的LASTNONBLANK。

On Hand = CALCULATE(SUMX(股票,[SOH]),过滤器('日历',[日期]< = LASTNONBLANK('日历' [日期] ,SUM(股份[SOH]))))

我的数据集与此类似:

stock table

现在获取最后一个SOH值,其中date< = 2017年12月10日适用于我的度量,结果如下。

Query 1

只要我需要通过删除“大小”列来汇总聚合,总和就不再按预期工作了。

这就是我需要的样子:

result 2

类似于我需要类别级别来汇总最低级别项目的所有LASTNONBLANK值,如下所示:

results 4

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

我通常更喜欢在DAX中使用度量而不是计算列,但是,因为相关的SOH值依赖于最低级别的比较,所以我会添加计算列。

Latest SOH:=
    if(
        CALCULATE(
            LASTDATE('Stock'[Date]),
            ALLEXCEPT('Stock',Stock[Category],Stock[Sub Category],Stock[Size])
            )=Stock[Date],
       'Stock'[SOH],
       BLANK()
       )

从中间开始锻炼: -

ALLEXCEPT(...)查看表中所有条目,类别,子类别和大小的值相同

CALCULATE(...)然后找到匹配的每个最后日期

='股票'[日期]然后检查此行是否是具有此类别/子类别/大小组合可以找到的最高日期的行

如果值匹配,则接通SOH的值,否则将单元格留空。

以下是PowerPivot中的内容:

PowerPivot view of table

我不太确定你想要的日期显示。我刚刚添加了一个采用日期列的最后一天的度量:

Results summarised to size

Results summarised to sub category

我希望这有帮助!

答案 1 :(得分:0)

尝试使用sumx inside

按列Category和Subcategory进行分组

GROUPBY(
类别,
子类别,
“SOH”,SUMX(表达式)