【问题标题】:Aggregate the last value for child categories with DAX使用 DAX 聚合子类别的最后一个值
【发布时间】:2018-01-22 01:16:58
【问题描述】:

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

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

手头 = CALCULATE(SUMX(Stock,[SOH]),FILTER('Calendar',[Date]

我的数据集是这样的:

现在获取日期

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

这是我需要的样子:

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

任何帮助将不胜感激。

【问题讨论】:

    标签: powerbi dax tabular powerview


    【解决方案1】:

    我通常更喜欢在 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(...) 然后查找每个匹配的最后日期

    ='Stock'[Date] 然后检查此行是否是它可以通过此类别/子类别/大小组合找到的日期最高的行

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

    这是它在 PowerPivot 中的样子:

    我不太确定你希望你的约会显示什么。我刚刚添加了一个采用日期列的 LASTDATE 的度量:

    我希望这会有所帮助!

    【讨论】:

    • 是的,这行得通,感谢您的回复,以及对代码的解释,它真的很有帮助。
    【解决方案2】:

    尝试使用里面的 sumx 按类别和子类别按列分组

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多