分组总和的平均值

时间:2018-06-20 14:53:56

标签: powerbi dax

我正在寻求创建一个度量,该度量采用ID分组的多个总和的平均值。例如,如果您有一个客户数据库,每个客户都购买了各种各样的东西,并且想要找到客户花费的总金额(按客户分组),那么他们对所有购买的总金额进行平均,然后对结果求平均。

我已经考虑了按表分组,但是如果这样做,筛选器将无法正确应用于结果(除非可以在Power BI中创建两者之间的关系的方法,但是我没有发现该功能)。

有没有办法制定这项措施?

编辑:对表格和目标的更简洁的解释:

输入表

CustomerID | Total Transaction Amount | Payment Type
-----------|--------------------------|-------------
1          | 10.00                    | Card
1          |  5.00                    | Cash
2          |  5.00                    | Cash

输出值

平均客户支出:10.00
(客户1总共花了15 + 10,而客户5总共花了5 +)

用户点击交易类型下的现金过滤器:
平均客户支出更新为:5.00
(客户1总共花了5现金,客户2总共花了5现金)

1 个答案:

答案 0 :(得分:2)

我建议按Transactions总结您的CustomerID表分组,然后对该表进行平均,如下所示:

AverageCustomerSpend =
    AVERAGEX(
        SUMMARIZE(Transactions,
            Transactions[CustomerID],
            "Total Spent", SUM(Transactions[Amount])),
        [Total Spent])

此语法表示我们正在汇总Transaction上的CustomerID表分组,并定义一个新列[Total Spent],该列由与该CustomerID相对应的所有金额的总和定义。然后将该表放入AVERAGEX函数中,该函数遍历刚创建的表中的每一行并平均[Total Spent]列。