比较不同年份的运行总数

时间:2016-07-17 02:26:55

标签: excel powerpivot dax

我试图按年计算运行总计并按年划分。我的专栏是:

[date], [week#], [month#], [year], [usermame], [transaction]

Data Sample

我目前正在使用这个公式:

=CALCULATE(SUM(data[transaction]),FILTER(ALL(data),data[date]<=MAX(data[date]))

Transaction Graph

但是当我在我的支点(x轴:周#,y轴:交易)上绘制它时,它会考虑2010年的所有数据。我只需要绘制2015年和2016年的图表。此外,图表从前一年的运行计数开始。我希望每年开始计数到0.

我尝试了这个公式:

=CALCULATE(SUM(data[transaction]),FILTER(ALL(data),data[date]<=MAX(data[date]),YEAR(data[date])=2016)

它从0开始计数,但之后我无法绘制2015年图表并将其与2016年数据进行比较。

2 个答案:

答案 0 :(得分:0)

那么每周运行总计的一列会重置一年吗?

我认为使用SUMX和EARLIER函数可能有所帮助。

我认为这个公式可能正是您所寻找的:

= SUMX(FILTER(表,AND([周#]&LT = EARLIER([周#]),[年] =早些时候([年]))),[交易])

答案 1 :(得分:0)

试试这个

=CALCULATE(SUM(data[transaction]),[year]=2015||[year]=2016)

此外,如果您尝试年复一年,则需要派生调整后的年份列作为行或X轴。然后使用[年份]作为你的系列。我通常用SQL创建调整后的年份。

我的逻辑:

2016 数据 - 按原样

2015 数据 - 向当天字段添加364天

即。 2015年1月1日至2015年12月31日之间的[日]然后在[日]等处添加364天。

2014 数据 - 添加728天

其他年份,您需要执行相同的增量操作。这会忽略闰年,因为您正在调整一周中的一天,这是每周7天,并且从不波动。创建此 AdjustedYear 字段/列后,您现在可以将其用于YoY分析。上述日期添加将为您提供当天,然后您可以根据该日期推导出年份。另外需要注意的是,通过这种方法,您将在1月1日和364年12月31日的同一年内停留1-2天。我根据我创建的图表来过滤掉它。

我希望这有所帮助,而且我没有留下任何东西。