Powerbi 将每次迭代的值传递给函数幂查询(在幂BI中)
我在Power BI中有一个标准报告文件,需要定期添加更多行/记录。每个记录大约有8个属性。其他9个属性将被填充(或不填充),这取决于记录的类型。 我使用了Table.InsertRows,但在该函数中找不到将值(从0到10)传递给变量x的方法。x表示新数据文件中记录的序列号。我的想法是将第一行新数据添加到标准文件中,然后添加第二行、第三行等Powerbi 将每次迭代的值传递给函数幂查询(在幂BI中),powerbi,powerquery,Powerbi,Powerquery,我在Power BI中有一个标准报告文件,需要定期添加更多行/记录。每个记录大约有8个属性。其他9个属性将被填充(或不填充),这取决于记录的类型。 我使用了Table.InsertRows,但在该函数中找不到将值(从0到10)传递给变量x的方法。x表示新数据文件中记录的序列号。我的想法是将第一行新数据添加到标准文件中,然后添加第二行、第三行等 let Source = Excel.Workbook(File.Contents("C:\Users\uic30477\Desktop\Must
let
Source = Excel.Workbook(File.Contents("C:\Users\uic30477\Desktop\Musterfile test.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Type", type text}, {"General column1", Int64.Type}, {"General column2", Int64.Type}, {"General column3", Int64.Type}, {"General column4", Int64.Type}, {"General column5", Int64.Type}, {"General column6", Int64.Type}, {"General column7", Int64.Type}, {"General column8", Int64.Type}, {"CDF column1", Int64.Type}, {"CDF column2", Int64.Type}, {"CDF column3", Int64.Type}, {"Budget column1", Int64.Type}, {"Budget column2", Int64.Type}, {"Budget column3", Int64.Type}, {"Budget column4", Int64.Type}, {"Deliveries column1", Int64.Type}, {"Deliveries column2", Int64.Type}}),
Custom1 = List.Generate(
() => [x=0],
each [x]<=10,
each [x=[x]+1]
),
Table.InsertRows(#"Changed Type", 7, {[Type = #"Newdata"{x}[Type], General column1 = #"Newdata"{x}[General column1], General column2 = #"Newdata"{x}[General column2], General column3 = #"Newdata"{x}[General column3], General column4 = #"Newdata"{x}[General column4], General column5 = #"Newdata"{x}[General column5], General column6 = #"Newdata"{x}[General column6], General column7 = #"Newdata"{x}[General column7], General column8 = #"Newdata"{x}[General column8], CDF column1 = #"Newdata"{x}[CDF column1], CDF column2 = #"Newdata"{x}[CDF column2], CDF column3 = #"Newdata"{x}[CDF column3], Budget column1 = #"Newdata"{x}[Budget column1], Budget column2 = #"Newdata"{x}[Budget column2], Budget column3 = #"Newdata"{x}[Budget column3], Budget column4 = #"Newdata"{x}[Budget column4], Deliveries column1 = #"Newdata"{x}[Deliveries column1], Deliveries column2 = #"Newdata"{x}[Deliveries column2]]})
in
Custom1
let
Source=Excel.Workbook(File.Contents(“C:\Users\uic30477\Desktop\Musterfile test.xlsx”),null,true),
Sheet1_Sheet=Source{[Item=“Sheet1”,Kind=“Sheet”]}[Data],
#“Promoted Headers”=表.PromoteHeaders(Sheet1_Sheet,[PromoteAllScalars=true]),
#“更改的类型”=表.TransformColumnTypes(#“升级的标题”、{{“类型”,类型text}、{“通用列1”、Int64.Type}、{“通用列2”、Int64.Type}、{“通用列3”、Int64.Type}、{“通用列4”、Int64.Type}、{“通用列5”、Int64.Type}、{“通用列6”、Int64.Type}、{“通用列7”、Int64.Type}、{“通用列8”、Int64.Type},{“CDF column1”,Int64.Type},{“CDF column2”,Int64.Type},{“CDF column3”,Int64.Type},{“预算栏1”,Int64.Type},{“预算栏2”,Int64.Type},{“预算栏3”,Int64.Type},{“预算栏4”,Int64.Type},{“交付栏1”,Int64.Type},{“交付栏2”,Int64.Type}),
Custom1=List.Generate(
()=>[x=0],
每个[x]都很难想象你开始的是什么,结束的是什么。如果我正确地阅读了代码和问题,你似乎只想将表“Newdata”
中的行附加到表``更改类型“。如果是这样,请查看一下
表。合并()。它需要一个列表
中的表
。您可以使用表。列名
,表。选择列
和表。组合
以限制追加哪些列。刷新数据集时,PowerBI中的表将完全重新加载。添加新行的位置在excel文件中然后所有的数据都会在下一次刷新时被拉入PoBBI中。出于好奇,你需要加载多少种“类型”的行?你可能需要考虑将每一个“类型”加载到它自己的表中。模型是单表中的行,以某种方式表示不同类型的对象通常会在路上增加大量的复杂性。@chillin谢谢!总结一下问题:我有4列,第一列是类型(A、B或C),然后分别为A、B和C列。如果新记录的类型为A,则A列将用x填充,B列和C列将为空。但是,每个新数据集将有大约200000多行/记录,我无法找到使用您推荐的函数自动将它们添加到标准文件中的方法。@RyanB。谢谢。我必须每天向标准文件中添加大约200000行。因此,我想编写一个代码来帮助自动添加新行(来自新数据集),但每列中的值是否添加取决于某一列的值。例如,如果新行具有类型Deliveries,则只填充表示Deliveries含义的列。否则,这些列将为空。