Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Power Query w Excelu
Wynik zapytania jest zbyt duży, aby załadować go do arkusza - limit 1 048 576 wierszy
Power Query bez trudu przetwarza więcej niż 1 048 576 wierszy, ale arkusz Excela więcej nie pomieści. Na wynik większy niż ten limit Power Query w Excelu ma komunikat, który odsyła do modelu danych. Pokazujemy, co dokładnie zostaje w arkuszu, jak przełączyć ładowanie na model danych i kiedy lepiej zmniejszyć wynik grupowaniem jeszcze w zapytaniu.
Zapytanie w edytorze działa i pokazuje podgląd, a kłopot zaczyna się przy ładowaniu wyniku do arkusza. Power Query w Excelu opisuje tę sytuację komunikatem: „Wynik tego zapytania jest zbyt duży, aby można było załadować go do określonej lokalizacji w arkuszu. Arkusze mają limit 1 048 576 wierszy i 16 384 kolumn. Załaduj to zapytanie do modelu danych.” (ang. „The result of this query is too large to be loaded to the specified location on the worksheet. Worksheets have a limit of 1,048,576 rows and 16,384 columns. Please load the query to the Data Model instead.”).
Sprawdziliśmy w Excelu, co zostaje w arkuszu, gdy wynik ma dokładnie 1 048 576 wierszy. Tabela zaczynająca się w komórce A1 zajęła całą kolumnę do ostatniego wiersza arkusza i miała 1 048 575 wierszy danych, bo jeden wiersz zajął nagłówek. Ostatni wiersz wyniku do arkusza nie trafił. Każda suma albo tabela przestawna liczona z takiej tabeli pomija więc część danych.
Limit dotyczy arkusza, a nie Power Query. Microsoft podaje w specyfikacji Power Query dla Excela, że do arkusza trafi najwyżej 1 048 576 wierszy, a tabela może mieć 16 384 kolumny. Rozmiar danych przetwarzanych przez sam silnik ogranicza dostępna pamięć wirtualna w 64-bitowym Excelu albo około 1 GB w wersji 32-bitowej. W naszym teście zapytanie policzyło 2 000 000 wierszy bez błędu, a pogrupowanie 1 100 000 wierszy według 15 sklepów dało 15 wierszy wyniku.
Tabela w arkuszu zajmuje też wiersz nagłówka, więc tabela wstawiona od komórki A1 zmieści najwyżej 1 048 575 wierszy danych. Model danych Excela, czyli silnik Power Pivot, przyjmuje miliony wierszy i nie podlega limitowi arkusza. Dlatego komunikat odsyła właśnie do modelu danych.

Po zmianie w okienku Zapytania i połączenia przy zapytaniu zobaczysz Tylko połączenie., bo Microsoft opisuje, że zapytanie załadowane do modelu danych, a nie do arkusza, jest oznaczane właśnie tak. Zlicz w tabeli przestawnej wiersze dowolnej kolumny bez pustych wartości i porównaj wynik z liczbą z kroku Zlicz wiersze. Obie liczby muszą być równe, także wtedy, gdy przekraczają 1 048 576.
Żeby problem nie wracał, zapytania z danymi transakcyjnymi, które z miesiąca na miesiąc rosną, od razu ładuj do modelu danych. Do arkusza ładuj tylko zestawienia, na które ktoś będzie patrzył, tak jak w lekcji o ładowaniu wyniku.
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...