Power BI:将过滤后的 table 与变量字符串进行比较会返回一个空的 table

PowerBI: Comparing a filterd table against a variable string is returning an empty table

有关 DAX 中的 Power BI table,请参阅下面的代码:

TABLE1 =

VAR ParticipantOneParticipantId =     
SELECTEDVALUE(
    ParticipantOneDetails[ParticipantId]
)

RETURN 
FILTER(
    ParticipantOneMeetings, 
    ParticipantOneMeetings[ParticipantId] = ParticipantOneParticipantId
)

我正在从名为 ParticipantOneDetails 的切片 table 中获取 ParticipantId 的值并为其设置 ParticipantOneParticipantId。

在下一步中,我将尝试根据其列 ParticipantId 将其与 ParticipantOneParticipantId 进行比较来过滤 table ParticipantOneMeetings。

问题是生成的 table 是空的,即使我知道 ParticipantOneParticipantId 必须有一个值并且 ParticipantOneMeetings table 也有值。我通过与硬编码字符串进行比较进行了验证。

你能指出我做错了什么吗?这样比较不合法吗?

问题出在您尝试的过程中。 A calculated/custom tables 和列是静态的。它们总是在数据集刷新时刷新。它们不与切片器值动态交互。因此,不可能为自定义 Table 代从切片器动态获取数据。

现在,我不完全清楚您要求根据切片器值创建新的 table。正如您正在尝试的那样,是应用切片器后 table "ParticipantOneMeetings" 的简单过滤输出。如果您使用列“ParticipantId”在 2 table 之间建立关系,切片器中的更改将自动过滤掉 ParticipantOneMeetings 中的值 table。为什么要在新的自定义 table 中保留相同的过滤值,这真的是一门为您找到合适解决方案的知识。

原来我需要将以下度量添加到 table 输出:

MeetingsAttendedByBothParticipants = 
countrows(
    INTERSECT(
        VALUES(ParticipantOneMeetings[Name]), 
        VALUES(ParticipantTwoMeetings[Name])
    )
)

以上提供了两个切片会议 table 输出的交集。这会生成一个两人都参加的会议列表。