Excel Powerquery:如何根据其他行中的条件在表中插入行
我一直在使用powerquery导入各种文件,并将它们转换为excel中可用的表格。但最近我偶然发现了一个我似乎找不到解决办法的问题 经过查询中的一些步骤后,我最终得到以下结果:Excel Powerquery:如何根据其他行中的条件在表中插入行,excel,powerbi,powerquery,Excel,Powerbi,Powerquery,我一直在使用powerquery导入各种文件,并将它们转换为excel中可用的表格。但最近我偶然发现了一个我似乎找不到解决办法的问题 经过查询中的一些步骤后,我最终得到以下结果: 第1列第2列 法国乡村 命中次数10 未命中次数5 CountryUK 命中次数150 未命中次数35 日本国 命中次数5 中国乡村 命中次数50 未命中次数3 请参见本手册中的部分内容。假设源数据是名为Table1的表 您可以在主页中粘贴到powerquery中。。高级编辑器 它所做的是(a)从第1列创建一个唯一
第1列第2列
法国乡村
命中次数10
未命中次数5
CountryUK
命中次数150
未命中次数35
日本国
命中次数5
中国乡村
命中次数50
未命中次数3
请参见本手册中的部分内容。假设源数据是名为Table1的表
您可以在主页中粘贴到powerquery中。。高级编辑器
它所做的是(a)从第1列创建一个唯一描述表(b)从第2列创建一个唯一国家名称表(c)创建两个的所有组合(d)将原始数据合并回原始数据,缺失的任何内容自动变为空,我们可以用零替换
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
// create table of all unique descriptions
#"Removed Duplicates" = Table.Distinct(Source, {"Column 1"}),
#"Select" = Table.FromList(Table.Column(#"Removed Duplicates" ,"Column 1")),
#"Added Custom1" = Table.AddColumn(#"Select", "Custom", each 1),
// create table of all unique countries
#"Filtered Rows" = Table.SelectRows(Source, each ([Column 1] = "Country")),
#"Select2" = Table.FromList(Table.Column(#"Filtered Rows" ,"Column 2")),
#"Removed Duplicates1" = Table.Distinct(Select2),
#"Added Custom" = Table.AddColumn(#"Removed Duplicates1", "Custom", each 1),
// create all possible combinations of description x countries
#"Merged Queries" = Table.NestedJoin(#"Added Custom",{"Custom"},#"Added Custom1" ,{"Custom"},"Table3",JoinKind.FullOuter),
#"Expanded Table3" = Table.ExpandTableColumn(#"Merged Queries", "Table3", {"Column1"}, {"Column1.1"}),
// create table to compare to
#"Added Custom2" = Table.AddColumn(Source, "Fill", each if [Column 1]="Country" then [Column 2] else null),
#"Filled Down" = Table.FillDown(#"Added Custom2",{"Fill"}),
// merge compare table onto combination table. Anything missing comes up as null. Then replace nulls with 0
#"Merged Queries1" = Table.NestedJoin(#"Expanded Table3",{"Column1.1", "Column1"},#"Filled Down",{"Column 1", "Fill"},"Table4",JoinKind.LeftOuter),
#"Expanded Table4" = Table.ExpandTableColumn(#"Merged Queries1", "Table4", {"Column 2"}, {"Column 2"}),
#"Replaced Value" = Table.ReplaceValue(#"Expanded Table4",null,0,Replacer.ReplaceValue,{"Column 2"}),
#"Removed Columns" = Table.RemoveColumns(#"Replaced Value",{"Column1", "Custom"})
in #"Removed Columns"
有趣的建议。虽然仅仅通过阅读,我并不认为这会解决问题,但我肯定会在周一的工作中测试它。