Powerbi Power Query M-无法将值null转换为逻辑类型
在Power BI中,我有一个M查询,用于测试列中的值是否等于Powerbi Power Query M-无法将值null转换为逻辑类型,powerbi,powerquery,m,Powerbi,Powerquery,M,在Power BI中,我有一个M查询,用于测试列中的值是否等于null 当我为[Sale.Revenue]null添加语句时,我得到了一个错误,但是对于[UserRole.Name]=null它工作正常。只需删除语句并将其添加回即可进行测试 我们无法将值null转换为逻辑类型。 这似乎应该是可行的,但就是想不出来 add_user_role_group = Table.AddColumn( join_expand_sale, "UserRole.Group1", ea
null
当我为[Sale.Revenue]null添加语句时,我得到了一个错误,但是对于[UserRole.Name]=null它工作正常。只需删除语句并将其添加回即可进行测试
我们无法将值null转换为逻辑类型。
这似乎应该是可行的,但就是想不出来
add_user_role_group = Table.AddColumn(
join_expand_sale,
"UserRole.Group1",
each (
if [UserRole.Name] = null and
[Sale.Revenue] <> null then
"Group1"
else if Text.Contains([UserRole.Name], "Manager") then
"Group2"
else
"Undefined"
)
)
add\u user\u role\u group=Table.AddColumn(
加入并扩大销售,
“UserRole.Group1”,
各(
如果[UserRole.Name]=null,则
[Sale.Revenue]则为空
“第一组”
否则,如果Text.Contains([UserRole.Name],“Manager”)则
“第2组”
其他的
“未定义”
)
)
我相信这是非常明显的:/谢谢您的想法。您的一行的UserRole.Name和Sale.Revenue都为空值。您需要显式地检查它,然后将其添加到“Undefined”组
第一个条件失败,因为Sale.Revenue为空。第二个条件调用Text.Contains,当[UserRole.Name]为null时返回null(Text.Contains返回可为null的逻辑值)。null不是真的或假的,所以您得到了错误。经过这样的一段旅程,我终于找到了Text.Length强>
您可以这样解决您的问题:
if Text.Length([UserRole.Name]) = 0 and
Text.Length([Sale.Revenue]) > 0 then
我希望我帮助过你。
参考资料:谢谢,伙计。我仔细考虑了您的答案,首先测试了UserRole.Name=null,在其中启动了一个新的if语句,然后在最后一个else语句之后处理null收入。谢谢你的洞察力。