Power Query M - 我们无法将值 null 转换为逻辑类型
Power Query M - We cannot convert the value null to type Logical
在 Power BI 中,我有一个 M 查询,用于测试列中的值等于或不等于 null
。
当我为 [Sale.Revenue] <> null
添加语句时出现错误,但是对于 [UserRole.Name] = null
它工作正常。仅通过删除语句并将其添加回来进行测试。
We cannot convert the value null to type Logical.
这似乎应该可行,但就是想不通。
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"
)
)
我相信这是显而易见的:/感谢您对此的看法。
您的某一行的 UserRole.Name 和 Sale.Revenue 均为空值。您需要明确检查,然后将其添加到 "Undefined" 组。
发生的事情是第一个条件失败,因为 Sale.Revenue 为空。第二个条件调用 Text.Contains,当 [UserRole.Name] 为 null 时 returns null(Text.Contains returns 一个可为 null 的逻辑值)。 null 不是 true 或 false,所以你得到错误。
经过这样的旅程,终于找到了Text.Length!!
你可以这样解决你的问题:
if Text.Length([UserRole.Name]) = 0 and
Text.Length([Sale.Revenue]) > 0 then
希望对你有所帮助。
参考:Power Query M - Text.Length
在 Power BI 中,我有一个 M 查询,用于测试列中的值等于或不等于 null
。
当我为 [Sale.Revenue] <> null
添加语句时出现错误,但是对于 [UserRole.Name] = null
它工作正常。仅通过删除语句并将其添加回来进行测试。
We cannot convert the value null to type Logical.
这似乎应该可行,但就是想不通。
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"
)
)
我相信这是显而易见的:/感谢您对此的看法。
您的某一行的 UserRole.Name 和 Sale.Revenue 均为空值。您需要明确检查,然后将其添加到 "Undefined" 组。
发生的事情是第一个条件失败,因为 Sale.Revenue 为空。第二个条件调用 Text.Contains,当 [UserRole.Name] 为 null 时 returns null(Text.Contains returns 一个可为 null 的逻辑值)。 null 不是 true 或 false,所以你得到错误。
经过这样的旅程,终于找到了Text.Length!!
你可以这样解决你的问题:
if Text.Length([UserRole.Name]) = 0 and
Text.Length([Sale.Revenue]) > 0 then
希望对你有所帮助。 参考:Power Query M - Text.Length