电源查询 - 扩展新列
Posted
技术标签:
【中文标题】电源查询 - 扩展新列【英文标题】:power query - expanding new columns 【发布时间】:2017-02-13 12:45:42 【问题描述】:我有两个表要合并,然后我展开新列。问题是当我们将新数据输入到新的月份/年份时,第一个表可以有新的列。结果不包括这些新月份。
有没有办法在合并时设法扩展新列?
查询:
let
Source = #"320 Odemeler",
#"Merged Queries" = Table.NestedJoin(Source,"HESAP NO",#"320 Faturalar","HESAP NO","NewColumn",JoinKind.LeftOuter),
#"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", "HESAP NO", "HESAP ADI", "Nisan - 2016", "Haziran - 2016", "Temmuz - 2016", "Ağustos - 2016", "Eylül - 2016", "Ekim - 2016", "Kasım - 2016", "Aralık - 2016", "Ocak - 2017", "Şubat - 2017", "Mart - 2017", "Mayıs - 2017", "HESAP NO.1", "HESAP ADI.1", "Nisan - 2016", "Haziran - 2016", "Temmuz - 2016", "Ağustos - 2016", "Eylül - 2016", "Ekim - 2016", "Kasım - 2016", "Aralık - 2016", "Ocak - 2017", "Şubat - 2017", "Mart - 2017", "Mayıs - 2017")
in
#"Expanded NewColumn"
另一个查询:
let
Source = #"Tum Hareketler",
#"Sorted Rows" = Table.Sort(Source,"DATE_", Order.Ascending),
#"Duplicated Column" = Table.DuplicateColumn(#"Sorted Rows", "DATE_", "DATE_ - Copy"),
#"Extracted Month Name" = Table.TransformColumns(#"Duplicated Column", "DATE_", each Date.MonthName(_, "tr-TR"), type text),
#"Extracted Year" = Table.TransformColumns(#"Extracted Month Name","DATE_ - Copy", Date.Year),
#"Added Custom" = Table.AddColumn(#"Extracted Year", "Tarih", each [DATE_] & " - " & Number.ToText([#"DATE_ - Copy"], "G","")),
#"Grouped Rows" = Table.Group(#"Added Custom", "HESAP NO", "HESAP ADI", "Tarih", "Sum Alacak", each List.Sum([ALACAK]), type number),
#"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[Tarih]), "Tarih", "Sum Alacak", List.Sum)
in
#"Pivoted Column"
【问题讨论】:
也许我可以创建一个新的列列表并设置此列表的“Table.ExpandTableColumn”? 我创建了一个名为“Tarih”的新列表,但我不知道将"HESAP NO", "HESAP ADI", "Nisan - 2016", "Haziran - 2016", "Temmuz - 2016", "Ağustos - 2016", "Eylül - 2016", "Ekim - 2016", "Kasım - 2016", "Aralık - 2016", "Ocak - 2017", "Şubat - 2017", "Mart - 2017", "Mayıs - 2017"
部分替换为列表的语法...
Source = Tarih
然后我应该在Table.ExpandTableColumn
中写什么?
【参考方案1】:
首先我将“Tarih”列表转换为表格,
然后设法编写以下查询:
let
Liste = Tarih,
TarihListe = Liste [Column1],
Source = #"320 Odemeler",
#"Merged Queries" = Table.NestedJoin(Source,"HESAP NO",#"320 Faturalar","HESAP NO","NewColumn",JoinKind.LeftOuter),
#"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", TarihListe , TarihListe )
in
#"Expanded NewColumn"
因此,每次数据透视列添加新的月份列时,我不必编辑查询以将其添加到查询中...
【讨论】:
我认为您的查询逻辑有一些额外的复杂性。此外,如果您希望所有列都易于扩展,则可以使用Table.Join
而不是 Table.NestedJoin
。
@Eugene 感谢您的评论。什么样的复杂性?我们怎样才能简化它?我没用,Power Query 插入为NestedJoin
@UlmutK PowerQuery 在您使用 UI 合并表时不会自动使用 Table.Join
。你必须自己写。为了帮助您简化查询,我需要了解任务:您有哪些表以及您想要什么结果。
@Eugene 下次我会尝试手动编写,谢谢。我不会占用你更多的时间。我只是好奇而已。再次感谢您的时间和帮助!以上是关于电源查询 - 扩展新列的主要内容,如果未能解决你的问题,请参考以下文章