Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

W tym samouczku przeanalizujemy interesujące pytanie, które zostało zadane na dotyczące sposobu dynamicznego scalania zmieniającej się liczby kolumn w tabeli dodatku Power Query. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.

Ten scenariusz dotyczy eksportów nieprzetworzonych danych, które powodują rozlewanie danych do nieznanej liczby sąsiednich kolumn. Gdy spojrzysz na przykład, zobaczysz, że opis został przeniesiony do Kolumny 4, a Opis 2 został podzielony na dwie sąsiednie kolumny. Ale nie zawsze tak będzie. W następnym cyklu ta liczba kolumn może się zmienić.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Zanim przejdziemy do rozwiązania, przyjrzyjmy się kodowi M generowanemu przez dodatek Power Query podczas scalania kolumn.

Spis treści

Kod M tabeli Power Query

Istnieje kilka sposobów scalania kolumn. Jednym z nich jest wybranie zarówno kolumny opisu, jak i naciśnięcie klawisza Shift lub Control, a następnie wybranie również kolumny 4. Następnie kliknij prawym przyciskiem myszy i wybierz Scal kolumny .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Lub na karcie Przekształć wybierz scalanie kolumn . Pojawi się to okno dialogowe, w którym możesz wybrać Separator.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

W wyskakującym okienku wybierz Tab i możesz wprowadzić nową nazwę kolumny. W tym przypadku nazwałem go Opis.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Na pasku formuły widzimy kod M utworzony w tym kroku transformacji.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Jeśli pasek formuły nie jest widoczny na ekranie, przejdź do karty Widok i włącz ją.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Tak więc funkcja, której dodatek Power Query używa do scalania kolumn, to Table.CombinedColumns . Pierwszym parametrem, który pobiera, jest tabela. Ta tabela jest zwracana przez poprzedni krok w naszym kodzie, więc w zastosowanych krokach zobaczysz, że nazywa się to Source .

Następnie zakodował na stałe nazwy kolumn na liście. Tutaj widzisz inicjatory listy, a między wartościami w tekście, opis nazwy kolumny i kolumnę nazwy kolumny 4. Następnie wywołuje inną funkcję M, aby połączyć wartości tekstowe w tych kolumnach.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

I na koniec przekazuje nową nazwę kolumny jako tekst, abyśmy mogli to dostosować.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Jeśli więc chcemy, aby ta funkcja dynamicznie scalała zmieniającą się liczbę kolumn, będziemy musieli zmienić wartość tego drugiego parametru, który zawiera teraz listę zakodowanych na stałe nazw kolumn.

Scalanie zmieniającej się liczby kolumn w tabeli dodatku Power Query

Wrócę do mojego zapytania o surowe dane i jeśli przyjrzymy się bliżej nazwom kolumn, zobaczymy, że każda z kolumn wycieku jest anonimowa. Nie mają nazw własnych, ale wszystkie zaczynają się od kolumny tekstowej, po której następuje liczba. Zobaczmy, czy możemy to wykorzystać. Najpierw utworzę odniesienie , klikając tutaj prawym przyciskiem myszy i wybierając Odniesienie .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Aby uzyskać nazwy kolumn na pasku formuły, mogę dodać Table.ColumnNames . Ta funkcja zwraca listę zawierającą wszystkie nazwy kolumn z tej tabeli. Zamieńmy to z powrotem w tabelę, klikając Do tabeli .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

W tym wyskakującym oknie kliknij OK.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Następnie na karcie Dodaj kolumnę wybiorę Format , a następnie Przytnij .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

To nie jest transformacja, którą chcę wykonać, ale generuje ona dla mnie większość kodu M. Wszystko, co muszę zrobić, to zastąpić tę funkcję przycinania własną logiką .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Tak więc w pasku formuły, zamiast Text.Trim , możemy powiedzieć if Text.StartsWith , a następnie wskazać naszą kolumnę 1 , a ja natychmiast to skopiuję. Chce tego tekstu, którego szukamy, więc to będzie Kolumna. Więc jeśli zaczyna się od kolumny tekstowej, chcemy „null” – dla wszystkiego innego chcemy tego, co znajduje się w kolumnie 1. Możemy również zmienić nazwę tej kolumny, więc w pasku formuły zamiast Trim nazwijmy ją GroupColumn .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Teraz wszystko, co musimy zrobić, to wypełnić je tymi wartościami. Klikam więc prawym przyciskiem myszy nagłówek, wybieram Fill i Down .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Tak więc następnym razem, gdy pojawią się dane i zmieni się liczba kolumn, ta grupa automatycznie je pobierze.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Zmieńmy nazwę tego zapytania, nazwę go grupami kolumn.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Upewnijmy się, że jego ładowanie zostało wyłączone, ponieważ jest to tylko zapytanie pomocnicze.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Mogę odwołać się do tego zapytania pomocniczego i zmienię jego nazwę później. Zostawmy to na razie. Jeśli pamiętasz, zaczęliśmy od scalenia dwóch kolumn i w ten sposób utworzyliśmy zakodowaną na stałe listę z nazwami kolumn , ale teraz możemy filtrować według opisu w naszej GroupColumn .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Jeśli więc wykonamy ten filtr w opisie w kolumnie 1, otrzymamy kolumny spełniające te kryteria.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Jest to jednak tabela, a nie lista. Musimy wyodrębnić wszystko, co pozostaje w tej pierwszej kolumnie, ponieważ musimy uwzględnić te kolumny w naszej operacji scalania. Aby to zrobić, możemy kliknąć prawym przyciskiem myszy nagłówek kolumny 1 i wybrać opcję Drąż w dół .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

I teraz otrzymujemy listę. Nadajmy więc temu zapytaniu odpowiednią nazwę ( ListDescr ) i sprawdźmy, czy jest wyłączone z ładowania.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Teraz możemy wrócić do naszego zapytania Result i zastąpić ten drugi argument tutaj naszą listą dynamiczną. Więc tutaj możemy odwołać się do naszego ListDescr .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Powtórzmy to również dla Opisu 2. Przejdę do mojego zapytania ColumnGroups. Utworzę kolejne odwołanie i wybiorę potrzebne kolumny. Następnie przefiltruję opis 2, który zwróci te trzy kolumny. Kliknę prawym przyciskiem myszy mój nagłówek i wybiorę opcję Uszczegółowienie, a także zmienię nazwę tego zapytania ( ListDescr2 ).

Następnie wrócę do mojego zapytania wynikowego, wybierz kolumnę Opis2 i naciśnij klawisz Shift lub Control, aby wybrać również następną kolumnę (kolumna2). Klikam prawym przyciskiem myszy nagłówek i wybieram Scal kolumny .

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

W wyskakującym okienku wybiorę Tab jako separator i nazwę to Opis2.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query

Po prostu zmienię nazwę kolumny tutaj na pasku formuły. Zmienię również tę zakodowaną na stałe listę z listy, którą właśnie utworzyliśmy. A teraz, jak widać, dotyczy to również kolumny 8, którą wcześniej wykluczyliśmy.

Jak dynamicznie łączyć kolumny w tabeli dodatku Power Query


Jak scalać zapytania w usłudze LuckyTemplates
Parametry zapytań usługi LuckyTemplates: Optymalizacja tabel
Sortowanie kolumn tabeli dat w usłudze LuckyTemplates

Wniosek

Na tym blogu pokazałem, jak używać kodów M w dodatku Power Query do dynamicznego scalania kolumn. Nie jest to trudne, o ile wiesz, jak działa Power Query i jakich kodów M użyć.

Mam nadzieję, że ci się podobało. Sprawdź poniższe linki, aby uzyskać więcej powiązanych treści.

Wszystkiego najlepszego!

Melisa

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.