在电源查询中使用 if 语句而不添加额外的列

Posted

技术标签:

【中文标题】在电源查询中使用 if 语句而不添加额外的列【英文标题】:using ifstatement in powerquery without adding an additional column 【发布时间】:2020-08-27 07:44:50 【问题描述】:

大家好,我是第一次尝试使用 PQ..

让 if column'security name'="future" then column'long/short'="Short' else "error" in 请问你能帮忙吗?

我不断收到令牌 eod 预期错误。谢谢

【问题讨论】:

【参考方案1】:

您的问题不是很清楚(就您的表格当前的外观以及您希望它的外观而言)。我认为主要的问题是:

let if column'security name'="future" then column'long/short'="Short' else "error" in

不是有效代码,这就是您收到错误的原因。

我认为下面的示例之一应该是您想要做的。


示例 1:如果您的表中已有 long/short 列。

如果您希望将现有的 long/short 列更改为 Shorterror(基于 security name 列中的值),则在查询编辑器中:

    转至:Add Column > Conditional Column 填写如下字段,然后按确定:

    然后删除旧的long/short 列(右键单击long/short 列标题并单击Remove

    将新添加的列(从第 2 步开始)重命名为 long/short(双击列标题中的文本,您应该可以直接编辑列名)。

我知道您的问题标题是“不添加新列”,但我认为这是您在 Power Query 中仅通过 GUI 执行此操作的方式(而不是通过高级编辑器)。


示例 2:如果您的表中没有 long/short 列。

    按照上面示例中的步骤 1-2(仅)进行操作,但在步骤 2 中将列命名为 long/short 而不是 tempColumn

如果您发现这些方法有点笨拙,可以使用 Table.TransformRows 一步完成,但我在 GUI 中找不到此功能(这意味着没有适合初学者的使用方式)。

【讨论】:

以上是关于在电源查询中使用 if 语句而不添加额外的列的主要内容,如果未能解决你的问题,请参考以下文章

如何将额外的列添加到包含前一列百分比的选择语句

调用自定义PHP函数后在jquery Datatable中添加额外的列?

SQL语句优化

在 Python pandas 中,从 1 而不是 0 开始行索引而不创建额外的列

查询多个订单的CF查询按语句添加最后排序的列进行选择

Spring boot JPA - 使用额外的列查询多对多