我正在尝试使用一个如果公式在权力查询。例如,如果列包含“家伙”那么值是男性和假值是“女性”。我尝试了不同的方法,我不能找到正确的公式在权力查询中使用。有人能帮助我吗?
vulvrdjw1#
如果您要在Add Custom Column对话框中输入此内容,类似于(不区分大小写):
Add Custom Column
= if Text.Contains([Column],"guy", Comparer.OrdinalIgnoreCase) then "male" else "female"
vlurs2pr2#
听起来像是要根据列中的现有值有条件地替换该列中的值?如果是这样,可以使用Power Query中的Table.ReplaceValue函数:
= Table.ReplaceValue(Source, each [Gender], each if [Gender] = "guy" then "male" else "female", Replacer.ReplaceText,{"Gender"})
这将改变所有的价值观“家伙”为“男性”,和所有其他价值观为“女性”,正如你所说。您还可以保留不符合条件的值,只需 * 引用 * 列名,而不是 * 指定 * 新值:
= Table.ReplaceValue(Source, each [Gender], each if [Gender] = "guy" then "male" else [Gender], Replacer.ReplaceText,{"Gender"})
创建一个包含名为Gender的列的表,并将其加载到power query中。右键单击列标题并选择Replace Values,以获得用于构建语句的UI,然后使用以上修改替换生成的代码并应用于您的实际需求。关键是使用each表达式告诉Power Query在行值级别进行测试。如果省略each,你会看到错误:
holgip5t3#
= Table.AddColumn(#“已更改类型”,“列名”,如果[列] ="“Guy”“,则为”““男性”””否则为““女性”"”)
3条答案
按热度按时间vulvrdjw1#
如果您要在
Add Custom Column
对话框中输入此内容,类似于(不区分大小写):vlurs2pr2#
听起来像是要根据列中的现有值有条件地替换该列中的值?如果是这样,可以使用Power Query中的Table.ReplaceValue函数:
这将改变所有的价值观“家伙”为“男性”,和所有其他价值观为“女性”,正如你所说。
您还可以保留不符合条件的值,只需 * 引用 * 列名,而不是 * 指定 * 新值:
创建一个包含名为Gender的列的表,并将其加载到power query中。右键单击列标题并选择Replace Values,以获得用于构建语句的UI,然后使用以上修改替换生成的代码并应用于您的实际需求。关键是使用each表达式告诉Power Query在行值级别进行测试。如果省略each,你会看到错误:
holgip5t3#
= Table.AddColumn(#“已更改类型”,“列名”,如果[列] ="“Guy”“,则为”““男性”””否则为““女性”"”)