如何根据PowerBI中的表小计值进行计数和过滤

时间:2019-07-29 22:56:00

标签: powerbi dax

我有一个简单的文档类型和大小表:

Name  | DocType| Size
Lorem | Word   | 55
Ipsum | Excel  | 32
Doler | Access | 150
Sit   | Word   | 40
Amet  | Excel  | 60

我正在尝试执行一些非常简单的操作,例如计数和过滤器,但基于类别的小计而不是个人/小计。

具体来说,我希望为KPI报告返回一个数字,该报告显示Doctypes的小计小于100的Doctypes的数量(在这种情况下,对于Word + Excel,返回2)。同样,我希望为KPI报告返回一个数字,该报告显示表中该Doctype的计数小于2的Doctypes数量(在这种情况下,Access返回1)。

但是我不确定如何构建这些公式,因为我不确定如何根据Doctype的小计来执行过滤,而不是针对各个行评估过滤器。

1 个答案:

答案 0 :(得分:1)

您需要先汇总数据,然后评估汇总。有很多方法可以做到这一点。一种标准技术是使用SUMMARIZE函数。

创建度量:

Size < 100 =
VAR Doc_Summary =
    SUMMARIZE ( Data, Data[DocType], "Total Size", SUM ( Data[Size] ) )
RETURN
    COUNTROWS ( FILTER ( Doc_Summary, [Total Size] < 100 ) )

其中“数据”是我使用的表的名称(更改为表名)。

在这里,我们首先按DocType对数据进行分组,然后对每个组的大小进行汇总。然后,我们过滤摘要以仅保留大小总和满足我们条件的组,然后对结果表中的行进行计数。

类似地,创建另一个度量:

Count < 2 =
VAR Doc_Summary =
    SUMMARIZE ( Data, Data[DocType], "Total Count", COUNT ( [DocType] ) )
RETURN
    COUNTROWS ( FILTER ( Doc_Summary, [Total Count] < 2 ) )

它的工作方式相同。

结果:

enter image description here