<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>query folding &#8211; SkuteczneRaporty.pl</title>
	<atom:link href="https://skuteczneraporty.pl/tag/query-folding/feed/" rel="self" type="application/rss+xml" />
	<link>https://skuteczneraporty.pl</link>
	<description>Zautomatyzuj raportowanie w swojej firmie. Praktyczna wiedza dla analityków, kontrolerów i menedżerów.</description>
	<lastBuildDate>Thu, 27 Nov 2025 14:39:26 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://skuteczneraporty.pl/wp-content/uploads/2025/09/cropped-skuteczneraporty-FAVICONA-1-32x32.png</url>
	<title>query folding &#8211; SkuteczneRaporty.pl</title>
	<link>https://skuteczneraporty.pl</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Co to jest Składanie zapytań (ang. Query Folding) w Power Query? Lekcja 25. w kursie Pobieranie danych w Excelu dla finansistów</title>
		<link>https://skuteczneraporty.pl/co-to-jest-skladanie-zapytan-ang-query-folding-w-power-query-lekcja-25-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/</link>
					<comments>https://skuteczneraporty.pl/co-to-jest-skladanie-zapytan-ang-query-folding-w-power-query-lekcja-25-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/#respond</comments>
		
		<dc:creator><![CDATA[Bartosz Czapiewski]]></dc:creator>
		<pubDate>Thu, 11 Apr 2024 08:49:48 +0000</pubDate>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[baza danych SQL]]></category>
		<category><![CDATA[hurtownia danych]]></category>
		<category><![CDATA[kurs Power BI]]></category>
		<category><![CDATA[kurs Power Query]]></category>
		<category><![CDATA[Pobierz dane]]></category>
		<category><![CDATA[query folding]]></category>
		<category><![CDATA[składanie zapytań]]></category>
		<category><![CDATA[szkolenie Power BI]]></category>
		<category><![CDATA[szkolenie Power Query]]></category>
		<guid isPermaLink="false">https://skuteczneraporty.pl/?p=66974</guid>

					<description><![CDATA[Z poprzedniej lekcji nt. pobierania danych z baz danych SQL wiesz się, że poprzez przycisk Pobierz dane możesz łatwo ściągnąć dane z bazy danych i hurtowni danych, nawet jeśli nie znasz języka SQL. Co więcej, Power Query potrafi przetłumaczyć Twoje kliknięcia na gotowe zapytanie SQL w mechanizmie Składania zapytań (ang. Query Folding). W skrócie: im [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Z poprzedniej lekcji nt. <a href="https://skuteczneraporty.pl/blog/jak-polaczyc-sie-z-baza-danych-i-hurtownia-danych-w-excelu-i-power-bi-lekcja-24-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noreferrer noopener">pobierania danych z baz danych SQL</a> wiesz się, że poprzez przycisk <strong>Pobierz dane</strong> możesz łatwo ściągnąć dane z bazy danych i hurtowni danych, <strong>nawet jeśli nie znasz języka SQL</strong>. Co więcej, Power Query potrafi <strong>przetłumaczyć Twoje kliknięcia</strong> na gotowe <strong>zapytanie SQL</strong> w mechanizmie <strong>Składania zapytań</strong> (ang. Query Folding). W skrócie: im dłużej jest dostępne <strong>Zapytanie natywne</strong> na liście zastosowanych kroków, typ <strong>bardziej efektywnie</strong> pobierasz dane.</p>



<span id="more-66974"></span>



<h2 class="wp-block-heading">Kurs „Pobieranie danych w&nbsp;Excelu dla finansistów” – co&nbsp;tydzień nowe wideo</h2>



<p>Przed Tobą 25. lekcja z serii „Pobieranie danych w Excelu dla finansistów”. W kursie ukazały się dotychczas:</p>



<ul class="wp-block-list">
<li>Lekcja 1. <a href="https://skuteczneraporty.pl/blog/premiera-kursu-wideo-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Wczytaj przyjazny plik tekstowy</a></li>



<li>Lekcja 2. <a href="https://skuteczneraporty.pl/blog/jak-naprawic-popsuty-plik-tekstowy-lekcja-2-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Napraw „popsuty” plik tekstowy</a></li>



<li>Lekcja 3. <a href="https://skuteczneraporty.pl/blog/czy-umiesz-polaczyc-dane-z-wielu-plikow-np-tekstowych-i-uniknac-ctrlc-ctrlv-lekcja-3-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Połącz dane z&nbsp;wielu plików i&nbsp;uniknij Ctrl+C i&nbsp;Ctrl+V</a></li>



<li>Lekcja 4. <a href="https://skuteczneraporty.pl/blog/najgorszy-plik-tekstowy-jaki-mi-sie-trafil-lekcja-4-kursu-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Najgorszy plik tekstowy, jaki mi&nbsp;się trafił</a></li>



<li>Lekcja 5. <a href="https://skuteczneraporty.pl/blog/jak-pobrac-dane-z-pliku-z-wyciagiem-bankowym-o-rozszerzeniu-mt940-lekcja-5-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Pobierz dane z&nbsp;pliku bankowego .MT940</a></li>



<li>Lekcja 6. <a href="https://skuteczneraporty.pl/blog/jak-dolaczyc-w-pionie-wiele-arkuszy-z-1-pliku-lekcja-6-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Dołącz w&nbsp;pionie wiele arkuszy z&nbsp;1 pliku</a></li>



<li>Lekcja 7. <a href="https://skuteczneraporty.pl/blog/jak-wstawic-tabele-przestawna-bezposrednio-na-zapytaniu-power-query-lekcja-7-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Wstaw tabelę przestawną na&nbsp;zapytaniu Power Query</a></li>



<li>Lekcja 8. <a href="https://skuteczneraporty.pl/blog/jak-porownac-2-pliki-excel-ze-srodkami-trwalymi-lekcja-8-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Porównaj 2 pliki Excel ze&nbsp;środkami trwałymi</a></li>



<li>Lekcja 9. <a href="https://skuteczneraporty.pl/blog/jak-zbudowac-w-excelu-saldo-kont-na-bazie-tabeli-ksiegowan-lekcja-9-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Zbuduj w&nbsp;Excelu saldo kont na&nbsp;bazie tabeli księgowań</a></li>



<li>Lekcja 10. <a href="https://skuteczneraporty.pl/blog/jak-naprawic-w-excelu-scalone-komorki-i-spivotowane-dane-lekcja-10-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Napraw scalone komórki i&nbsp;spivotowane dane</a></li>



<li>Lekcja 11. <a href="https://skuteczneraporty.pl/blog/jak-pobrac-plik-z-dysku-onedrive-lub-sharepointa-lekcja-11-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Pobierz plik z&nbsp;dysku OneDrive lub SharePointa</a></li>



<li>Lekcja 12 i&nbsp;13. <a href="https://skuteczneraporty.pl/blog/jak-pobrac-folder-plikow-z-dysku-onedrive-lub-sharepoint-lekcja-12-i-13-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Pobierz folder plików z&nbsp;dysku OneDrive lub SharePoint</a></li>



<li>Lekcja 14. <a href="https://skuteczneraporty.pl/blog/jak-pobrac-dane-z-plikow-otrzymywanych-regularnie-na-e-mail-lekcja-14-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Pobierz dane z&nbsp;plików otrzymywanych regularnie na&nbsp;e-mail</a></li>



<li>Lekcja 15. <a href="https://skuteczneraporty.pl/blog/jak-pobrac-do-excela-dane-z-pliku-pdf-lekcja-15-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Pobierz dane do&nbsp;Excela z&nbsp;pliku PDF</a></li>



<li>Lekcja 16. <a href="https://skuteczneraporty.pl/blog/jak-pobrac-dane-z-wielu-plikow-pdf-na-raz-lekcja-16-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Pobierz dane z&nbsp;wielu plików PDF na&nbsp;raz</a></li>



<li>Lekcja 17. <a href="https://skuteczneraporty.pl/blog/jak-odczytac-w-excelu-plik-xml-z-deklaracja-jpk_vat-lekcja-17-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/">Pobierz dane z&nbsp;pliku plik XML z&nbsp;deklaracją JPK_VAT</a></li>



<li>Lekcja 18. <a href="https://skuteczneraporty.pl/blog/jak-automatycznie-pobierac-do-excela-kursy-walut-z-nbp-lekcja-18-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Automatycznie pobieraj do&nbsp;Excela kursy walut z&nbsp;NBP</a></li>



<li>Lekcja 19. <a href="https://skuteczneraporty.pl/blog/jak-sprawdzic-kontrahenta-na-bialej-liscie-podatnikow-lekcja-19-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Sprawdź kontrahenta na&nbsp;białej liście podatników przez&nbsp;API</a></li>



<li>Lekcja 20. <a href="https://skuteczneraporty.pl/blog/jak-pobrac-hurtowo-dane-o-wielu-kontrahentach-z-krs-api-lekcja-20-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Pobierz hurtowo dane o&nbsp;wielu kontrahentach z&nbsp;KRS API?</a></li>



<li>Lekcja 21. <a href="https://skuteczneraporty.pl/blog/jak-sprawdzic-jakosc-danych-lekcja-21-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/">Sprawdź jakość danych w&nbsp;Power Query</a></li>



<li>Lekcja 22. <a href="https://skuteczneraporty.pl/blog/jak-monitorowac-bledy-w-danych-lekcja-22-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Monitoruj błędy w&nbsp;danych</a></li>



<li>Lekcja 23. <a href="https://skuteczneraporty.pl/blog/baza-danych-vs-hurtownia-danych-vs-kostka-czym-sie-roznia-twoje-zaawansowane-zrodla-danych-lekcja-23/" target="_blank" rel="noopener">Baza danych vs Hurtownia danych vs Kostka – Czym się różnią Twoje&nbsp;zaawansowane źródła danych?</a></li>



<li>Lekcja 24. <a href="https://skuteczneraporty.pl/blog/jak-polaczyc-sie-z-baza-danych-i-hurtownia-danych-w-excelu-i-power-bi-lekcja-24-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/" target="_blank" rel="noopener">Połącz się z bazą danych SQL i hurtownią danych w Excelu i Power BI</a></li>
</ul>



<p>Kurs bazuje na&nbsp;codziennych wyzwaniach z&nbsp;działów finansów, kontrolingu i&nbsp;księgowości 💲. Co&nbsp;tydzień pojawi się krótki film, w&nbsp;którym&nbsp;pokażę, jak każdy użytkownik Excela 💚 i&nbsp;Power BI&nbsp;💛 może usprawnić swoją pracę.</p>



<p>Jeśli temat wykorzystania Power Query, Power Pivot, Power BI&nbsp;i&nbsp;dashboardów w&nbsp;pracy z&nbsp;danymi Cię interesuje, zapisz się na&nbsp;<a href="https://skuteczneraporty.pl/kurs-power/">kurs POWER</a>, zorganizuj szkolenie zamknięte lub <a href="https://skuteczneraporty.pl/szkolenie-otwarte-power-bi-desktop-pobieranie-danych-budowa-modelu-danych-projektowanie-dashboardow/">weź udział w&nbsp;szkoleniu otwartym</a> i&nbsp;rozpędź swoją karierę.</p>



<h2 class="wp-block-heading">Jak zapytanie w Power Query jest tłumaczone na natywne zapytanie SQL do bazy danych?</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Co to jest Składanie zapytań (ang. Query Folding) w Power Query? | Kurs Pobieranie danych w Excelu" width="1290" height="726" src="https://www.youtube.com/embed/zxQyhAbDZIs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://skuteczneraporty.pl/co-to-jest-skladanie-zapytan-ang-query-folding-w-power-query-lekcja-25-w-kursie-pobieranie-danych-w-excelu-dla-finansistow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Diagnostyka zapytań w Power Query</title>
		<link>https://skuteczneraporty.pl/diagnostyka-zapytan-w-power-query/</link>
					<comments>https://skuteczneraporty.pl/diagnostyka-zapytan-w-power-query/#respond</comments>
		
		<dc:creator><![CDATA[Bartosz Czapiewski]]></dc:creator>
		<pubDate>Tue, 02 Jun 2020 11:22:41 +0000</pubDate>
				<category><![CDATA[Power BI]]></category>
		<category><![CDATA[Power Query]]></category>
		<category><![CDATA[Diagnostyka zapytań]]></category>
		<category><![CDATA[edytor zapytań]]></category>
		<category><![CDATA[query folding]]></category>
		<category><![CDATA[wydajność zapytań]]></category>
		<category><![CDATA[zapytanie Power Query]]></category>
		<guid isPermaLink="false">https://excelbi.pl/?p=17606</guid>

					<description><![CDATA[Aktualnie w Power BI mamy coraz więcej narzędzi, które pozwalają nam na monitorowanie jego pracy. Wcześniej omówiłem Analizator wydajności, a w tym artykule omówię Diagnostykę zapytań w Power Query. Na razie jest dostępna tylko po stronie Power BI. Pozwala ona na monitorowanie i sprawdzenie, jakie zapytania są przesyłane do źródła danych. Znajduje się Power Query [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Aktualnie w Power BI mamy coraz więcej narzędzi, które pozwalają nam na monitorowanie jego pracy. Wcześniej omówiłem <a href="https://skuteczneraporty.pl/analizator-wydajnosci-power-bi/">Analizator wydajności</a>, a w tym artykule omówię <em>Diagnostykę zapytań</em> w Power Query. Na razie jest dostępna tylko po stronie Power BI.</p>



<p>Pozwala ona na monitorowanie i sprawdzenie, jakie zapytania są przesyłane do źródła danych. Znajduje się <em>Power Query &gt; Narzędzia.</em></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" src="https://skuteczneraporty.pl/wp-content/uploads/2020/05/Diagnostyka-zapyta%C5%84-w-Power-Query1.jpg" alt="Diagnostyka zapytań w Power Query" class="wp-image-17610"></figure></div>



<p>Jeżeli nie możesz uruchomić Diagnostyki, wybierz wówczas przycisk <em>Opcje diagnostyczne </em>na pasku menu i zaznacz opcję <em>Włącz w edytorze zapytań (nie wymaga uruchomienia jako administrator)</em>, co pozwoli Ci nadal w Power Query korzystać z diagnostyki pomimo ograniczeń administracyjnych w Twojej organizacji. Opcja ta jedna nie pozwoli Ci na pełną diagnostykę podczas odświeżania w usłudze Power BI.</p>



<p>Gdy uruchamiasz diagnostykę, Power Query śledzi i sprawdza każdy Twój krok. W zależności od konektora diagnostyka może rozpoczynać się nie tylko od momentu odświeżenia danych czy też pobrania ich po raz pierwszy.</p>



<p>Przycisk <em>Diagnozuj krok, </em>pozwala na sprawdzenie wydajności tylko jednego kroku, wybranego przez Ciebie, co znacznie zawęża ilość otrzymanych danych oraz całą analizę. Najbardziej przyda się w momencie, gdy zechcesz sprawdzić, jakie operacje w zapytaniu dzieją się zdalnie, a jakie lokalnie.</p>



<p>Aby zachować i zebrać dane z analizy o szerszym zakresie (odświeżania, pobierania danych), po wciśnięciu <em>Rozpocznij diagnostykę </em>należy wybrać również <em>Zatrzymaj Diagnostykę. </em>Przyciski te korespondują ze sobą.</p>



<p>Wynik analizy prezentowany jest w dwóch widokach <em>Zagregowanym </em>oraz <em>Szczegółowym, </em>które również można wybrać w opcjach diagnostyki. Wynik zagregowany jest szybką informacją o tym, gdzie i jaki czas jest poświęcony. Wynik szczegółowy jest informacją przydatną dla Power Users do analizy wykonywanych operacji (dla zwykłego użytkownika otrzymane informacje mogą być zbyt szczegółowe) .</p>



<p>Warto też wiedzieć, że operacje, które zostaną zarejestrowane w diagnostyce, nie zawsze wynikają z bezpośredniego działania użytkownika. Czasem mogą być związane z działaniem konektora czy pobieraniem metadanych.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" src="https://skuteczneraporty.pl/wp-content/uploads/2020/05/Diagnostyka-zapyta%C5%84-w-Power-Query2.jpg" alt="Diagnostyka zapytań w Power Query 1" class="wp-image-17607"></figure></div>



<h2 class="wp-block-heading"><strong>Widok szczegółowy oraz zagregowany</strong></h2>



<p>Widok zagregowany jest sumą wielu związanych ze sobą operacji, zaprezentowanych pod zbiorczą pozycją. Oznacza to, że żadne dane w ten sposób nie są tracone, np. czasy trwania są sumowane i prezentowane pod odpowiednią pozycją.</p>



<p>Widok zagregowany ma na celu w łatwy sposób na wysokim poziomie zaprezentować użytkownikowi, co się działo. Jeżeli potrzebne są bardziej szczegółowe informacje dla poszczególnych operacji, wówczas wraz z <em>Group ID</em> można przejść do widoku szczegółowego, by zobaczyć detale.</p>



<h2 class="wp-block-heading"><strong>Wykonywanie wielu ocen</strong></h2>



<p>Podczas odświeżania w Edytorze Power Query wiele dzieje się poza widokiem danych. Na przykład, gdy wybierzesz <em>Odśwież podgląd</em>,<em> </em>wówczas ostatni krok każdego zapytania zostanie wykonany, ale w tle w każdym zapytaniu zostaną wykonane wszystkie wcześniejsze kroki, dla których otrzymasz już wówczas wyniki diagnostyki.</p>



<p>Należy również pamiętać, że niesie to ze sobą pewne ryzyko, że nie zawsze otrzymamy poprawne wyniki analizy, ponieważ wykorzystywana jest pamięć podręczna.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" src="https://skuteczneraporty.pl/wp-content/uploads/2020/05/Diagnostyka-zapyta%C5%84-w-Power-query3.jpg" alt="Diagnostyka zapytań w Power Query 2" class="wp-image-17608"></figure></div>



<h2 class="wp-block-heading"><strong>Wynik diagnostyki</strong></h2>



<p>W odrębnym folderze zapytań Power Query pojawiają się zapytania z zapisanymi wynikami. Wynik posiada wiele kolumn w których znajdują się poniższe informacje:</p>



<ul class="wp-block-list"><li>ID – dla analizowania wyników jednej diagnostyki ważne jest by filtrować je o wspólnym&nbsp; Id</li><li>Query – nazwa zapytania dla którego wykonywana była diagnostyka (pochodząca z okna ustawień zapytania)</li><li>Step – nazwa kroku pochodząca z okna ustawień zapytania</li><li>Category – rodzaj operacji</li><li>Data Source Kind – rodzaj źródła danych z którego pozyskiwane są dane : plik, SQL czy Oracle</li><li>Operation – aktualnie wykonywana operacja np. tworzenie połączenia, wysyłanie zapytań do źródła danych</li><li>Start Time – czas rozpoczęcia operacji</li><li>End Time – czas zakończenia operacji</li><li>Exclusive Duration % &#8211; wyłączony czas trwania w % dla poszczególnych operacji z tego samego Id</li><li>Exclusive Duration – absolutny czas trwania operacji</li><li>Resource – dokładna nazwa źródła z którego będą pobrane dane np. ścieżka do pliku</li><li>Data Source Query – ilość zapytań wysyłana do źródła danych</li><li>Additional Info – dodatkowe informacje, które nie mieszczą się w pozostałych kolumnach</li><li>Row Count – ilość wierszy wrócona przez źródło danych, kolumna nie jest dostępna we wszystkich konektorach</li><li>Content Length – długość treści zwracana przez zapytania http</li><li>Is User Query – przyjmuje wartości false/true, informuje, czy zapytanie/operacja było wykonane przez użytkownika, czy też jest operacją typu okna Nawigatora</li><li>Path &#8211; pokazuje ścieżkę, kolejność wykonywanych operacji na której dana operacja się znajduje </li><li>Group ID – pozwala na przejście i zobaczenie w widoku szczegółowym, operacji które pod tym group id istnieją, ponieważ może być ich kilka</li></ul>



<h2 class="wp-block-heading"><strong>Rejestrowanie diagnostyki</strong></h2>



<p>Bardzo ważną informacją jest to, że na otrzymane wyniki w ramach przeprowadzonej analizy wpływa wiele czynników a mianowicie: wykonane transformacje, system na którym pracujesz, opcje konfiguracji sieci czy Power BI, złącze…</p>



<p>Rozpoczęcie diagnostyki, a następnie odświeżenie podglądu, da taki sam efekt jak diagnostyka dla każdego kroku.</p>



<p>Warto też wiedzieć, że przycisk <em>Odśwież podgląd </em>lub <em>Odśwież wszystko </em>nie spowoduje pojawienia się w diagnostyce tylko jednego wiersza <em>Refresh. </em>Spowoduje natomiast wykonanie wszystkich operacji do wykonanie odświeżenia ostatniego kroku zapytania.</p>



<p>Jak już wspomniałem, jest tu haczyk ponieważ, ponieważ nie zawsze pokazywana w diagnostyce pozycja może kosztować np. wskazany czas. Dzieje się tak ponieważ, Power BI może wykorzystywać pamięć podręczną do tego celu. W kolejnych aktualizacjach zespół deweloperów Power BI deklaruje dodanie informacji, czy dane pobierane są z pamięci podręcznej, by usprawnić diagnostykę.</p>



<p>Ponieważ wyniki diagnostyki pojawiają się jako zapytania, mogą one nam posłużyć jako źródło danych dla budowy wizualizacji w Power BI na ich bazie.</p>



<h2 class="wp-block-heading">Przykład wykorzystania diagnostyki do sprawdzenia Query Folding</h2>



<p>Najważniejszym celem diagnostyki zapytań jest sprawdzenie, jakie zapytania zostały wysłane do źródła danych przez Power Query w celu ich pozyskania, co właśnie nazywane jest <a rel="noreferrer noopener" href="https://skuteczneraporty.pl/przekaz-zapytanie-power-query-jako-sql-do-bazy-danych-czyli-query-folding/" target="_blank">Query Folding</a>. Jak widać na poniższym screenie, w jednej z kolumn możemy znaleźć zapytania wysyłane w przypadku połączenia się ze źródłem danych, w tym przypadku bazą SQL.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" src="https://skuteczneraporty.pl/wp-content/uploads/2020/05/Diagnostyka-zapyta%C5%84-w-Power-Query4.jpg" alt="Diagnostyka zapytań w Power Query 3" class="wp-image-17609"></figure></div>



<h2 class="wp-block-heading">Udało Ci się wykorzystać w praktyce Diagnostykę zapytań Power Query?</h2>



<p>Podziel się wrażeniami w komentarzu.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skuteczneraporty.pl/diagnostyka-zapytan-w-power-query/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding</title>
		<link>https://skuteczneraporty.pl/przekaz-zapytanie-power-query-jako-sql-do-bazy-danych-czyli-query-folding/</link>
					<comments>https://skuteczneraporty.pl/przekaz-zapytanie-power-query-jako-sql-do-bazy-danych-czyli-query-folding/#respond</comments>
		
		<dc:creator><![CDATA[Bartosz Czapiewski]]></dc:creator>
		<pubDate>Tue, 20 Nov 2018 17:20:09 +0000</pubDate>
				<category><![CDATA[Power Query]]></category>
		<category><![CDATA[automatyzacja raportowania]]></category>
		<category><![CDATA[filtrowanie]]></category>
		<category><![CDATA[funkcje Power Query]]></category>
		<category><![CDATA[Import danych]]></category>
		<category><![CDATA[Pobieranie i przekształcanie]]></category>
		<category><![CDATA[Privacy Settings]]></category>
		<category><![CDATA[query folding]]></category>
		<category><![CDATA[relacyjna baza danych]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://excelbi.pl/?p=8113</guid>

					<description><![CDATA[Power Query pozwala na pobranie danych z wielu różnych źródeł i ich przekształcenie. Niewielu użytkowników PQ ma jednak świadomość, że wykonane w PQ transformacje można przesłać do bazodanowego źródła jak natywne zapytanie SQL. Właśnie ta możliwość, nazywana Query Folding, jest bardzo ważną cechą. Sprawdźmy, jak ona działa i jakie ma ograniczenia. Działanie Query Folding Łącząc [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Power Query pozwala na pobranie danych z wielu różnych źródeł i ich przekształcenie. Niewielu użytkowników PQ ma jednak świadomość, że wykonane w PQ transformacje można przesłać do bazodanowego źródła jak natywne zapytanie SQL. Właśnie ta możliwość, nazywana Query Folding, jest bardzo ważną cechą. Sprawdźmy, jak ona działa i jakie ma ograniczenia.<span id="more-8113"></span></p>
<h1>Działanie Query Folding</h1>
<p>Łącząc się z serwerowym źródłem danych (np. bazą Microsoft SQL Server), Power Query tłumaczy wykonane operacje na język źródła danych. W przypadku wspominanego SQL Servera wygenerowane zostanie zapytanie w języku T-SQL, a kalkulacje zostaną przeprowadzone już w źródle &#8211; przed pobraniem danych przez PQ. Dzięki temu do Query może być pobranych mniej danych, co jest bardzo ważnym aspektem działania Query Folding. Przykładowo, jeśli baza danych zawiera 100 mln rekordów, ale interesują Cię tylko dane z tego roku (5 mln rekordów), Query Folding przyspieszy niesamowicie działanie zapytania, pobierając tylko potrzebną część danych. Operacja ta ma 2 ograniczenia:</p>
<h1>1. Nie każde źródło obsługuje Query Folding</h1>
<p>Mechanizm Query Folding wspierają:</p>
<ul>
<li>relacyjne bazy danych,</li>
<li>modele Analysis Services,</li>
<li>Azure Marketplace,</li>
<li>listy SharePoint,</li>
<li>Exchange,</li>
<li>Active Directory,</li>
<li>HDFS i niektóre operacje na systemie plików.</li>
</ul>
<p>Query Folding nie działa m.in. dla plików Excel i tekstowych &#8211; wszystkie zmiany wykonane są lokalnie na naszym komputerze.</p>
<h1>2. Nie wszystkie wykonane działania mogą być przeniesione na źródło</h1>
<p>W przypadku baz danych dużą część operacji możesz przerzucić na źródło, m.in.:</p>
<ul>
<li>agregacja,</li>
<li>filtracja,</li>
<li>pivot/unpivot,</li>
<li>proste kalkulacje liczbowe,</li>
<li>proste transformacje tekstowe,</li>
<li>złączenia wertykalne (union),</li>
<li>złączenia horyzontalne (join).</li>
</ul>
<p>Szczegółowa dokumentacja w tym zakresie po stronie Power Query jest niestety uboga i potrzebne są własne testy.</p>
<p>Część z wykonywanych w Power Query operacji może być przerzucona do źródła, a część nie. Taka sytuacja nazwa się Partially Query Folding. Ważne jest, że gdy następuje czynność nieprzerzucana na źródło, <strong>wszystkie występujące w sekwencji po niej nie zostaną wykonane na źródle</strong>. Dlatego warto jest zaplanować działania w taki sposób, by jak najwięcej z nich zostało wykonanych na źródle: na początku wykonywane na źródle, na końcu nie.</p>
<h1>Przykład Query Folding dla bazy SQL Server</h1>
<p>Połączę się z tabelą znajdującą się w bazie danych SQL Server. W tym celu uruchamiam zakładkę <em>Dane&gt; Pobieranie i przekszta</em><em>łcanie &gt; Nowe zapytanie &gt; Z bazy danych &gt; Z bazy danych programu SQL Server.</em></p>
<p><img fetchpriority="high" decoding="async" class="aligncenter wp-image-8114 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding1.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 18" width="614" height="196" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding1.jpg 614w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding1-300x96.jpg 300w" sizes="(max-width: 614px) 100vw, 614px" /></p>
<p>Wprowadzam parametry: nazwę serwera oraz bazę danych.</p>
<p><img decoding="async" class="aligncenter wp-image-8115 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding2.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 19" width="611" height="255" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding2.jpg 611w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding2-300x125.jpg 300w" sizes="(max-width: 611px) 100vw, 611px" /></p>
<p>Wybieram tabelę z danymi dotyczącymi budżetu i ładuję ją jako połączenie do Power Query. By pokazać jakie działania będą przekazywane na źródło, dokonam różnych modyfikacji danych.</p>
<p>W pierwszej kolejności przefiltruję kolumnę typ danych i wybiorę z niej jedynie typ budżet.</p>
<p><img decoding="async" class="aligncenter wp-image-8116 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding3.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 20" width="495" height="362" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding3.jpg 495w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding3-300x219.jpg 300w" sizes="(max-width: 495px) 100vw, 495px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8117 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding4.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 21" width="451" height="370" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding4.jpg 451w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding4-300x246.jpg 300w" sizes="(max-width: 451px) 100vw, 451px" /></p>
<p>Następnie grupuję dane według kolumn MPK, Kategorii biznesowej, Konta, Spółki, Typu danych oraz partnera. Polem agregacji będzie Kwota w kPLN.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8118 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding5.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 22" width="614" height="400" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding5.jpg 614w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding5-300x195.jpg 300w" sizes="(max-width: 614px) 100vw, 614px" /></p>
<p>W kolejnym kroku w kolumnie <em>Partner odfiltruj</em><em>ę </em>wartości <em>null.</em></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8119 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding6.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 23" width="350" height="282" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding6.jpg 350w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding6-300x242.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></p>
<p>W kolumnie <em>Typ danych </em>zmieniam poprzez <em>Prawy przycisk myszy </em>na nazwie kolumny &gt; <em>Przekszta</em><em>łć &gt; Ma</em><em>łe litery.</em></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8120 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding7.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 24" width="613" height="321" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding7.jpg 613w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding7-300x157.jpg 300w" sizes="(max-width: 613px) 100vw, 613px" /></p>
<p>Po wykonaniu wszystkich tych operacji widzę listę zastosowanych kroków.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8121 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding8.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 25" width="251" height="326" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding8.jpg 251w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding8-231x300.jpg 231w" sizes="(max-width: 251px) 100vw, 251px" /></p>
<h1>Monitorowanie działania Query Folding</h1>
<p>By przekonać się, które z operacji są przekazane do źródła w Power Query, wystarczy wybrać z listy kroków jeden z nich, wyświetlić menu podręczne. Powinna się na nim znaleźć pozycja <em>Wy</em><em>świetl zapytanie natywne. </em>Jeżeli jest ona aktywna, to wybrany krok oraz wszystkie przed nim są przekazane do źródła (Query Folding działa w całości). Jeżeli jest inaczej, wówczas wybrany krok na pewno nie jest przekazany do źródła i możliwe że wcześniejsze również (by dowiedzieć się który z kroków hamuje przekazanie danych do źródła należy sprawdzić dla nich aktywność opcji <em>Wy</em><em>świetl zapytanie natywne).</em></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8122 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding9.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 26" width="767" height="469" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding9.jpg 767w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding9-300x183.jpg 300w" sizes="(max-width: 767px) 100vw, 767px" /></p>
<p>Przykładem operacji, która nie jest przekazywana do źródła to transpozycja. <em>Przekszta</em><em>łć &gt; Tabela &gt;Transponuj. </em></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8123 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding10.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 27" width="356" height="207" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding10.jpg 356w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding10-300x174.jpg 300w" sizes="(max-width: 356px) 100vw, 356px" /></p>
<p>Na liście kroków pojawił się nowy <em>Trasponowano tabel</em><em>ę</em>. Jak widać poniżej, opcja <em>Wyświetl zapytanie natywne </em>jest nieaktywna dla tego kroku, więc od tego kroku działanie nie jest przekazywane do źródła.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8124 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding11.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 28" width="282" height="391" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding11.jpg 282w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding11-216x300.jpg 216w" sizes="(max-width: 282px) 100vw, 282px" /></p>
<h1>Kiedy dane nie są przekazywane do źródła?</h1>
<p>Istnieje jeszcze wiele innych sytuacji, w których nie istnieje możliwość przekazania danych do źródła (Query Folding zostaje wyłączone):</p>
<ul>
<li>gdy używamy źródła, które nie obsługuje Query Folding.</li>
<li>użycie funkcji .<em>Buffer() </em>języka M &#8211; funkcja ta powoduje zaczytanie wszystkich danych do pamięci Power Query. Przydaje się, gdy chcemy uniknąć wielokrotnego pobierania danych z bazy SQL, z dysku czy witryny internetowej. Polecenie buffer załaduje dane do pamięci i przestanie składać zapytania do źródła.</li>
<li>użycie własnego polecenia SQL do pozyskania danych z bazy SQL</li>
<li>niektóre z transformacji np. filtrowanie według opcji <em>Ten miesiąc</em> dla kolumny z datą<em>.</em></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8126 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding13.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 29" width="622" height="433" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding13.jpg 622w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding13-300x209.jpg 300w" sizes="(max-width: 622px) 100vw, 622px" /></p>
<p>Wyświetlenie zapytania natywnego nie jest możliwe</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8127 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding14.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 30" width="606" height="479" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding14.jpg 606w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding14-300x237.jpg 300w" sizes="(max-width: 606px) 100vw, 606px" /></p>
<ul>
<li>ustawienia poziomów prywatności (opisane we wcześniejszym artykule <a href="https://skuteczneraporty.pl/ignoruj-poziom-prywatnosci-prosty-sposob-na-przyspieszenie-power-query/">https://skuteczneraporty.pl/ignoruj-poziom-prywatnosci-prosty-sposob-na-przyspieszenie-power-query/</a>), mają one znaczenie gdy przesyłane są dane wrażliwe pomiędzy źródłami danych.</li>
<li>użycie opcji usunięcia wierszy z błędami: <em>Narz</em><em>ędzia g</em><em>łówne &gt; Zmniejsz wiersze &gt; Usu</em><em>ń b</em><em>łędy.</em></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8128 size-full" src="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding15.jpg" alt="Przekaż zapytanie Power Query jako SQL do bazy danych, czyli Query Folding 31" width="575" height="595" srcset="https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding15.jpg 575w, https://skuteczneraporty.pl/wp-content/uploads/2018/11/Query-folding15-290x300.jpg 290w" sizes="(max-width: 575px) 100vw, 575px" /></p>
<ul>
<li>użycie i definiowanie własnych funkcji w Power Query.</li>
</ul>
<h1>Opcja <em>Wyświetl zapytanie natywne </em>wyłączyła się w innej sytuacji?</h1>
<p>Podziel się w komentarzu.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skuteczneraporty.pl/przekaz-zapytanie-power-query-jako-sql-do-bazy-danych-czyli-query-folding/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
