power query – sumifs – матрица

У меня есть приведенная ниже таблица в запросе на мощность.

╔══════════════════════╦══════════════════════╦══════════════════╗ ║ Project ║ Project 2 ║ Balance ║ ╠══════════════════════╬══════════════════════╬══════════════════╣ ║ (088) GARAJ-16 ║ (084) MFK DOMODEDOVA ║ 83,434.11 ║ ║ (088) GARAJ-16 ║ (085) FILI RESIDENCE ║ 5,936,348.56 ║ ║ (085) FILI RESIDENCE ║ (084) MFK DOMODEDOVA ║ -3,516,805.40 ║ ║ (085) FILI RESIDENCE ║ (088) GARAJ-16 ║ -4,436,348.56 ║ ║ (084) MFK DOMODEDOVA ║ (085) FILI RESIDENCE ║ 4,516,805.40 ║ ║ (084) MFK DOMODEDOVA ║ (088) GARAJ-16 ║ -83,434.11 ║ ╚══════════════════════╩══════════════════════╩══════════════════╝ 

результат, который я хочу получить:

 ╔══════════════════════╦═════════════════╦══════════════════════╦══════════════════════╗ ║ ║ (088) GARAJ-16 ║ (085) FILI RESIDENCE ║ (084) MFK DOMODEDOVA ║ ╠══════════════════════╬═════════════════╬══════════════════════╬══════════════════════╣ ║ (088) GARAJ-16 ║ $- ║ $1,500,000.00 ║ $- ║ ║ (085) FILI RESIDENCE ║ $1,500,000.00 ║ $- ║ $1,000,000.00 ║ ║ (084) MFK DOMODEDOVA ║ $- ║ $1,000,000.00 ║ $- ║ ╚══════════════════════╩═════════════════╩══════════════════════╩══════════════════════╝ 

этот результат я могу получить по двум формулам sumifs в excel, но я не смог получить результат непосредственно в силовом запросе без написания каких-либо формул.

есть идеи ?

Этот код дает результат, который вы ищете.

 let Source = Table1, #"Merged Queries" = Table.NestedJoin(Source,{"Project", "Project 2"},Source,{"Project 2", "Project"},"NewColumn",JoinKind.LeftOuter), #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"Balance"}, {"NewColumn.Balance"}), #"Inserted Addition" = Table.AddColumn(#"Expanded NewColumn", "Inserted Addition", each [Balance] + [NewColumn.Balance], type number), #"Removed Columns" = Table.RemoveColumns(#"Inserted Addition",{"Balance", "NewColumn.Balance"}), #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Sort(List.Distinct(#"Removed Columns"[Project]),1), "Project", "Inserted Addition"), #"Sorted Rows" = Table.Sort(#"Pivoted Column",{{"Project 2", Order.Descending}}) in #"Sorted Rows" 
  #"Invoked Custom Function" = Table.AddColumn(#"Added Custom", "fnButunSantiyeler", each fnButunSantiyeler([Query])), #"Expanded fnButunSantiyeler" = Table.ExpandTableColumn(#"Invoked Custom Function", "fnButunSantiyeler", {"Hesap No", "santiye kodu", "Ruble Balance", "USD Balance"}, {"Hesap No", "santiye kodu", "Ruble Balance", "USD Balance"}), #"Removed Columns" = Table.RemoveColumns(#"Expanded fnButunSantiyeler",{"Query"}), #"Merged Queries" = Table.NestedJoin(#"Removed Columns",{"santiye kodu"},#"Projects List",{"Proje Kodu"},"NewColumn",JoinKind.LeftOuter), #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"Proje Adi"}, {"Proje Adi.1"}), #"Renamed Columns" = Table.RenameColumns(#"Expanded NewColumn",{{"Proje Adi.1", "Karsi Proje"}}), #"Reordered Columns" = Table.ReorderColumns(#"Renamed Columns",{"Proje Kodu", "Proje Adi", "Hesap No", "santiye kodu", "Karsi Proje", "Ruble Balance"}), #"Added Custom2" = Table.AddColumn(#"Reordered Columns", "Proje", each "(" & [Proje Kodu] & ") " &[Proje Adi]), #"Added Custom3" = Table.AddColumn(#"Added Custom2", "Karsi Proje.1", each "(" & [santiye kodu] & ") " & [Karsi Proje]), #"Reordered Columns1" = Table.ReorderColumns(#"Added Custom3",{"Karsi Proje.1", "Proje", "Proje Kodu", "Proje Adi", "Hesap No", "santiye kodu", "Karsi Proje", "Ruble Balance"}), #"Removed Columns1" = Table.RemoveColumns(#"Reordered Columns1",{"Proje Kodu", "Proje Adi", "santiye kodu", "Karsi Proje"}), #"Renamed Columns1" = Table.RenameColumns(#"Removed Columns1",{{"Karsi Proje.1", "Karsi Proje"}}), #"Reordered Columns2" = Table.ReorderColumns(#"Renamed Columns1",{"Proje", "Karsi Proje", "Ruble Balance"}), #"Grouped Rows" = Table.Group(#"Reordered Columns2", {"Proje", "Karsi Proje", "Hesap No"}, {{"Ruble Balance", each List.Sum([Ruble Balance]), type number}}), #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each [Karsi Proje] <> null), #"Added Conditional Column" = Table.AddColumn(#"Filtered Rows", "Custom", each if [Hesap No] = "331" then [Proje]&"xxx"&[Karsi Proje] else if [Hesap No] = "131" then [Karsi Proje]&"xxx"&[Proje] else null ), #"Grouped Rows1" = Table.Group(#"Added Conditional Column", {"Custom"}, {{"sum", each List.Sum([Ruble Balance]), type number}}), #"Split Column by Delimiter" = Table.SplitColumn(#"Grouped Rows1","Custom",Splitter.SplitTextByDelimiter("xxx", QuoteStyle.Csv),{"Custom.1", "Custom.2"}), #"Rounded Off" = Table.TransformColumns(#"Split Column by Delimiter",{{"sum", each Number.Round(_, 2), type number}}), #"Sorted Rows" = Table.Sort(#"Rounded Off",{{"Custom.2", Order.Ascending}}), #"Pivoted Column" = Table.Pivot(#"Sorted Rows", List.Distinct(#"Sorted Rows"[Custom.2]), "Custom.2", "sum", List.Sum) in #"Pivoted Column" 

я решил это по-другому, я поставил его здесь, возможно, это может помочь кому-то еще …

  • Excel с использованием sumifs или другой формулы для расчета на основе критериев столбца
  • Sumifs и Error 1004: Определено приложение или Object Defined
  • Определить диапазон для sum / sumif с формулой
  • Формула Excel SUMIFS с заменяющим адресом заменяет и объединяет
  • Поиск скорости передачи в Excel в диапазоне дат
  • Сумма if / Соответствие в excel
  • вложенные ifs с несколькими суммами на основе изменяющихся критериев
  • Ошибка функции Excel Sumif
  • Подстановочный знак SUMIFS пропускает пустые ячейки
  • Сумма, если дата строки - январь, а ячейка строки имеет в ней определенный текст
  • Как вы это делаете в MS Excel?
  • Давайте будем гением компьютера.