DAX:在带有计数器的过滤器上进行过滤
DAX: Filter on a filter with countrows
我正在处理一个跟踪公司所有权的数据集(关系)。
如果一家公司有 8 个所有者,则该公司在数据集中有 8 行,每个所有者一行。所有者可以拥有多个公司。我想要一个计算列,该列显示特定所有者在该部门拥有多少家公司。有点像;对于每一行,搜索一个或多个所有者在关系数据库中出现的次数,但只计算那些与母公司具有相同行业代码的所有者。这是我目前所拥有的:
=
CALCULATE (
COUNTROWS ( Relations );
FILTER (
Relations;
Relations[participantnumber] = EARLIER ( Relations[participantnumber] )
);
FILTER ( Relations; Relations[127_industry] = Relations[127_industry] )
)
但这只给出了一个所有者被提及的公司总数,而不管行业代码如何。
谢谢!
试试这个:
=
CALCULATE (
COUNTROWS ( Relations );
ALLEXCEPT( Relations; Relations[participantnumber]; Relations[127_industry])
)
工作原理:对于每一行,您需要访问整个 table 以便计算所有相关关系。但是,您想要按当前行的参与者和行业筛选总数。 ALLEXCEPT 做到了这一点 - 它允许您在保留当前参与者和行业的同时查看整个 table。
我正在处理一个跟踪公司所有权的数据集(关系)。 如果一家公司有 8 个所有者,则该公司在数据集中有 8 行,每个所有者一行。所有者可以拥有多个公司。我想要一个计算列,该列显示特定所有者在该部门拥有多少家公司。有点像;对于每一行,搜索一个或多个所有者在关系数据库中出现的次数,但只计算那些与母公司具有相同行业代码的所有者。这是我目前所拥有的:
=
CALCULATE (
COUNTROWS ( Relations );
FILTER (
Relations;
Relations[participantnumber] = EARLIER ( Relations[participantnumber] )
);
FILTER ( Relations; Relations[127_industry] = Relations[127_industry] )
)
但这只给出了一个所有者被提及的公司总数,而不管行业代码如何。 谢谢!
试试这个:
=
CALCULATE (
COUNTROWS ( Relations );
ALLEXCEPT( Relations; Relations[participantnumber]; Relations[127_industry])
)
工作原理:对于每一行,您需要访问整个 table 以便计算所有相关关系。但是,您想要按当前行的参与者和行业筛选总数。 ALLEXCEPT 做到了这一点 - 它允许您在保留当前参与者和行业的同时查看整个 table。