Wyobraź sobie następujący scenariusz. Posiadasz numer faktury kilka razy w tabeli, ale tylko przy jednym numerze jest data. Sortujesz zatem w Power Query po numerach i datach malejąco (tak jak w Excelu), aby puste wartości spadły na dół tabeli. Następnie usuwasz duplikaty. Efekt? Prawdopodobnie nie działa prawidłowo. Z tym scenariuszem można spotkać się na co dzień i jest często komentowany przez społeczność, która zastanawia się: bug or feature? Jak sobie z nim poradzić?
Opcja 1: Table.Buffer na ratunek zapytania Power Query
Aby obejść to ograniczenie, dopisz w pasku formuły Table.Buffer przed operacją sortowania.
Ryzyko: Table.Buffer wczytuje całą tabelę do pamięci, więc może znacznie spowolnić zapytanie. Jeśli tak jest, przetestuj opcję 2.
Opcja 2: Kolumna indeksu
Drugą opcją jest ponumerowanie wierszy za pomocą kolumny indeksu. Dodanie tego dodatkowego kroku także gwarantuje właściwą kolejność usuwania duplikatów.
Znasz inne nietypowe funkcjonalności (błędy?) Power Query?
Podziel się w komentarzu.
Niestety PQ trzeba pilnować 🙁 Ja wyłożyłem się dzisiaj np. na tym, że w PQ w pierwszym wierszu był KOT a w drugim KOD, natomiast po eksporcie do tabeli w excelu w pierwszym wierszu był KOD a drugim KOT (odwrotnie niż w PQ). Niewłaściwie zachował się też wybierając w PQ usuń 1 pierwszy wiersz – nie usuwał pierwszego (jak było na ekranie PQ) tylko drugi (czyli 1 wg załadowanej tabeli do excela!!). Pomogło przesortowanie tabeli przed usunięciem. (Oczywiście podany przykład jest „z czapy” dla opisania problemu – realnie zestawienie miało ostatecznie kilkadziesiąt pozycji i powstało z wykonania różnych kroków w PQ)
Pewne problemy też sprawiało mi rozwijanie po scaleniu (nie do końca wiem, co było problemem) i zamiast połączyć tysiące wierszy okazywało się, że spójne było tylko kilkadziesiąt. Dopiero wstawienie kolumny indeksu (jak artykule) pomogło. Temat opisany na http://www.excelforum.pl/topics22/scalanie-pq-odnajduje-wynik-ale-rozwija-null-vt65136.htm
Hej Andrzej, dzięki za cenny komentarz. Potwierdzam, że trzeba na bieżąco sprawdzać działanie zapytań. Ja zawsze tworzę sporo zapytań sprawdzających (np. Scalanie Lewe Anty), żeby wyłapywać różnice. Pytanie, czego jeszcze o Power Query nie wiemy… 😉
Dzięki za tę poradę, index sprawdza się w moim przypadku perfekcyjnie! Mam w swoim query powtarzający się numer dokumentu, który ma przypisanych kilka dat, interesuje mnie ta najwcześniejsza więc sortuję rosnąco najpierw po nr dokumentu a potem po dacie, dodaję index, usuwam duplikaty i jest elegancko!
Dokładnie o to chodziło!
Przykład trochę niefortunny, dużo prościej i szybciej po prostu odfiltrować nulle.