Powerbi 检查值是否在另一个表中,并在Power BI中添加列
我有两个表格,Powerbi 检查值是否在另一个表中,并在Power BI中添加列,powerbi,dax,Powerbi,Dax,我有两个表格,table1包含一些调查数据,table2是一个完整的学生名单。我想检查table2中的Name是否也在table1中找到。如果是,请在表2中添加年龄和级别信息,否则,请在这些列中填入无数据 表1: id Name Age Level 32 Anne 13 Secondary school 35 Jimmy 5 Primary school 38 Becky 10 Primary school 40 Anne 13 Secondary sch
table1
包含一些调查数据,table2
是一个完整的学生名单。我想检查table2
中的Name
是否也在table1
中找到。如果是,请在表2中添加年龄
和级别
信息,否则,请在这些列中填入无数据
表1:
id Name Age Level
32 Anne 13 Secondary school
35 Jimmy 5 Primary school
38 Becky 10 Primary school
40 Anne 13 Secondary school
表2:
id Name
1 Anne
2 Jimmy
3 Becky
4 Jack
预期产出:
id Name Age Level
1 Anne 13 Secondary school
2 Jimmy 5 Primary school
3 Becky 10 Primary school
4 Jack no data no data
更新:
我使用公共列id
(可以在table1
中重复)在table1
和table2
之间创建了一个关系
然后我用了:
Column = RELATED(table1[AGE])
但它发现了一个错误:
The column 'table1[AGE]' either doesn't exist or doesn't have a relationship to any table available in the current context.
实现所需输出的方法有多种,但我发现最简单的方法是使用相关的
DAX函数。如果你找到了这个答案,那么把它标记为答案
使用“名称”列在表1
和表2
之间创建关系
在表2中创建一个计算列,如下所示:
Column=相关(表1[年龄])
对级别
列也重复相同的步骤
第2列=相关(表1[级别])
这将为您提供一个带有ID
、Name
、Age
和Level
的表,用于两个表之间的通用名称
现在,要将这些空行填充为无数据
,只需使用以下DAX创建另一个计算列:
Column 3=IF(为空(表2[Column]),“无数据”,表2[Column])
第4列=如果(为空(表2[第2列]),“无数据”,表2[第2列])
这将为您提供所需的输出
编辑:-您还可以使用以下公式在单个列中执行相同的操作
Column =
VAR X = RELATED(table`[AGE])
VAR RES = IF(ISBLANK(X), "no data", X)
RETURN
RES
及
这也将为您提供相同的输出
您好,谢谢您的回答,您能简要解释一下步骤3中的DAX吗?另外,table1
包含重复的Name
,例如Anne
,在这种情况下,我仍然可以使用Column=RELATED(table1[AGE])
?是的,当然可以。步骤3 DAX检查列(计算列)是否为空。如果为空,则返回无数据
,否则返回列值。请选中编辑,我已将这两个步骤合并到一个步骤中。如果不清楚,请告诉我,我会进一步解释。谢谢。谢谢,我试过了,但出现了一些错误,请查看问题更新以了解详细信息。请使用“名称”列创建关系。您好,很抱歉,我意识到我忽略了一些内容-同一个人可能有2个级别
值。例如,Anne可能有多个带有小学
和中学
值的行。是否有方法获取级别中具有不同值的所有行
?请使用名称
创建关系,因为这两个表之间的名称是通用的,而不是ID
列
Column 2 =
VAR X = RELATED(table1[LEVEL])
VAR RES = IF(ISBLANK(X), "no data", X)
RETURN
RES