【问题标题】:How to "Sum distinct" with DAX formula based on 3 columns? Microsoft PowerBI如何使用基于 3 列的 DAX 公式“求和”?微软 PowerBI
【发布时间】:2019-03-13 14:45:59
【问题描述】:

我已经为此苦苦挣扎了一段时间,但无法解决。
我在这个小测试数据集中有三列

order_id
代码
权重,我需要从中得到不同的总和

我需要找到一种方法来计算每个 order_id 的每个 codeweightdistinct sum /p>

我尝试过使用类似这样的公式:

Total = SUMX(DISTINCT(data[code]); FIRSTNONBLANK(data[weight]; 0))

但我看不到任何将这个 per order_id 添加到公式中的方法。

任何帮助将不胜感激

提前谢谢你

【问题讨论】:

    标签: powerbi dax powerbi-desktop


    【解决方案1】:

    你快到了。最简单的修改是将您的度量更改为:

    Total = SUMX(DISTINCT(data); FIRSTNONBLANK(data[weight]; 0))
    

    请注意,我传递给SUMX 的表是完整的data 表,而不仅仅是该表的单个列,因此order_id(和weight)是确定是否一行的一部分是不同的。

    如果您有其他列并且只想使用order_idcode 来确定不同的行,那么您可以使用DISTINCT(data) 而不是SUMMARIZE(data, data[order_id], data[code]),它按指定的列分组。

    【讨论】:

    • 感谢您的回答。我想了解更多关于这里发生的事情。你能告诉我为什么需要 FIRSTNONBLANK() 函数吗?
    • 不是必需的。您可以只使用data[weight] 作为SUMX 的第二个参数,但我只保留了这部分代码以专注于我确实更改的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多