我在POWER BI工作并尝试计算上个月滚动总数的DAX表达式 . 我有一个过滤器,我选择一个月,我想计算上个月的滚动总数 .
以下计算完美地计算所选日期范围的滚动总计 .
如何计算前几个月的滚动总数?
Rolling_Total_Current_Month = CALCULATE(
SUM(SalesInvoice[Sales])
,FILTER(ALLSELECTED(SalesInvoice), (SalesInvoice[Date]) <= MAX(SalesInvoice[Date])))
以下是我的数据示例,我每天都有多个类别的销售额(事实上我有更多的详细信息列,但这已经简化了)
Date Day Amount Category
1/1/2016 1 100 A
1/1/2016 1 120 B
1/1/2016 1 90 C
1/2/2016 2 500 A
1/2/2016 2 321 B
1/2/2016 2 143 C
到目前为止,我已经提出了一个方程来解决滚动总数,但是当我尝试切片并查看单个类别的滚动总数时,它在上个月不起作用 . 我只保留了上个月的原始滚动总数 .
以下是上个月滚动总数的等式 . 但是,一旦根据类别切片,不会重新计算上个月的滚动总数 .
PREVIOUS_MONTH_ROLLING_TOTAL =
CALCULATE(
[Current Sales]
,FILTER(
ALL( Orders )
,Orders[MonthNumber] = MAX( Orders[MonthNumber] ) - 1
&& Orders[Day] <= MAX( Orders[Day] )
)
)
3 回答
我已经解决了如何让前几个月滚动总数 . 你必须做三件事 . 首先在数据表中创建一个Month Number列(这用作一个整数,从中减去1个月) . 您还必须创建一个日期列 .
然后为当前销售或您的任何 Value 创建一个度量 .
为当月销售创建度量
那么这个等式 .
这个等式的想法是能够在X轴上显示前几个月滚动总数,X轴为“DAY”(所以1-31)然后你可以查看当前月份,上个月,去年同期所有相同的图表或表格 .
首先,我在名为Orders-的表中有这样的数据 -
我首先使用以下公式创建一个名为Year&Month的计算列: -
然后我创建一个名为Month Number的列,当表中涉及一年以上以及识别上个月时,这将有助于排序 .
当月销售额可以是度量值或计算列 . 在问题中,您通过计算列获得了当月销售的答案,如果您想要采取措施,那么这样的事情将适用于汇总表 .
我还会创建一个名为Key的列: -
现在,对于上个月销售,我将创建一个度量来查找我们创建的选定MonthNumber .
或者你的措施
您可以添加另一个过滤项目
&& Orders[Category] = SELECTEDVALUE(Orders[Category])
但赢得't work when you don' t已选择任何类别,或者在没有类别的表格或视觉效果上添加.445094_ . 所以,你需要在我的测量公式中引用if else逻辑 .如果这有帮助,请告诉我 .
尝试这些方面的东西: