excel-654 - Power Query - zapytanie z parametrami dotyczącymi jednej kolumny

  Рет қаралды 25,312

PMSOCHO Piotr Majcher

PMSOCHO Piotr Majcher

Күн бұрын

Пікірлер: 59
@pinolwro
@pinolwro 4 жыл бұрын
Świetny materiał! Jasno i klarownie przedstawione. Testowałem i działa świetnie. Używam do zasilenia raportu finansowego obrotówką z systemu ERP. Wcześniej ponad 70k rekordów wrzucałem do skoroszytu i excel dochodził do granic możliwości, trudno było z tego korzystać. Teraz dane trzymam w osobnym pliku, a skoroszyt pobiera tylko skonsolidowane, przetworzone i podsumowane dane przez PowerQuery. Powyższej funkcjonalności używam, żeby móc wyświetlić szczegóły danej pozycji (zapisy księgowe na wybranych kontach i np. obiektach kontrolingowych). Ale tu pojawia się problem - mam kilka parametrów, które filtrują dane źródłowe (np. konto, obiekt CO, dział itp.) ale nie wszystkie muszą być uzupełnione. Jak wymusić na takim scalonym zapytaniu, żeby wartość parametru 'null' traktował jako wszystkie możliwe? (przykład z Twojego odcinka - filtr zawiera 3 parametry: Odbiorca=null, Handlowiec="Marek", Data=null)
@pmsocho
@pmsocho 4 жыл бұрын
Hmm, pierwsze co przychodzi mi do głowy to instrukcja warunkowa if. Niestety trzeba wejść troszkę w język M. Zapytanie o nazwie "Wybrane" w pliku do tego odcinka mogłoby wyglądać wówczas tak: let Źródło = if Parametry{0}[Odbiorca] = null then Dane else Table.NestedJoin(Dane,{"Odbiorca"},Parametry,{"Odbiorca"},"Nowa kolumna",JoinKind.Inner), #"Zmieniono typ" = Table.TransformColumnTypes(Źródło,{{"Data", type date}}) in #"Zmieniono typ"
@pinolwro
@pinolwro 4 жыл бұрын
@@pmsocho Dzięki za podpowiedź. Jak dobrze rozumiem powyższe powinno zadziałać niezależnie, czy w parametrach będzie podany jeden odbiorca, kilku, czy żaden. Tylko, że jak mam tabelę, która ma 18 pól i filtrowanie może być robione na większości z nich, to trochę zaczyna się robić skomplikowane i mało czytelne. Ale póki co nie znalazłem lepszego rozwiązania. Dziś robię tak, że dane z zewnętrznego źródła ładuję do modelu danych, i wyświetlam w postaci pivota sformatowanego do postaci prostej tabeli. Dzięki temu można filtrować każde pole. Mam też drugie pytanie. Chciałem w sposób dynamiczny odwoływać się do danych zawartych w takim modelu danych za pomocą formuł (coś na zasadzie suma.warunków(wartość;konto;xxx;dział;yyy;okres;zzz) ). Próbowałem robić to przy pomocy funkcji WARTOŚĆ.MODUŁU ale jest ona strasznie nieporęczna, a główną jej wadą jest to, że musi odwoływać się elementów modułu. jest na to jakiś przejrzysty sposób?
@pmsocho
@pmsocho 4 жыл бұрын
@@pinolwro Z tego co mi wiadomo, do modelu danych mogą odwoływać się jedynie funkcje modułowe.
@NihonDream
@NihonDream Жыл бұрын
Ładnie, prosto i na temat. Dziękuję.
@kreo4366
@kreo4366 8 жыл бұрын
Ze wszystkich odcinków można się wiele nauczyć i chwała Ci za to😃 Dotychczasowa tematyka dość uniwersalna dla wszystkich😃 Power query jak najbardziej rozwojowe i tą tematykę również z ciekawością śledzę😃 Proponuje dorzucić jeszcze tematykę BAZ DANYCH, stosowałem kiedyś reguły typu bd.pole i myślę że również można z tego wyciągnąć coś ciekawego (to tak gdyby brakło pomysłów) 😃 Jeszcze raz dzięki za całość :-)
@pmsocho
@pmsocho 8 жыл бұрын
Dzięki za miłe słowa. Funkcje bazodanowe pokazywałem już w którymś z odcinków ale nie pamiętam w którym :)
@maciejmyslinski7820
@maciejmyslinski7820 6 жыл бұрын
Bardzo fajny i przydatny materiał! Na podobnej zasadzie buduje pliki gdzie muszę mieć sparametryzowaną np. ścieżkę do pliku. :)
@pmsocho
@pmsocho 6 жыл бұрын
Super! Dzięki za info i lajka! :)
@malgorzatastarosta3619
@malgorzatastarosta3619 5 жыл бұрын
Genialne, bardzo pomogło mi to w zrobieniu raportu dla koleżanki. Wielkie dzięki :)
@pmsocho
@pmsocho 5 жыл бұрын
Super! Dzięki za oglądanie, komentarz i lajka! :)
@olimaj5556
@olimaj5556 2 жыл бұрын
Mega !!a zamiast wpisywać to dodałam listę rozwijalną , którą również nauczyłam się z Twoich filmów. Działa :)
@mirekkryskapriv7445
@mirekkryskapriv7445 2 жыл бұрын
Super! Dziękuję Czy to zadziała też, w obecnym MS 365, czyli np. w desktopowym excelu zrobię taki arkusz, a potem otworzę go on-line z poziomu OneDrive?
@kamilmenartowicz2005
@kamilmenartowicz2005 4 жыл бұрын
Filmik super, a czy jest jakiś sposób by tabela z parametrem dopasowywała wyniki na zasadzie"zawiera", a nie tak ja w tym przypadku " równa się"?
@pmsocho
@pmsocho 4 жыл бұрын
Przy prezentowanej w filmie metodzie możesz osiągnąć to co opisałeś korzystając z dopasowania rozmytego (na filmie nie ma tej opcji bo w momencie nagrywania tego filmu jeszcze tego nie było).
@tomekkomar6313
@tomekkomar6313 6 жыл бұрын
krótko, jasno i węzłowato :-)
@pmsocho
@pmsocho 6 жыл бұрын
Dzięki :) Świetnie, że Ci się podobało.
@damian_dkx
@damian_dkx 2 жыл бұрын
Cześć Piotrze, jako, że nie mogłem znaleźć filmiku o tematyce bardziej zbliżonej do mojego problemiku, pozwolę sobie zadać pytanie tutaj (może Twoja odpowiedź z rozwiązaniem przyda się także jeszcze komuś). Mam taką potrzebę w PQ: chciałbym by w edytorze utworzona kolumna niestandartowa pobrała (i wypełniła się cała) wartością pobraną z konkretnej komórki w arkuszu. Chodzi mi konkretnie o pobranie daty i wypełnienie tą datą całej kolumny niestandartowej. Jak powinien wyglądać kod (funkcja) by tak się stało? Ręcznie wpisana data w kodzie kolumny niestandartowej miała by taki zapis: ="2022-06-10" a ja chciałbym, by ta data była pobrana z jednej komórki z arkusza. (musiałoby jakoś być napisane odwołanie do tego pliku, następnie arkusza no i adresu tej komórki z datą. Czy byłbyś uprzejmy podać taki kod funkcji, jaki należy wpisać w polu: Formuła kolumny niestandartowej? Tak wygląda ścieżka dostępu do komórki z datą: ='[REFAKTURY.xlsx]2022'!$D$1. Pozdrawiam Cię
@pmsocho
@pmsocho 2 жыл бұрын
Najprościej będzie pobrać wartość z tej jednej komórki jako osobne zapytanie. Następnie w tym zapytaniu można kliknąć na komórce z datą prawym przyciskiem myszki i wybrać polecenie Wyszczególnij - sprawi to, że zapytanie będzie dawało w wyniku wartość a nie tabelę. Następnie można w głównym zapytaniu utworzyć kolumnę niestandardową i w formule użyć nazwy tego pierwszego zapytania.
@damian_dkx
@damian_dkx 2 жыл бұрын
@@pmsocho Dziękuję Piotrze za podpowiedź, to było to rozwiązanie jakiego potrzebowałem. No i coś zupełnie nowego się nauczyłem. Tego nie widziałem jeszcze na żadnym z filmików. Dzięki i pozdrawiam!
@ExcelInstructor
@ExcelInstructor 3 жыл бұрын
szukałem tego rozwiązania! Dziękuję!! jednak mam małe pytanie o Data validation. gdy próbuję w data validation List umieścić taka formułę: =UNIQUE(Dane[Odbiorca];0;0) to niestety otrzymuję błąd i musze formułę wpisać do innego zakresu pomocniczego i dopiero z niego pobrać dane do data validation. da rade to obejść?
@pmsocho
@pmsocho 3 жыл бұрын
Nie da rady tego obejść na chwilę obecną.
@ExcelInstructor
@ExcelInstructor 3 жыл бұрын
@@pmsocho Like dla Pana i dislike dla microsoftu - to byłaby dość przydatna funkcjonalność
@MrBeliever69
@MrBeliever69 Жыл бұрын
Chciałem stworzyć dynamiczne zapytanie które pobiera dane z różnych baz danych. W związku z tym utworzyłem tabelę gdzie użytkownik wpisuje sobie bazę danych z jakiej chce korzystać. Nazwa bazy danych z tej tabeli jest wyszczególniona i zapisana jako połączenie. W innej zapytaniu w kroku źródło mam ścieżkę, gdzie zamiast nazwy bazy zapisanej w cudzysłowie mam nazwę tego zapytania. U mnie działa. Niestety gdy przesłałem ten plik koledze wyskakują mu błędy. Co może być przyczyną?
@przemysawborkowski8658
@przemysawborkowski8658 6 жыл бұрын
Dzień dobry. Bardzo interesujący film jak również cały kanał. Niestety nie udało mi się znaleźć potrzebnej informacji. A mianowicie: za pomocą Power Query pobieram dane ze strony NBP z historycznymi kursami walut (api.nbp.pl/api/exchangerates/rates/A/EUR/last/40?format=xml). Za pomocą edytora ustawiam widoczność odpowiednich danych (data, numer tabeli, kurs). Korzystając z formuły WYSZUKAJ.PIONOWO (=WYSZUKAJ.PIONOWO(H2-1;Tabela_kursów;Tabela_kursów[No];PRAWDA)) próbuję się odwołać do stworzonej tabeli, aby pobrać dane do obliczenia wartości z EUR na PLN z dnia poprzedzającego wystawienie rachunku. Niestety, za każdym razem dostaję odpowiedź #N/D!. Natomiast kopiując dane z tabeli Power Query obok wszystko działa jak należy. Czy jest Pan w stanie pomóc z odwołaniem się do tabeli Power Query?
@pmsocho
@pmsocho 6 жыл бұрын
Tabela będąca wynikiem działania zapytania stworzonego w PQ zachowuje się jak każda zwykła tabela w Excelu i tak samo można się do niej odwoływać. Nie wiem niestety w jaki sposób przekształciłeś pobrane dane w PQ i jak wygląda tabela będąca wynikiem zapytania więc ciężko pomóc. Na pewno źle zbudowana jest funkcja, którą napisałeś: =WYSZUKAJ.PIONOWO(H2-1;Tabela_kursów;Tabela_kursów[No];PRAWDA) Trzecim argumentem funkcji WYSZUKAJ.PIONOWO powinna być liczba a nie wskazanie całej kolumny z tabeli tak jak jest to w Twoim przypadku.
@przemysawborkowski8658
@przemysawborkowski8658 6 жыл бұрын
Dziękuję! Rozwiązałem problem. Miałem błąd w formule WYSZUKAJ.PIONOWO. Szukana wartość powinna być po lewej stronie zwracanej wartości, którą chciałem otrzymać. Pozdrawiam ( ͡° ͜ʖ ͡°)
@pmsocho
@pmsocho 6 жыл бұрын
Przemku, skoro zabrałeś się za PQ to założyłem, że WYSZUKAJ.PIONOWO masz w małym paluszku :) Świetnie, że sobie poradziłeś :)
@tomekkomar6313
@tomekkomar6313 6 жыл бұрын
A ja dziękuję Przemkowi za podesłanie linku do NBP, bo nie mogłem go ustalić. W poradnikach jest tylko mowa o kursie aktualnym, a dzięki temu linkowi można ściągać kursy z ostatniego okresu ( ja ściągam ostatni m-c). Dzięki :-)
@pmsocho
@pmsocho 6 жыл бұрын
:)
@excelisfun
@excelisfun 8 жыл бұрын
Totallly Cool Right Outer Join to Extract Records with Criteria!!! : )
@pmsocho
@pmsocho 8 жыл бұрын
It's great that we have many ways to do things in Excel or Power Query :)
@excelisfun
@excelisfun 8 жыл бұрын
: ) Almost as rad as BMX or Boomerangs!?!? Or is it the other way around!?!?
@pmsocho
@pmsocho 8 жыл бұрын
ExcelIsFun Yes! For sure. I did try boomerangs - they are super fun! I did not try BMX but I used to ride dual slalom and downhill when I was younger and my knees were in a better condition. That was also super cool :)
@excelisfun
@excelisfun 8 жыл бұрын
So many cool ways to fun, both in Excel and out! It is great to be on a Team with you!!! : )
@garyallan69
@garyallan69 8 жыл бұрын
Totally agree Mike but it's not in English??
@FRANKWHITE1996
@FRANKWHITE1996 5 жыл бұрын
Pięknie!,,
@pmsocho
@pmsocho 5 жыл бұрын
Dzięki za bycie wiernym fanem :)
@wojciechrybak3477
@wojciechrybak3477 6 жыл бұрын
Fajny sposób.
@pmsocho
@pmsocho 6 жыл бұрын
Dzięki :)
@ASWO_PL
@ASWO_PL 3 жыл бұрын
A czy istnieje sposób aby zamiast pobierać całą tabelę z bazy , edytować zapytanie SQL w segmencie "WHERE" z parametru znajdującego się w komórce i pobrać tylko wartości spełniające warunek ?
@pmsocho
@pmsocho 3 жыл бұрын
Hmm, osobiście tego nie testowałem ale wydaje mi się to do zrobienia. Googluj a jak znajdziesz działające rozwiązanie - daj koniecznie znać!
@ASWO_PL
@ASWO_PL 3 жыл бұрын
@@pmsocho wygooglać się nie udało , ale nagrywając makro od momentu importu z bazy danych uzyskałem kod w VBA, który w łatwy sposób mogę modyfikować aby parametry były pobierane z arkusza , problem jest nowy , utworzony kod VBA tworzy zawsze nowe zapytanie i arkusz o tej samej nazwie co poprzedni, i aby działało przed odpaleniem makra muszę usuwać poprzedni arkusz i zapytań również nie potrzebnie tworzy się bardzo dużo, ale to pokazuje że jest to możliwe, potrzeba tylko kogoś mądrzejszego, kto umiał by w VBA edytować połączenie jakim jest zapytanie :D .
@pmsocho
@pmsocho 3 жыл бұрын
@@ASWO_PL Niestety nie jestem specem w VBA więc nie pomogę w tej materii ale jeśli znajdziesz działające rozwiązanie albo dojdziesz do niego - daj koniecznie znać :)
@fajnefajne4339
@fajnefajne4339 4 жыл бұрын
Love
@pmsocho
@pmsocho 4 жыл бұрын
Dzięki za oglądanie :)
@MrVego86
@MrVego86 8 жыл бұрын
Dzień dobry, próbowałem to zrobić na swoim zbiorze danych, ale pojawił się problem i taki oto komunikat: DataFormat.Error: Nie możemy przekonwertować na typ Number. Szczegóły: internet Co może być przyczyną błędu? Dziękuję za pomoc.
@pmsocho
@pmsocho 8 жыл бұрын
Ciężko powiedzieć, gdy nie widzę danych. Podejrzewam, że przyczyną może być niezgodność typów danych spowodowana automatycznym rozpoznawaniem typu danych dla każdej z kolumn. Zauważ, że Power Query, bardzo często automatycznie dodaje krok o nazwie "Zmieniono typ danych" ("Changed Type"). Usuń ten krok jak tylko się pojawi i samodzielnie ustaw odpowiednie typy danych dla kolumn. Na szkoleniu "live" omawiam tego typu problemy - zapraszam :)
@MrVego86
@MrVego86 8 жыл бұрын
pmsocho miałeś rację, wystarczyło usunąć tylko ten krok! Dzięki wielkie.
@pmsocho
@pmsocho 8 жыл бұрын
Cieszę się, że pomogłem :)
@zefirekdk
@zefirekdk 7 жыл бұрын
Witam, a co z datami? Z dnia, z okresu itp.?
@pmsocho
@pmsocho 7 жыл бұрын
Na filmie pokazałem tylko jeden z wielu sposobów na sparametryzowanie zapytania Power Query. W przypadku dat zastosowałbym inne podejście ale to zbyt obszerny temat jak na komentarz YT :)
@zefirekdk
@zefirekdk 7 жыл бұрын
To może osobny filmik?
@pmsocho
@pmsocho 7 жыл бұрын
Na pewno kiedyś i ten temat się pojawi :)
excel-660 - MEDIANA warunkowa (z kryteriami) - Power Query
4:27
PMSOCHO Piotr Majcher
Рет қаралды 7 М.
小丑揭穿坏人的阴谋 #小丑 #天使 #shorts
00:35
好人小丑
Рет қаралды 41 МЛН
Motorbike Smashes Into Porsche! 😱
00:15
Caters Clips
Рет қаралды 22 МЛН
Walking on LEGO Be Like... #shorts #mingweirocks
00:41
mingweirocks
Рет қаралды 5 МЛН
2 MAGIC SECRETS @denismagicshow @roman_magic
00:32
MasomkaMagic
Рет қаралды 30 МЛН
Easily Compare Multiple Tables in Power Query
11:12
MyOnlineTrainingHub
Рет қаралды 104 М.
excel-553 - Co to jest Power Query i do czego służy
14:21
PMSOCHO Piotr Majcher
Рет қаралды 178 М.
MS Excel - Power Query
 - Własne funkcje w Power Query
7:08
Altkom Akademia
Рет қаралды 9 М.
Power Query - automatyczne przetwarzanie danych tekstowych
9:18
Include Akademia Norbert Waszak
Рет қаралды 1,2 М.
Get Multiple Files Containing Multiple Sheets with Power Query
8:49
MyOnlineTrainingHub
Рет қаралды 426 М.
10 awesome Power Query tricks you NEED to know! | Excel Off The Grid
15:44
Excel Off The Grid
Рет қаралды 48 М.
Relative date / today in Power Query IF / conditional column
12:48
David Benaim
Рет қаралды 26 М.
小丑揭穿坏人的阴谋 #小丑 #天使 #shorts
00:35
好人小丑
Рет қаралды 41 МЛН