【问题标题】:DAX Year over Year in line chart折线图中的 DAX 年同比
【发布时间】:2017-06-21 01:23:07
【问题描述】:

我正在尝试编写一个 DAX 表达式来计算折线图中的年同比。问题是我的 DAX 表达式导致一条平线,而不是将其计算为一天的付款金额超过总付款金额。例如在这个例子中,我只尝试显示一个月。当我使用日期列作为我的轴时,它正确显示如下(CRD)。但是当我使用一个代表一天的文本列时,它会显示一条平线。 (我的 CRD Day 代码是 FORMAT([CRD],"dd"))。

我还创建了这两个度量并将它们显示在此表中,这表明它没有使用 TOTAL 支付金额作为分母。

MTD RT % = [MTD Running Total] / [Total Payment Amount]
MTD RT2 % = CALCULATE(SUMX(VALUES(Cash_Goals_Cash_Velocity[CRD]), [MTD Running Total] / [Total Payment Amount]),ALL(Cash_Goals_Cash_Velocity[net_payment_amount]))
MTD Running Total = TOTALMTD(SUM([net_payment_amount]),Cash_Goals_Cash_Velocity[CRD])
Total Payment Amount = CALCULATE(SUM(Cash_Goals_Cash_Velocity[net_payment_amount]),ALL(Cash_Goals_Cash_Velocity[CRD]))

此表如下所示。我究竟做错了什么?如何在 Power BI 中执行此操作?

【问题讨论】:

  • 如果您将[Total Payment Amount] 拖到数值图表中,是否正确显示数值?
  • 是的,它显示的值与 MTD 运行总计相同。因此,“MTD 运行总计”列似乎没有显示运行总计。 “MTD RT %”列似乎正在完成所有正在运行的总工作。
  • 问题是你的累计,它正在评估每个日期的付款金额但不计算累计总额,CashGoalsCashVelocity 是一个日期表吗?注意只能将日期列与 TOTALMTD 函数一起使用,我建议您创建日历/日期表或使用显式过滤器。添加示例数据以帮助您。
  • 我刚刚从上表中删除了 CRD Day 列,现在 MTD Running Total 会显示应有的运行总计。所以这个“CRD Day”文本栏似乎引起了问题。是的,“MTD Running Total”正在使用日期列。同样,当“CRD Day”列被删除时,该列可以正常工作。
  • 日历/日期表如何改进已经是日期数据类型的 CRD 列?

标签: sum dax calculated-field cumulative-sum


【解决方案1】:

我认为您根本不需要 [CRD Day] 列。只需更改可视化属性中的演示设置即可。

删除YearQuarterMonth,只留下Day

使用此 DAX 表达式,您将获得类似于下图的内容:

Running Total = CALCULATE(SUM([Payment]),FILTER(ALL(Table),Table[CRD] <= MAX([CRD]) ))

MTD RT % = [Running Total] / [Total Payment Amount]

你的跑步总测量也应该起作用。

如果这有帮助,请告诉我。

【讨论】:

  • 谢谢,但我找到了答案,将在星期一发布。但是您的解决方案是否会产生我想要的运行总数?
  • @salvationishere,是的,它是用日期计算累积总数的不同方法。
猜你喜欢
  • 2023-03-12
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多