在power BI中,我有一个如下表,其中有两列Category和subcategory。我正在尝试将每个类别的subcategory =“ S2”计数添加到计算列中(例如S2_count中)。
Category Subcategory S2_count
A S1 1
A S2 1
A S1 1
B S1 2
B S3 2
B S2 2
B S2 2
C S2 2
C S3 2
C S2 2
有没有一种方法可以使用DAX来实现?我尝试了以下公式,但不知道如何同时应用过滤器和分组依据
s2_count =
CALCULATE(
COUNT(Test01[subcategory]),
GROUPBY(Test01,Test01[subcategory]))
答案 0 :(得分:0)
您的这个:
s2_count =
COUNTROWS (
FILTER (
'Test01',
'Test01'[Category] = EARLIER ( 'Test01'[Category] )
&& 'Test01'[Subcategory] = "S2"
)
)
EARLIER函数将在其先前的filtercontext(即rowcontext)中返回“ Test01” [Category]。
答案 1 :(得分:0)
您也可以使用CALCULATE
进行此操作。
s2_count =
CALCULATE( COUNTROWS( Test01 ),
Test01[Subcategory] = "S2",
ALLEXCEPT( Test01, Test01[Category] )
)
ALLEXCEPT
函数除去Category
之外的任何行上下文。
注意:如果表中没有其他列,则不需要ALLEXCEPT
参数,而可以使用它:
s2_count = CALCULATE( COUNTROWS( Test01 ), Test01[Subcategory] = "S2" )
如果您还有其他列,则它们会与Category
一起从行上下文传递到筛选上下文,而您将无法获得正确的结果。