我正在使用excel 2013 powerpivot,我已将其链接到sql查询。在此查询中,我拥有前几年的所有销售数据,并使用当前销售进行更新。与去年同期相比,我想制作今年迄今为止的年度销售额。例如,2015年1月1日至2015年7月10日与2014年1月1日至2014年7月10日相比。 我将销售数据表与日历表相关联。但无论我尝试什么,parallelperiod,sameperiodlastyear,totalytd,它总能告诉我今年的正确数据,但去年的全年销售额。任何人都可以推荐我尝试一下吗?
感谢,
谢
答案 0 :(得分:0)
TOTALYTD(和其他时间智能功能)将在你给它的任何环境中寻找最高日期,所以当你试图告诉它从现在起12个月后它会认为“好的,我在2014年”我将从2014年获得所有数据并计算出TOTALYTD。所以你必须忽略内置函数并构建自己的函数:
=CALCULATE(sum(Table1[sales]),DATESBETWEEN(DateDim[Date], FIRSTDATE(DATEADD(DateDim[Date],-12,MONTH)), LASTDATE(DATEADD(Table1[Date],-12,MONTH))))
只要你的桌子上有一个切片机或一个领域就可以拿到一年,那么这应该有效。
编辑:经过数据样本的测试,DAX再次尝试过于聪明,因为我告诉它要回到12个月,它假设我想要从月份背景中包含所有数据,包括去年7月的所有数据。 回到365天就可以解决这个问题(只要闰年不是问题)。
=CALCULATE(sum(Table1[sales]),DATESBETWEEN(DateDim[Date], FIRSTDATE(DATEADD(DateDim[Date],-12,MONTH)), LASTDATE(DATEADD(Table1[Date],-365,DAY))))
答案 1 :(得分:0)
我已经尝试过了,但它还没有给我正确答案。让我告诉你我现在的情况。
对于本年度销售,我有以下Dax公式
=TOTALYTD(sum(Omzetgegevens[NettoOmzet]); Kalender[Calender date])
对于去年的销售,我有:
=CALCULATE((SUM(Omzetgegevens[NettoOmzet])); SAMEPERIODLASTYEAR(DATESYTD(Kalender[Calender date])))
为了测试你的解决方案,我打电话给#34;测试ytd":
=CALCULATE(SUM(Omzetgegevens[NettoOmzet]); DATESBETWEEN(Kalender[Calender date]; FIRSTDATE(DATEADD(Kalender[Calender date];-12; MONTH)); LASTDATE(DATEADD(Kalender[Calender date]; -365; DAY))))
如果我现在运行pivottable,我得到的结果是:
2015
current year ytd last year ytd test ytd
januari 28.912 34.487 34.487
februari 50.301 66.003 31.516
maart 73.362 92.647 26.644
april 99.561 117.853 25.205
mei 128.021 149.108 31.255
juni 149.706 174.076 24.968
juli 158.297 205.438 31.362
augustus 158.297 231.693 26.255
september 158.297 254.534 22.841
oktober 158.297 282.484 27.951
november 158.297 303.808 21.324
december 158.297 313.208 9.400
Total 158.297 313.208 313.208
我希望看到以下内容。由于本报告于2015年7月14日开始运行。我希望看到2015年之前的所有销售情况以及2014年的所有销售情况,直到2014年7月14日。
如果无法看到月份,我也很好,只有当前年初和去年的总数
2015
current year ytd last year ytd
januari 28.912 34.487
februari 50.301 66.003
maart 73.362 92.647
april 99.561 117.853
mei 128.021 149.108
juni 149.706 174.076
juli 158.297 175.312(so not full month of july in 2014)
Total 158.297 175.312