PowerBI: Zapytanie o mocy: Praca ze zmianą nazw kolumn z powodu zakrętów

0

Pytanie

Do raportu, który robię. Mam kolumna z datami. Czerpię miesiącach z tej kolumny, a następnie obracam miesiące.

Tak więc, na przykład, u mnie może być tabela, taka:

Część# Miesiąc Liczba
1 1 10
1 2 10
1 3 10
1 4 10
1 5 10
1 6 10

Który, gdy odwracam się, staje się:

Część# 1 2 3 4 5 6
1 10 10 10 10 10 10

Następnie переименовываю kolumny wraz z wykonaniem wielu innych zadań, takich jak tworzenie kolumny maksima. Jednak, ponieważ dane, które otrzymuję, są przeznaczone tylko na 6 miesięcy. Nazwy tych kolumn zmienią. W przyszłości to może być:

Część# 4 5 6 7 8 9
1 10 10 10 10 10 10

Tak, że wiersz takiego:

Table.ReplaceValue(#"Pivoted Column",null,0,Replacer.ReplaceValue,{"1", "2", "3", "4", "5", "6"})

zamierza stworzyć błąd, gdy kolumny będą 4,5,6,7,8,9. Czy jest jakiś sposób rozwiązać ten problem?

pivot powerbi powerquery
2021-11-22 19:02:59
2

Najlepsza odpowiedź

0

Trzeba będzie ręcznie zakodować krok do zmiany nazwy kolumn po twojej podsumowania.

Ten kod M usuwa tabelę podobną do przedstawionej w twoim przykładzie z bieżącego skoroszytu w programie Excel, a następnie skręca, jak opisujesz, a następnie zmienia nazwę kolumny w Część nr, 1-szy, 2-u, 3-cią i 4-tą i 5-tą i 6-tą. Tak, powiedziałem, że on przemianowany na Część#, choć w rzeczywistości to nie zmienia nazwę kolumny. Koniecznie włącz część# do listy, zakodowany w kroku, nawet jeśli nazwa części# właściwie się nie zmienia, bo trzeba wziąć pod uwagę wszystkie nazwy kolumn, wyodrębnione w tabeli.Nazwy kolumn. Zastąpić 1-szy, 2-gi, 3-ci, 4-ty, 5-ty i 6 - © wszelkie nazwy kolumn.

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(Source, {{"Month", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(Source, {{"Month", type text}}, "en-US")[Month]), "Month", "Qty"),
    #"Renamed Columns" = Table.RenameColumns(#"Pivoted Column", List.Zip({Table.ColumnNames(#"Pivoted Column"),{"Part#", "1st", "2nd", "3rd", "4th", "5th", "6th"}}))
in
    #"Renamed Columns"

List.Zip przekręca dwa listy razem. Tutaj przekręca Część# z oryginalnych nazw kolumn (z tabeli kroku "Podsumowanie kolumny"), a następnie Część# z listy, zakodowanym w #"ze zmienioną nazwą kolumny, a następnie następujący oryginalną nazwę kolumny (1 z pierwszego przykładu lub 4 z drugiego przykładu), a następnie 1-e z listy kolumn, zakodowanym w #"ze zmienioną nazwą kolumny, a następnie następujący oryginalną nazwę kolumny (2 z pierwszego przykładu lub 5 z drugiego przykładu), a następnie 2-f z listy kolumn, zakodowanym w #"ze zmienioną nazwą kolumny itp. To tworzy listę niezbędnego do tabeli.Zmień nazwę колумны.

2021-11-22 21:03:52
0

Można użyć TableColumNames aby uzyskać listę nazw kolumn, a następnie można przekształcić tę listę. Dlatego dla twojego przykładu można użyć coś takiego:

= Table.ReplaceValue(#"Pivoted Column",null,0,Replacer.ReplaceValue,List.Skip(Table.ColumnNames(#"Pivoted Column"),1))
2021-11-22 20:52:23

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................