Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Power Query w Excelu, Power BI i Fabric
Za dużo elementów w wyliczeniu po przestawieniu kolumny - błędy w komórkach
Komunikat „Za dużo elementów w wyliczeniu” pojawia się, gdy przestawiasz kolumnę poleceniem Kolumna przestawna, a w opcjach zaawansowanych wybierasz Nie agreguj. Zapytanie działa, ale w części komórek nowej macierzy zamiast wartości stoi Error. Pokazujemy, jak znaleźć zdublowane pary, jak dobrać agregację i co zrobić, gdy każda wartość ma zostać widoczna osobno.
Krok Kolumna przestawna się wykonuje i tabela ma tyle wierszy, ile się spodziewasz, ale niektóre komórki pokazują Error. Pozostałe komórki tego samego wiersza mają poprawne wartości. Kliknięcie w puste miejsce obok napisu Error pokazuje komunikat:
Expression.Error: Za dużo elementów w wyliczeniu, aby można było ukończyć operację.Angielski oryginał to Expression.Error: There were too many elements in the enumeration to complete the operation. Szczegóły tego błędu to lista wartości, które trafiły do jednej komórki. W naszym teście sklep Nordvella Wrocław miał dwa wiersze za styczeń, ze sprzedażą 100 i 50, i właśnie te dwie wartości zawierała lista, a komórka za luty pokazała poprawne 80.
Komunikat łatwo pomylić z „Jest za mało elementów w wyliczeniu”. Oba mówią o liczbie elementów, ale tu problemem jest nadmiar wartości, a nie ich brak.
Kolumna przestawna zamienia wartości jednej kolumny, na przykład Miesiąc, w nagłówki nowych kolumn, a wartości z kolumny wskazanej w polu Kolumna wartości wpisuje do komórek. Każda komórka wyniku to para: wiersz, u nas sklep, i nowa kolumna, u nas miesiąc. Z agregacją, na przykład Suma, Power Query łączy wszystkie wartości pary w jedną liczbę. Z opcją Nie agreguj zakłada, że wartość jest dokładnie jedna. Gdy jest ich więcej, zgłasza błąd, ale tylko w tej komórce.
Zdublowane pary mają dwa źródła:
Wiersz wyniku wyznaczają wszystkie kolumny tabeli poza przestawianą i kolumną wartości. Dodatkowa kolumna, na przykład numer powtórzenia, rozbija wynik na więcej wierszy, a jej brak skleja wartości, które powinny trafić do osobnych wierszy.
= Table.Group(Źródło, {"Sklep", "Miesiąc"}, {{"Wiersze", each Table.AddIndexColumn(_, "Nr", 1, 1), type table}}), zostawiając nazwę poprzedniego kroku z Twojej formuły. Rozwiń kolumnę Wiersze ikoną w nagłówku z kolumnami Sprzedaż i Nr, a dopiero potem przestaw Miesiąc z opcją Nie agreguj. W naszym teście zamiast jednego wiersza z błędem powstały dwa: ze 100 i z 50 za styczeń.Table.Pivot: each Text.Combine(_, ", "). W naszym teście dwie uwagi za styczeń dały jeden tekst: remont, inwentaryzacja.
Kliknij ostatni krok: w macierzy nie ma napisów Error, a po włączeniu na karcie Widok pola Jakość kolumn każda kolumna miesiąca pokazuje 0% przy słowie Błąd. Przy agregacji Suma porównaj sumę jednej kolumny miesiąca z sumą tego miesiąca przed przestawieniem: muszą być równe. Zdublowane pary znalezione w pierwszym kroku powinny teraz mieć w macierzy sumę wszystkich swoich wartości.
Nawrotom zapobiegniesz, przestawiając kolumnę na końcu przepisu, na danych już zgrupowanych do jednego wiersza na parę, i wybierając Nie agreguj tylko wtedy, gdy masz pewność, że para się nie powtórzy. Kopię zapytania z grupowaniem możesz zostawić jako kontrolę: dopóki nie ma zdublowanych par, zwraca pustą tabelę.
Wróć do listy: 88 najczęstszych pytań i problemów związanych z Power Query
Szkolenie Microsoft Excel - Power Query --> Dwa dni warsztatów z Excela: pobieranie danych z plików, folderów, SharePointa i baz SQL, ich czyszczenie i łączenie w Power Query, praca w języku M, a na koniec model danych i oparta na nim tabela przestawna. Prowadzi Sebastian Stasiak.
To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...