Power BI - 使用过滤器和切片器运行总计

时间:2018-06-17 12:02:30

标签: powerbi dax running-total cumulative-sum

我是BI的新手。

我想创建运行总计(通过创建一个度量)。

但是,如果应用切片器,我希望根据此选择调整值。

例如,我有一张2017-2018年购买衣服的表格(购买日期;产品品牌;产品类型;成本金额)。

如果我为Hugo Boss品牌切片; 2018年我希望我的March值能够在原始表格的第一天(在这种情况下,2017年1月1日)和我选择的月份的最后一天(在这种情况下:31st)之间检索所有Hugo Boss产品的成本总和2018年3月)。

目前我的功能如下所示,但不起作用。

Cumulative = CALCULATE(SUM('Clothes Purchases'[Cost]),FILTER(all('Clothes Purchases')),'Clothes Purchases'[Acctg Date] <= max('Clothes Purchases'[Acctg Date]))).

有人可以帮忙吗?

谢谢, 多明戈斯

3 个答案:

答案 0 :(得分:1)

我根据您需要的值创建了一个简单的表:

Date of Purchase    Brand of Product    Product Type    Cost Amount
03/03/2018          Hugo Boss           Watch           $300
01/05/2017          Kate Spade          Jeans           $130
28/07/2017          Givenchy            Perfume         $212
19/10/2017          Adidas              Activewear      $179

然后使用:

报告模式下在同一桌面上创建一个度量
Running Total = CALCULATE(SUM('Clothes Purchases'[Cost Amount]),
                          FILTER(ALLSELECTED('Clothes Purchases'[Brand of Product]),
                          ISONORAFTER('Clothes Purchases'[Brand of Product],
                          MAX('Clothes Purchases'[Brand of Product]), DESC)))

然后在品牌产品购买日期上使用切片器,这里是切片器中没有选择任何值的运行总计(通过添加所有费用进行测试一起): Running Total without Slicers

这就是&#34; Hugo Boss&#34;根据您需要的日期在切片机上选择: Running Total with Slicers

我希望这有帮助! :)

答案 1 :(得分:1)

首先,在表格中为年初至今总数创建一个计算列,稍后将在度量中引用此列:

Cumulative Cost = TOTALYTD(SUM('Clothes Purchases'[Cost Amount],'Clothes Purchases'[Date])

要过滤,请在度量中使用ALLEXCEPT子句并指定过滤器列:

RunningTotalMeasure = CALCULATE( SUM( Clothes Purchases'[Cumulative Cost] ),
    FILTER( ALLEXCEPT( 'Clothes Purchases'[Brand of Product], 'Clothes Purchases'[Product Type]), 
    'Clothes Purchases'[Date] <= MAX( 'Clothes Purchases'[Date] ) ) )

我最近也遇到了这个问题,并经历了不眠之夜(道具零星散布在这里和那里)。希望对您有所帮助。

答案 2 :(得分:-1)

您可以将ALL更改为ALLSELECTED