Power BI一对多连接时如何将AssignedToUser的NULL值替换为‘POOL’
嘿,我来帮你搞定这个NULL值替换的问题!结合你提到已经创建了FullAssignedToUsers表的情况,这里有几个靠谱的解决方案,总有一个能帮到你:
方法1:在Power Query编辑器中处理(推荐,从数据源层面彻底解决)
这是最直接的方式,从根源上把NULL值替换掉,后续使用数据时就不用再操心了:
- 打开
FullAssignedToUsers表的Power Query编辑器 - 找到
AssignedToUser列,右键点击列标题,选择替换值 - 在弹出的窗口里,「要查找的值」留空(或者手动输入
null),「替换为」输入POOL - 点击确定,然后关闭并应用更改,所有NULL值就都变成
POOL了
如果之前尝试添加自定义列没成功,大概率是语法问题,试试这个正确的自定义列写法:
- 在Power Query编辑器里点击「添加列」→「自定义列」
- 在公式框里输入:
if [AssignedToUser] = null then "POOL" else [AssignedToUser] - 点击确定后,把原来的
AssignedToUser列删除,再把新列重命名为AssignedToUser就搞定了
方法2:用DAX创建计算列(适合在数据模型层快速处理)
要是不想动Power Query,也可以在数据模型里直接生成处理后的列:
- 选中
FullAssignedToUsers表,点击顶部「建模」选项卡的「新建列」 - 输入DAX公式:
AssignedToUser_Fixed = IF(ISBLANK(FullAssignedToUsers[AssignedToUser]), "POOL", FullAssignedToUsers[AssignedToUser]) - 这个新列会自动识别原列的NULL值并替换成
POOL,直接用这个新列做后续分析就行
小提醒:之前创建新列无效可能是因为判断NULL的方式搞错了——Power Query里判断空值要用= null,而DAX里得用ISBLANK(),别搞混哦~
内容的提问来源于stack exchange,提问作者Serdia
相关产品推荐
相关产品推荐

