根据特定列中的值过滤数据透视表

根据特定列中的值过滤数据透视表

我有一个数据透视表,其中有多个列标签:

group subgroup subsubgroup status

最后一个标签status只有两个可能的值,ACTIVE 和 DORMANT。我需要仅显示缺少 ACTIVE 值但有 DORMANT 值的行。

我知道通过部分聚合数据(因此我的源数据将不会有一个 COUNT 字段,但会有两个:ACTIVE_COUNT 和 DORMANT_COUNT)并在构建数据透视表之前对其进行预过滤,这是可能的,但在这种特殊情况下,我无法修改数据透视表的源数据的形状。

我需要的一个例子:

ROW G1 G2 G3 STAT CNT
---------------------
V11 AA BB C1 ACTV 100
V11 AA BB C1 DORM 200
V11 AA BB C2 ACTV 400
V11 AA BB C3 DORM 800
V11 AA BB C4 DORM 900
V21 AA BB C1 ACTV 110
V21 AA BB C1 DORM 220
V21 AA BB C2 ACTV 440
V21 AA BB C3 DORM 880
V21 AA BB C3 DORM 990
V21 AA BB C4 ACTV   1

必须转化为:

.   AA
.   BB
.   C3   C4
.   DORM DORM
-------------
V11 800  900
V21 990

即,C1 没有显示,因为有一个匹配行且 ACTV>0;C2 没有显示,因为没有 DORM;V21 x C4 DORM 没有显示,因为有一个匹配行且 ACTV>0;但 V11 x C4 DORM 和 V21 x C3 DORM 都有显示。

答案1

我认为这超出了数据透视表的功能,因为您尝试跨行匹配。

我将使用 Power Query 插件预先计算一个新的“行状态”列。它可以将数据合并在一起,因此您可以构建一个仅筛选 ACTV>0 的行的查询,然后将其与原始表合并以生成一个可供筛选的新“行状态”列。

https://support.office.com/en-us/article/Merge-queries-fd157620-5470-4c0f-b132-7ca2616d17f9?ui=en-US&rs=en-US&ad=US

Power Query 还有许多其他数据转换功能,您可能会觉得有用。

相关内容