Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Powerquery:如何根据其他行中的条件在表中插入行_Excel_Powerbi_Powerquery - Fatal编程技术网

Excel Powerquery:如何根据其他行中的条件在表中插入行

Excel Powerquery:如何根据其他行中的条件在表中插入行,excel,powerbi,powerquery,Excel,Powerbi,Powerquery,我一直在使用powerquery导入各种文件,并将它们转换为excel中可用的表格。但最近我偶然发现了一个我似乎找不到解决办法的问题 经过查询中的一些步骤后,我最终得到以下结果: 第1列第2列 法国乡村 命中次数10 未命中次数5 CountryUK 命中次数150 未命中次数35 日本国 命中次数5 中国乡村 命中次数50 未命中次数3 请参见本手册中的部分内容。假设源数据是名为Table1的表 您可以在主页中粘贴到powerquery中。。高级编辑器 它所做的是(a)从第1列创建一个唯一

我一直在使用powerquery导入各种文件,并将它们转换为excel中可用的表格。但最近我偶然发现了一个我似乎找不到解决办法的问题

经过查询中的一些步骤后,我最终得到以下结果:


第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"

有趣的建议。虽然仅仅通过阅读,我并不认为这会解决问题,但我肯定会在周一的工作中测试它。