如何为列创建条件关系?

问题描述 投票:0回答:1

我有一所学校,在夏季和冬季开设不同的课程。 ClassroomSetup 1 和 2 具有并行数据结构。 每天都有一个开关来设置教室设置。所以当switch == 1时,学校有classroomSetup1,当我调用与Classroom是1对1关系的相关Teacher对象时,就会得到TeacherSet1的数据。 当 switch == 2 时,ClassroomSetup1 对象将被忽略,只有 ClassroomSetup2 和 TeacherSet2 对象在调用时会被链接起来。 如何在Power BI中实现这个数据模型?

enter image description here

powerbi-desktop data-modeling
1个回答
0
投票

要在Power BI中实现此数据模型,可以使用DAX(数据分析表达式)中的SWITCH函数。与嵌套 IF 语句相比,SWITCH 函数提供了一种更加结构化和可读的方式来处理多个条件。让我们分解一下如何实现这一点:

1。为教室设置和教师设置创建切换措施: 首先,创建一个计算列或度量来评估开关值并根据条件返回适当的教室设置和教师集。 您需要定义每个开关值(1 或 2)的条件,并指定相应的教室设置和教师设置。

2。实施示例: 假设您有一个名为“School”的表,其中包含以下列: ClassroomSetup1ClassroomSetup2TeacherSet1TeacherSet2。 开关值存储在名为 Switch 的列中。

3.计算列(切换测量): 使用 SWITCH 函数创建计算列(或度量)。这是一个例子:

SwitchMeasure =
    SWITCH (
        School[Switch],
        1, School[ClassroomSetup1] & " - " & School[TeacherSet1],
        2, School[ClassroomSetup2] & " - " & School[TeacherSet2],
        "Unknown"
    )

在此示例中: 如果开关值为 1,则连接 ClassroomSetup1 和 TeacherSet1。 如果开关值为 2,则连接 ClassroomSetup2 和 TeacherSet2。 如果开关值既不是 1 也不是 2,则返回“Unknown”(您可以根据需要自定义)。

4。用途: 现在,您可以在 Power BI 视觉对象(表格、图表等)中使用 SwitchMeasure 根据开关值显示相关的教室设置和教师设置。

请记住根据您的实际数据模型调整列名和表名。 SWITCH 函数简化了您的逻辑并使您的 DAX 表达式更具可读性。

© www.soinside.com 2019 - 2024. All rights reserved.