我有近400个excel文件,其中包含客户定价信息。工作是将这些转换为多个数据库表,以加载到Azure SQL数据库中。我的任务是改造。
现有数据遵循一定的逻辑级别。每个客户1本工作簿。单个客户可以有多个ICP(如示例所示)。我需要的是一些帮助使用Power查询将数据从源转换为目标格式。一旦进入Target,它将大量加载到SQL服务器,以执行对所需SQL表的额外转换。
需要选择的行
源和目标示例
不得不张贴的图片,因为我不断收到错误的消息,代码没有被正确格式化,但没有代码。只有两张桌子
发布于 2022-09-05 06:42:13
首先索引您的表
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
rowscount = List.Count(List.Distinct(Source[type])),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"old rate", Percentage.Type}, {"new rate", Percentage.Type}}),
#"Replaced Value" = Table.ReplaceValue(#"Changed Type",null,0,Replacer.ReplaceValue,{"type", "detail", "old rate", "new rate"}),
#"Added Index" = Table.AddIndexColumn(#"Replaced Value", "Index", 0, 1, Int64.Type),
#"Integer-Divided Column" = Table.TransformColumns(#"Added Index", {{"Index", each Number.IntegerDivide(_, rowscount), Int64.Type}})
enter code here
in
#"Integer-Divided Column"
然后,您可以对其他数据进行枢轴和合并。
let
Source = Table1,
#"Removed Columns" = Table.RemoveColumns(Source,{"old rate", "new rate"}),
#"Filtered Rows" = Table.SelectRows(#"Removed Columns", each ([type] = "customer name" or [type] = "ICP" or [type] = "supply address")),
#"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[#"type"]), "type", "detail"),
#"Merged Queries" = Table.NestedJoin(#"Pivoted Column", {"Index"}, Table1, {"Index"}, "Table1", JoinKind.LeftOuter),
#"Expanded Table1" = Table.ExpandTableColumn(#"Merged Queries", "Table1", {"type", "old rate", "new rate"}, {"type", "old rate", "new rate"}),
#"Filtered Rows1" = Table.SelectRows(#"Expanded Table1", each ([type] = "Anytime" or [type] = "Day" or [type] = "EA Levy")),
#"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows1",{"Index"})
in
#"Removed Columns1"
也请参阅示例文件样本文件
https://stackoverflow.com/questions/73604269
复制相似问题