电源查询excel

ntjbwcob  于 2022-12-20  发布在  其他
关注(0)|答案(3)|浏览(107)

我正在尝试使用一个如果公式在权力查询。例如,如果列包含“家伙”那么值是男性和假值是“女性”。我尝试了不同的方法,我不能找到正确的公式在权力查询中使用。有人能帮助我吗?

vulvrdjw

vulvrdjw1#

如果您要在Add Custom Column对话框中输入此内容,类似于(不区分大小写):

= if Text.Contains([Column],"guy", Comparer.OrdinalIgnoreCase) then "male" else "female"
vlurs2pr

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,你会看到错误:

  • “表达式。错误:存在未知标识符。是否在“each”表达式外部使用了_[field]的[field]简写?"*
holgip5t

holgip5t3#

= Table.AddColumn(#“已更改类型”,“列名”,如果[列] ="“Guy”“,则为”““男性”””否则为““女性”"”)

相关问题