powerquery - Power Query:将列名作为函数参数传递
问题描述
我正在努力将列名传递给电源查询函数 - 如果我在函数调用中将它们作为 [columnname] 传递,它会尝试在函数之外实现它们;如果我在函数本身中使用 [parameter] 传递,它会查找列“参数”而不是调用中传递的列名。
在其他地方,StackExchange 建议使用 Table.Column(table,columnname) 来解决这个问题,但我一口气得到了整个列,而不是能够比较列中的相应条目。
任何人都可以帮忙吗?这是代码
(table,Mt0,Mt1) => let
#"Add Yt.1" = Table.AddColumn(table, "placeholder",
each if Table.Column(table,Mt0) <= 0 or - Table.Column(table,Mt1) < Table.Column(table,Mt0)
then Table.FromRecords({[Mt0 = Table.Column(table,Mt0), Mt1 = Table.Column(table,Mt1)]})
else Table.FromRecords({[Mt0 = 0,Mt1 = Table.Column(table,Mt1) + Table.Column(table,Mt0)]}))/*,
#"Expand Yt.1" = Table.ExpandTableColumn(Table.RemoveColumns(#"Add Yt.1",{"Mt0", "Mt1"}), "placeholder", {"Mt0","Mt1"})*/
in #"Add Yt.1"
这存储为 Query1,我正在使用 Query1(tablename,Y1M,Y2M) 调用
此版本生成错误:我们无法将运算符“<=”应用于类型列表和数字(因此,虽然它可能按预期引用列 Y1M,但它会将整个列(作为列表)与第一个不等式中的“0”进行比较,而不是一次一个条目。
帮助!!
解决方案
尝试使用Record.Field(_, Mt0)
而不是Table.Column
推荐阅读
- c# - Asp.Net C# Mutliptle 提交按钮不适用于多个 asp.net 面板默认按钮
- html - 在 ASP.NET 中没有出现英雄图像
- javascript - 发送多个 XMLHTTP 请求 JavaScript
- node.js - 将流数据从 RabbitMQ 并行加载到 Postgres
- java - Java如何对大数据进行排序?
- python - 添加多个条目并从中动态检索数据
- java - 返回到片段的按钮
- android - 在 onstartcommand() 服务方法中登录电子邮件帐户时出现错误 android.os.networkonmainthreadexception
- ssas - 仅获得偶数年的结果
- javascript - 到达页脚时如何停止关注侧边栏?