【问题标题】:Calculate cost movement based on month and month slicer selection in Power BI根据 Power BI 中的月份和月份切片器选择计算成本变动
【发布时间】:2021-10-28 06:16:45
【问题描述】:

我想计算成本变动,但问题是当设置相对月份切片器时,最小日期的基本成本应为 2021-01 月的 1.27 英镑。此基本成本用于将所有其他月份除以 2021-08 的最大月份。 例如,从 2021 年 1 月到 2021 年 2 月的变动是 1.25 英镑除以 1.27 英镑 = 99%,另一个例子是从 2021 年 1 月到 2021 年 2 月的变动是 1.25 英镑除以 1.27 英镑 = 99% 2021 年 1 月至 2021 年 3 月为 1.27 英镑除以 1.27 英镑 = 100%,依此类推,直到 2021 年 1 月至 2021 年 8 月的变动为 1.26 英镑除以 1.27 英镑 = 99.2%。如何在 Power BI (dax) 中计算此逻辑。

在excel中比较简单,如下图:

这可以实现吗?

【问题讨论】:

    标签: powerbi dax powerquery


    【解决方案1】:

    我们需要使用 min 和 ALLSELECTED 计算第一个 dateInScoop。然后我们可以计算出可见独家新闻中的第一个成本是多少。最后一部分很简单。我们可以这样做:

    movement = 
    var __FirstDateInScoope = CALCULATE( min(Movment[Month]), ALLSELECTED(Movment) )
    var __FirstCost = CALCULATE( sum(Movment[Cost]), TREATAS( {__FirstDateInScoope}, Movment[Month]), ALLSELECTED(Movment))
    var __CurrentCost = CALCULATE(sum(Movment[Cost]))
    
    return DIVIDE(__CurrentCost, __FirstCost)
    

    【讨论】:

    • 我收到错误消息,指出“无法确定移动的单个值。当度量公式引用包含许多值的列而未指定聚合(例如 min、max、计数或求和以获得单个结果。”
    • 您确定您正确更改了表/列名称吗?我已经在测试 pbi 中检查了这个措施,并且工作正常(检查我的更新 - 屏幕截图)。
    • Month 来自 DateTable,Cost 来自 FactTable,因此应该使用两个表来计算移动。
    • 我假设您在这些表之间存在关系。然后将 Movment[Month] 更改为 DateTable[Month] 并将 Movment[Cost] 更改为 FactTable[Cost]
    • 没有移动表。您在屏幕截图中看到的运动是一种衡量标准
    猜你喜欢
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多