我正在比较四年。每天都会在数据中反映出正或负的销售量。
原始数据看起来像这样:
我的dax计算为:
Actions running total in From Start =
CALCULATE(
SUM('Total Data'[Actions]),
FILTER(
ALLSELECTED('Total Data'[From Start]),
ISONORAFTER('Total Data'[From Start], MAX('Total Data'[From Start]), DESC)
)
)
这是我的图表外观:
但是图表应该看起来更加对齐:
问题图位于从负到正的轴上。围绕一个重要的重要日期。每个否定日期都是该日期之前的几天。每个肯定的日期都在重要日期之后反映出来。该轴来自原始数据中的“从开始”列。
但是,如果轴为正,例如在相似的图表中,则运行总数仅从数据开始算起。
每次输入数据都不显示数据(例如:2017年4月2日的原始数据没有任何值,因此它根本不存在),该图表会显示较大的总值。我需要找到一种方法来使数据从负轴到正轴反映出来,同时使线条平整以看起来类似于相似的图表。
我猜正在发生的事情是,您的ISONORAFTER
函数中的第二个参数针对该日期没有数据的字词返回空值,因此将其视为零(请注意该值与零相同的高度)。
为了解决这个问题,让我们从轴中删除除From Start
值以外的所有其他过滤器上下文。这样,即使特定的Term
没有值,它也会拉入日期偏移量。
Actions running total in From Start =
VAR FromStart =
CALCULATE (
MAX ( 'Total Data'[From Start] ),
ALLEXCEPT ( 'Total Data', 'Total Data'[From Start] )
)
RETURN
CALCULATE (
SUM ( 'Total Data'[Actions] ),
FILTER (
ALLSELECTED ( 'Total Data'[From Start] ),
ISONORAFTER ( 'Total Data'[From Start], FromStart, DESC )
)
)