Witam.
Czy jest możliwość dodania kolumny niestandardowej, której wynikiem będzie grupowanie wartości np według przedziałów?
Witam.
Czy jest możliwość dodania kolumny niestandardowej, której wynikiem będzie grupowanie wartości np według przedziałów?
Witam.
Rozwiązanie w załączniku.
Z poważaniem.
Łukasz.
Załączniki
Panie Michale.
Poproszę o przykład, jaki ma być efekt końcowy i jaki jest efekt początkowy.
Pozdrawiam.
Łukasz.
Witam.
Można byłoby zrobić to bez zastosowania Power Query np. za pomocą funkcji Wyszukaj.Pionowo.
Ale chyba nie o to chodziło.
Pozdrawiam.
Łukasz.
Witam.
Kolega z pracy mnie sprowokował i wymyśliłem wersję numer 2 (automatyczną).
Kolega Krzysztof Rutkowski jeszcze pokaże inną wersję. Krzysiu należy się duża puszka napoju.
Pozdrawiam.
Łukasz.
Załączniki
Witam.
Wersja numer 3 - można wpisać wartość przedziału i Query sam je utworzy.
Pozdrawiam.
Łukasz.
Załączniki
Wypraszam sobie nikogo nie sprowokowałem.
Trochę za to posprzątałem.
Czyli jako osiągnąć ten efekt:
Budujemy tabelę i ją nazywamy tu nazwa Dane:
Dodajemy do Power Query (tu w akcji Excel 2016):
Dodajemy kolumnę niestandardową:
W języku M używanym w Power Query nie ma funkcji podobnej do Cailing i Floor (polskie nazwy zaokr.w.górę , zaokr.w.dół) które umożliwiłyby zaokrąglenie do krotności, ale są za to funkcje Number.RoundDown i Number.RoundUp niestety pracują na zaokrąglaniu wartości ułamkowych. Ale jak byśmy liczbę podzielili przez np. 100, to mamy ułamek. Z tym, że potem po zaokrągleniu potrzeba ją pomnożyć przez tą sama wartość
Dlatego funkcja, którą użyjemy do budowy kolumny niestandardowej ma postać:
Dodajemy drugą kolumnę:
Kolega użył kolejnej funkcji do złączenia ja zaproponuje tak:
Zaznaczamy obie kolumny:
Pod prawo klikiem myszy mamy menu z którego wybieramy Scal kolumny:
W oknie wybieramy Separator niestandardowy i minusik oraz nadajemy nazwę kolumnie:
Efekt:
Teraz trzeba przygotować parametryzację skoku.
Najpierw wchodzimy do edytora zaawansowanego naszego zapytania:
Zawartość:
Dodajemy modyfikację.
let
funkcjskok = (skok as number)=>
....
....
....
in
funkcjaskok
Funkcję nazwałem funkcjaskok, ale nazwa jest dowolna, tak samo jak nazwa jej argumentu.
Zamieniamy wszystkie wcześniej użyte wartości 100 na nazwę argumentu funkcji.
Po poprawkach powinno to wyglądać tak:
Po zatwierdzeniu pojawi się okno z prośbą o podanie wartości parametru:
Możemy przetestować:
Wynik:
Nasze zapytanie zamieniło się na formułę FX dane.
Wywołanie funkcji można usunąć. Generalnie chodzi teraz o to, aby był łatwiejszy automat zasilający parametr funkcji.
W arkuszu budujemy tabelę, nadajemy jej nazwę, ja moją nazwałem skok:
Dodajemy tabelę do Power Query:
Dodajemy kolumnę niestandardową:
Formuła w tabeli to:
Gdzie, #"dane" to wywołanie naszej formuły, którą zasilimy wartością z kolumny skok (uwaga na wielkości liter).
Efekt mamy taki:
Rozpakowujemy tabelę:
Wybieramy wszystkie kolumny, ale bez używania prefiksów:
Efekt:
Usuwamy kolumnę skok:
Zamknij załaduj:
Sprawdzamy czy działa, zmieniamy wartość w tabeli skok i odświeżamy tabelę załadowaną.
Załączniki
ale czad!!! dzięki wielkie za inspiracje! :=)