2017-10-18 177 views
0

这可能是一个容易的但我无法解决它,所以请咨询。总结两个维度的值,但只显示PowerPivot/DAX中的其中一个的结果

我想在度量(如当前和前一个)中加起来两个月,但是当我在数据透视表中表示数字时,我只想在当前月份中显示结果。

这里是我试过的公式:

CALCULATE([Revenue],FILTER(Tbl_Period,Tbl_Period[Month_nr] = 3)) +CALCULATE([Revenue],FILTER(Tbl_Period,Tbl_Period[Month_nr] = 4)) 

但在逻辑上,当我在数据透视表代表它的收益是出现两个月下:

见下面的结果的图片公式:

我想达到的反而是以下:

见的目标情况的图片:

我已经设法与各功能解决所有月份显示的价值,但不仅是七月因为我想。下面是一个公式:

收入:

=CALCULATE([Revenue],FILTER(ALL(Tbl_Period[Month_nr],Tbl_Period[Period_id]),Tbl_Period[Month_nr] = 3)) +CALCULATE([Revenue],FILTER(ALL(Tbl_Period[Month_nr],Tbl_Period[Period_id]),Tbl_Period[Month_nr] = 4)) 

在此先感谢您的帮助!

+0

是您的'Tbl_Period'标记为日期表? – mendosi

+0

其实周期表只包含名称如“Jun”的月份和月份的数值的顺序。所以它只有12条记录。这是因为事实表粒度是每月不是每天 – Tamas

+0

好吧,那么我认为提出的答案应该工作。 – mendosi

回答

0

我有点瞎了,因为你还没有提到你的Tbl_Period表的结构。

内置许多有用的功能,如果您有日期表,可以为您节省大量工作。其中一个与此相关的是PREVIOUSMONTH()

只有您所提供的信息工作,你可以得到一个措施,显示上个月的收入是这样的:

LastMonthRevenue: = CALCULATE([Revenue], FILTER(ALL(Tbl_Period), Tbl_Period[Month_Nr] = MAX(Tbl_Period[Month_Nr]) - 1)) 

然后

TwoMonthsRevenue: = [Revenue] + [LastMonthRevenue] 
+0

感谢它帮助我们理解了这个问题。我的主要问题是,尽管我尝试了ALL函数,但它并不是一直工作的。 MAX函数与解决谜题的数据透视表连接。 – Tamas