DISTINCT 过滤器中的 CALCULATE 列未按预期运行

CALCULATE column in DISTINCT filter not behaving as expected

我有一个措施如下:

Test = CALCULATE(SUM(EthnicPopulationByLocalAuthority[Numerator]), EthnicPopulationByLocalAuthority[Geography_code] in DISTINCT(Participants[SiteDistrict Code]))

但是计算是根据种族和 SiteDistrict 代码过滤的,而不仅仅是 SiteDistrict 代码。我创建了一个有效的硬编码版本:

Test2 = CALCULATE(SUM(EthnicPopulationByLocalAuthority[Numerator]), EthnicPopulationByLocalAuthority[Geography_code] in {"E09000030", "E07000066"})

table中的结果:

该行为来自 SiteDistrict 代码 E09000030 和 E07000066 只有 WhiteBritish 和 WhiteOther 种族的参与者。

基本上,我希望根据对参与者所做的切片动态生成列表 {"E09000030", "E07000066"},但我无法使用 DISTINCT 使其工作。两个 table 共享一个 link 到第三个 table 种族,但是 link 方向相反,因此它们不会直接相互过滤。

模型如下:

我用一个中间变量解决了它:

Test = 
  VAR temp = DISTINCT(SELECTCOLUMNS(CALCULATETABLE(Participants, ALLSELECTED(Participants)), "SiteDistrict Code", [SiteDistrict Code]))
  RETURN CALCULATE(SUM(EthnicPopulationByLocalAuthority[Numerator]), EthnicPopulationByLocalAuthority[Geography_code] IN temp)