使用 2 个以上的 IF 条件来识别混合列中的不同数据类型 - Power Query

Using more than 2 IF conditions to identify different data types in a mixed column - Power Query

我正在尝试添加一个新列,该列使用多个 If 条件来检查特定列是否包含特定文本、格式化为文本或文本值的数字。

以下 If 条件仅适用于前 2 个条件,但添加第三个检查条件不会为格式化为文本的数值产生所需的 NULL 结果。

===============================
ColumnToCheck       | NewColumn
===============================
R0                  |  Questions
Is this my life?    |  Is this my life?
0.5445              |  null
0.23                |  null
0.23335             |  null
===============================

公式为:

= Table.AddColumn(PreviousStep, "NewColumn", 
    each    
if 
       Value.Is([ColumnToCheck],Text.Type) and not Text.Contains([ColumnToCheck],"R0") then 
     [ColumnToCheck] 
else if 
  Text.Contains([ColumnToCheck],"R0", Comparer.OrdinalIgnoreCase) then 
     "Questions" 
else if 
Value.Is(Number.FromText([ColumnToCheck]),type number) then 
     null 
else 
     null)

也许你需要这样的东西

 if
    try Value.Is(Number.FromText([ColumnToCheck]), type number) otherwise Value.Is([ColumnToCheck],type number)  
then 
    null 
else 
    if 
       Value.Is([ColumnToCheck],Text.Type) and not Text.Contains([ColumnToCheck],"R0") 
    then 
        [ColumnToCheck] 
    else 
        if 
            Value.Is([ColumnToCheck],Text.Type) and  Text.Contains([ColumnToCheck],"R0", Comparer.OrdinalIgnoreCase) 
        then 
            "Questions" 
        else 
            null

PQ 中的结果看起来像