如何对一个月内的多个值应用相同的计算?

问题描述 投票:0回答:1

假设我的 Power BI 报告中有一个表格,如下所示:

Date       |Month |Offer |Customers |Spend
-----------|------|------|----------|------
2024-01-01 |1     |A     |100,000   |10,000
2024-01-02 |1     |A     |100,000   |20,000
2024-01-31 |1     |B     |150,000   |15,000
2024-02-01 |2     |B     |150,000   |20,000
2024-02-01 |2     |B     |150,000   |30,000

客户同时收到每个报价,因此在本例中,报价 A 总共发送给 10 万个客户,报价 B 发送给 15 万个客户。

支出是累积的,例如,优惠 B 在 2024 年 2 月 1 日赚了 5,000 英镑(20,000 英镑减去 15,000 英镑)。

我希望我的报告显示每个客户的平均支出,可以按月过滤。例如,如果选择一月,则报告应显示 £0.30。

换句话说,报告应计算出所选月份内每项优惠的每位客户的最大支出,并将它们加在一起。因此,对于一月份,计算结果为:

  • 优惠A:20,000 / 100,000 = 0.20
  • 优惠 B:15,000 / 150,000 = 0.10
  • 0.20 + 0.10 = 0.30

有人知道最好的方法吗?

powerbi dax
1个回答
0
投票

您需要获取当前上下文中唯一的优惠列表,其中包括当月的 qpply 过滤器。

我使用 SUMX 进行迭代并获得该优惠的最大支出/所选月份的客户数量

Average Spend Per Customer = 
SUMX(
    VALUES('Table'[Offer]), 
    VAR CurrentOffer = 'Table'[Offer]
    VAR MaxSpend = CALCULATE(MAX('Table'[Spend]), ALLEXCEPT('Table', 'Table'[Offer]), 'Table'[Month] = SELECTEDVALUE('Table'[Month]))
    VAR CustomerCount = CALCULATE(MAX('Table'[Customers]), ALLEXCEPT('Table', 'Table'[Offer]), 'Table'[Month] = SELECTEDVALUE('Table'[Month]))
    RETURN
        DIVIDE(MaxSpend, CustomerCount, 0)
)

© www.soinside.com 2019 - 2024. All rights reserved.