我正在尝试使用 Power Query 将汇总列添加到包含多个不同银行账户交易记录的表格中。我对 Power Query 和 M 还不太熟悉,我正在遵循本教程中的第一种方法:
但我在第一个障碍上就卡住了。当我按照教程中列出的语法操作时,它工作正常:
= let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Amount],BufferedValues = List.Buffer(Source[Value]),RT = Table.FromColumns({Source[Value], fxRunningTotal(BufferedValues)},{"Value","Running Total"}) in RT
但我不想为了查询而将此表导入工作簿,我想直接引用查询。当我尝试这样做时:
= let Source = #"Query1"[Amount],BufferedValues = List.Buffer(Source[Amount]),RT = Table.FromColumns({Source[Amount], fxRunningTotal(BufferedValues)},{"Amount","Running Total"}) in RT
我收到以下错误:
⚠️ Expression.Error:我们无法将字段访问应用于 List 类型。详细信息:Value=[List] Key=Amount
有没有专家可以帮忙?
8
最佳答案
1
正如评论中所讨论的,Get and Transform
您的 .csv 文件,将它们加载为Only create connection
;然后,Combine >> Append
连接仅查询您的 Query1。将 Query1 加载为。然后根据以下经过测试并在 PQ 中运行的代码为您的Running SumOnly create connection
建模。请注意,您发布的内容返回表,而以下代码返回表,它将列数据类型更改为整数。 M Code
M Code
RT
#Changed Type
let
Source = Query1,
BufferedValues = List.Buffer(Source[YourColumnToBeSummed]),
RT = Table.FromColumns(
{
Source[YourColumnToBeSummed], fxRunningTotal(BufferedValues)
},
{
"YourColumnToBeSummed",
"Running Total"
}),
#"Changed Type" = Table.TransformColumnTypes(RT,{{"YourColumnToBeSummed", Int64.Type}, {"Running Total", Int64.Type}})
in
#"Changed Type"
原始代码来源:
|
#"Query1"
?–
Table1
和Query1
来代表表和查询的名称。–
–
Table1
是将数据拉入 Excel 工作簿中的表格,而Query1
查询是从 CSV 文件中提取数据。为了保持整洁,我想从 Power Query 中的各种 CSV 中提取和合并所有数据,并仅显示工作簿中所需的内容。–
Data>>Get from folder
合并文件。从那里,您应该能够通过替换为新的仅连接查询名称来编辑原始语法。Load
Only create connection
Table1
–
|