gpt4 book ai didi

excel - Power Query - 如何通过名称而不是索引值获取 Record.Field 值?

转载 作者:行者123 更新时间:2023-12-04 20:08:52 26 4
gpt4 key购买 nike

我是 Power Query 的新手,并且阅读了足够多的内容来启动和运行参数化查询。
在 Excel 中,在名为“参数”的选项卡上,我有一个名为“myParams”的范围,它跨越 A1:B4。它由 2 列组成,其中 A1 =“参数名称”和 B1 =“值”

    A                 B
1 Parameter Name Value
2 User ID 12345
3 Other Thing foo
4 More Things bar
我的查询看起来像这样,效果很好:
let
myParamTable = Excel.CurrentWorkbook(){[Name="myParams"]}[Content],
pUserID = Record.Field(myParamTable{0}, "Value"),

Source = Sql.Database("myservername", "mydatabase"),

GoQuery = Value.NativeQuery(Source,
"
SELECT * FROM myTable WHERE UserIdField = @UserID",
[UserID = pUserID]
)
in
GoQuery
如果我理解这是如何工作的,pUserID 会在名为“Value”的列中的位置 0 中分配值,因为索引计数从 0 开始。
如何通过 A 列中的名称“用户 ID”获取值?我想这很接近
pUserID = Record.Field(myParamTable{"User ID"}, "Value"),
我想使用参数名称而不是索引值,因为如果将新字段添加到“myParams”范围,将来索引值可能会发生变化。
谢谢!

最佳答案

有很多方法。这是一个使用 Lists

let
myParamTable = Excel.CurrentWorkbook(){[Name="myParams"]}[Content],
fieldList = myParamTable[#"Parameter Name"],
valueList = myParamTable[Value],
pUserID = valueList{List.PositionOf(fieldList,"User ID")}
in
pUserID

关于excel - Power Query - 如何通过名称而不是索引值获取 Record.Field 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68594525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com