{"id":10154,"date":"2026-08-23T19:07:00","date_gmt":"2026-08-23T17:07:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10154"},"modified":"2026-08-19T10:54:36","modified_gmt":"2026-08-19T08:54:36","slug":"data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/","title":{"rendered":"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy"},"content":{"rendered":"<p>Data Blending to funkcja Looker Studio, dawniej Data Studio, kt\u00f3ra \u0142\u0105czy kilka \u017ar\u00f3de\u0142 danych w jednym wykresie. Jest zarazem funkcj\u0105 generuj\u0105c\u0105 najbardziej pewne siebie b\u0142\u0119dne liczby, poniewa\u017c blend zawodzi po cichu: raport si\u0119 renderuje, sumy wygl\u0105daj\u0105 wiarygodnie, a nic nie wskazuje, \u017ce jaka\u015b warto\u015b\u0107 zosta\u0142a policzona trzykrotnie albo \u017ce dwie zdeduplikowane liczby dodano do siebie tak, jakby by\u0142y ilo\u015bciami.<\/p>\n<p>Pow\u00f3d jest taki, \u017ce blend nie zachowuje si\u0119 jak wyszukiwanie w arkuszu. Kolejno\u015b\u0107 jego operacji t\u0142umaczy niemal ka\u017cdy dziwny wynik \u2014 i od niej zaczyna si\u0119 ten tekst.<\/p>\n<figure class=\"lw-diagram\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/looker-blending-pl.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Dwie tabele danych obok siebie: po lewej zlaczenie na blednym poziomie szczegolowosci powtarza sesje w trzech wierszach kampanii i potraja sume, po prawej obie strony zagregowane do daty daja jeden wiersz na klucz i poprawna sume\"><figcaption>Blend najpierw agreguje ka&#380;d&#261; tabel&#281;, a &#322;&#261;czy dopiero potem &ndash; ka&#380;dy dodatkowy wymiar zmienia znaczenie jednego wiersza.<\/figcaption><\/figure>\n<h2>Co blend faktycznie robi<\/h2>\n<p>Blend wykonuje dwie operacje, w tej kolejno\u015bci: <strong>ka\u017cda tabela jest najpierw agregowana po w\u0142asnych wymiarach<\/strong>, a zagregowane wyniki s\u0105 <strong>dopiero potem<\/strong> \u0142\u0105czone po skonfigurowanym kluczu. Obie po\u0142owy tego zdania maj\u0105 znaczenie. Agregacja nast\u0119puje przed z\u0142\u0105czeniem, wi\u0119c wymiary wybrane dla tabeli decyduj\u0105, ile wierszy ta tabela wnosi do z\u0142\u0105czenia \u2014 a z\u0142\u0105czenie dopasowuje te wiersze do drugiej tabeli, wiersz po wierszu.<\/p>\n<p>Dlatego blend nie jest wyszukiwaniem i dlatego dob\u00f3r wymiar\u00f3w nie jest kwesti\u0105 kosmetyczn\u0105. Dodanie wymiaru do tabeli nie dok\u0142ada po prostu kolumny; zmienia liczb\u0119 wierszy, jakie ta tabela wnosi, a wi\u0119c i wynik z\u0142\u0105czenia.<\/p>\n<h2>Pi\u0119\u0107 typ\u00f3w z\u0142\u0105cze\u0144<\/h2>\n<p>Looker Studio oferuje standardowy zestaw, a wyb\u00f3r rozstrzyga, kt\u00f3re wiersze przetrwaj\u0105, gdy klucz istnieje tylko po jednej stronie:<\/p>\n<ul>\n<li><strong>Left outer<\/strong> \u2014 ka\u017cdy wiersz lewej tabeli plus pasuj\u0105ce wiersze prawej. Niedopasowane wiersze z prawej odpadaj\u0105. Ustawienie domy\u015blne i pow\u00f3d, dla kt\u00f3rego dzie\u0144, w kt\u00f3rym aktywno\u015b\u0107 mia\u0142o tylko drugie \u017ar\u00f3d\u0142o, potrafi znikn\u0105\u0107 z raportu.<\/li>\n<li><strong>Right outer<\/strong> \u2014 odbicie lustrzane; rzadko najczytelniejszy spos\u00f3b wyra\u017cenia intencji, bo przestawienie tabel i u\u017cycie left join zwykle czyta si\u0119 lepiej.<\/li>\n<li><strong>Inner<\/strong> \u2014 wy\u0142\u0105cznie klucze obecne w obu tabelach. Przydatne, gdy wiersz ma sens tylko wtedy, gdy oba \u017ar\u00f3d\u0142a maj\u0105 dane, i niebezpieczne, gdy w rzeczywisto\u015bci tak nie jest.<\/li>\n<li><strong>Full outer<\/strong> \u2014 wszystkie wiersze z obu stron, dopasowane tam, gdzie si\u0119 da. Najbezpieczniejszy wyb\u00f3r, gdy kompletno\u015b\u0107 liczy si\u0119 bardziej ni\u017c zwi\u0119z\u0142o\u015b\u0107, kosztem wierszy pe\u0142nych warto\u015bci pustych, kt\u00f3re musz\u0105 obs\u0142u\u017cy\u0107 pola obliczeniowe.<\/li>\n<li><strong>Cross<\/strong> \u2014 ka\u017cdy wiersz po\u0142\u0105czony z ka\u017cdym. Uzasadnione przy budowie rusztowania, na przyk\u0142ad listy dat z list\u0105 kana\u0142\u00f3w, i katastrofalne, gdy wybrane przypadkiem.<\/li>\n<\/ul>\n<p>Regu\u0142a praktyczna: je\u015bli pytanie brzmi \u201ejak te dwie rzeczy rozwija\u0142y si\u0119 w tym samym okresie\u201d, full outer po dacie chroni przed cicho gubionymi dniami. Je\u015bli pytanie brzmi \u201eco sta\u0142o si\u0119 z rekordami istniej\u0105cymi w obu systemach\u201d, uczciwym wyborem jest inner \u2014 a liczba wierszy, kt\u00f3re przy tym odpadaj\u0105, sama zas\u0142uguje na zaraportowanie.<\/p>\n<h2>Gdzie klucze z\u0142\u0105czenia p\u0119kaj\u0105 bez ostrze\u017cenia<\/h2>\n<p>Klucz z\u0142\u0105czenia musi zgadza\u0107 si\u0119 dok\u0142adnie, a wi\u0119kszo\u015b\u0107 niepowodze\u0144 bierze si\u0119 z warto\u015bci wygl\u0105daj\u0105cych dla cz\u0142owieka identycznie, a dla maszyny nie.<\/p>\n<p>Najcz\u0119stszy przypadek to poziom szczeg\u00f3\u0142owo\u015bci daty: jedno \u017ar\u00f3d\u0142o podaj\u0105ce znacznik czasu i drugie podaj\u0105ce dat\u0119 nigdy si\u0119 nie dopasuj\u0105, a rozwi\u0105zaniem jest udost\u0119pnienie czystego pola daty w ka\u017cdym \u017ar\u00f3dle, a nie liczenie na to, \u017ce blend to pogodzi. Dalej idzie wielko\u015b\u0107 liter i bia\u0142e znaki \u2014 <code>Newsletter<\/code>, <code>newsletter<\/code> i <code>newsletter&nbsp;<\/code> to trzy r\u00f3\u017cne klucze. Normalizacja przez <code>LOWER()<\/code> i <code>TRIM()<\/code> nale\u017cy do \u017ar\u00f3d\u0142a danych jako pole obliczeniowe, bo pole utworzone tam jest dost\u0119pne jako klucz z\u0142\u0105czenia \u2014 edytor blendu nie jest miejscem na naprawianie danych wej\u015bciowych. Formatowanie walut i ustawienia regionalne powoduj\u0105 t\u0119 sam\u0105 klas\u0119 awarii przy kluczach liczbowych i identyfikatorach.<\/p>\n<p>Jeszcze jedno ograniczenie ma charakter strukturalny: klucze o bardzo wysokiej kardynalno\u015bci, jak identyfikator transakcji, spowalniaj\u0105 blendy \u2014 a blend, kt\u00f3ry przekroczy limit czasu, to pusty wykres, a nie komunikat o b\u0142\u0119dzie.<\/p>\n<h2>Wymiary decyduj\u0105, co znaczy jeden wiersz<\/h2>\n<p>Najkosztowniejszym pojedynczym b\u0142\u0119dem jest pozostawienie w jednej tabeli wymiaru, kt\u00f3rego druga nie ma. Je\u015bli tabela A jest zagregowana po dacie, a tabela B po dacie i kampanii, klucz z\u0142\u0105czenia po dacie dopasuje jeden wiersz z A do trzech wierszy z B, a metryka z A powt\u00f3rzy si\u0119 trzykrotnie. Suma jest wtedy dok\u0142adnie trzy razy za du\u017ca \u2014 i nadal jest okr\u0105g\u0142\u0105, wiarygodnie wygl\u0105daj\u0105c\u0105 liczb\u0105.<\/p>\n<p>Zapobiegaj\u0105 temu dwa nawyki. Pierwszy: ustali\u0107 poziom szczeg\u00f3\u0142owo\u015bci blendu przed wyborem jakiegokolwiek pola i zagregowa\u0107 ka\u017cd\u0105 tabel\u0119 dok\u0142adnie do tego poziomu \u2014 je\u015bli blend jest na poziomie daty, \u017cadna tabela nie niesie kampanii. Drugi to diagnostyka: dodanie <strong>Record Count<\/strong> z ka\u017cdej tabeli do tymczasowego widoku tabelarycznego natychmiast pokazuje, czy klucz trafia wi\u0119cej wierszy, ni\u017c powinien, bo czyste z\u0142\u0105czenie jeden-do-jednego zwraca record count r\u00f3wny jeden na wiersz i tabel\u0119.<\/p>\n<p>Gdy poziom kampanii jest naprawd\u0119 potrzebny, nale\u017cy do drugiego blendu zbudowanego na tym poziomie, a nie do tego samego. Pojedynczy blend obs\u0142uguj\u0105cy dwa poziomy szczeg\u00f3\u0142owo\u015bci to \u017c\u0105danie, kt\u00f3rego nie da si\u0119 spe\u0142ni\u0107.<\/p>\n<h2>Nazwy metryk i sumy mi\u0119dzy us\u0142ugami<\/h2>\n<p>\u0141\u0105czenie tej samej metryki z kilku us\u0142ug \u2014 na przyk\u0142ad \u0142\u0105cznej liczby u\u017cytkownik\u00f3w z trzech regionalnych us\u0142ug GA4 \u2014 trafia na zachowanie, kt\u00f3re \u0142atwo wzi\u0105\u0107 za b\u0142\u0105d rachunkowy.<\/p>\n<p>Ka\u017cda tabela w blendzie zachowuje nazwy p\u00f3l ze swojego \u017ar\u00f3d\u0142a. Gdy trzy tabele wnosz\u0105 po polu o nazwie <em>Total users<\/em>, do blendu trafiaj\u0105 trzy pola o tej samej nazwie, a pole obliczeniowe zapisane jako dodawanie tej nazwy nie ma jednoznacznego sposobu, by zwi\u0105za\u0107 si\u0119 z w\u0142a\u015bciwym. Wychodzi z tego liczba powstaj\u0105ca bez komunikatu o b\u0142\u0119dzie i nieb\u0119d\u0105ca zamierzon\u0105 sum\u0105.<\/p>\n<p>Rozwi\u0105zaniem jest <strong>zmiana nazwy ka\u017cdej metryki w edytorze blendu, zanim powstanie jakiekolwiek pole obliczeniowe<\/strong>. Wyra\u017ane, rozr\u00f3\u017cnialne nazwy \u2014 <code>users_de<\/code>, <code>users_at<\/code>, <code>users_ch<\/code> \u2014 czyni\u0105 odwo\u0142anie jednoznacznym, a dodawanie zaczyna zachowywa\u0107 si\u0119 zgodnie z oczekiwaniem:<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>-- Wiarygodne dopiero, gdy kazda metryka zrodlowa ma unikalna nazwe\nusers_de + users_at + users_ch<\/code><\/pre>\n<p>Przy tej samej okazji warto sprawdzi\u0107 agregacj\u0119 ustawion\u0105 dla ka\u017cdej metryki w blendzie. Pole z agregacj\u0105 automatyczn\u0105 mo\u017ce zachowa\u0107 si\u0119 inaczej ni\u017c takie, kt\u00f3re ma jawnie ustawione <code>SUM<\/code> \u2014 a poniewa\u017c oba renderuj\u0105 si\u0119 bez zastrze\u017ce\u0144, lepiej wybra\u0107 ustawienie jawne.<\/p>\n<h2>Metryki, kt\u00f3rych nie wolno sumowa\u0107 w og\u00f3le<\/h2>\n<p>Zmiana nazw sprawia, \u017ce dodawanie dzia\u0142a mechanicznie. Czy dodawanie cokolwiek znaczy, to osobne pytanie \u2014 a dla dw\u00f3ch kategorii metryk odpowied\u017a brzmi: nie.<\/p>\n<p><strong>Zliczenia zdeduplikowane<\/strong> \u2014 u\u017cytkownicy, u\u017cytkownicy aktywni, ka\u017cde zliczenie unikalnych \u2014 nie s\u0105 addytywne. Osoba odwiedzaj\u0105ca dwie z trzech us\u0142ug to jedna osoba; dodanie trzech liczb raportuje dwie. To samo dotyczy czasu: zsumowanie dziennych u\u017cytkownik\u00f3w w miesi\u0105cu nie daje u\u017cytkownik\u00f3w miesi\u0119cznych. \u017badna konfiguracja blendu tego nie naprawi, bo informacji potrzebnej do deduplikacji w zagregowanych warto\u015bciach ju\u017c nie ma. Gdy potrzebna jest rzetelna liczba u\u017cytkownik\u00f3w w skali kilku us\u0142ug, deduplikacja musi nast\u0105pi\u0107 przed Looker Studio \u2014 w praktyce na danych surowych w hurtowni.<\/p>\n<p><strong>Wska\u017aniki i \u015brednie<\/strong> \u2014 CTR, wsp\u00f3\u0142czynnik konwersji, wsp\u00f3\u0142czynnik odrzuce\u0144, \u015brednia warto\u015b\u0107 zam\u00f3wienia \u2014 trzeba przeliczy\u0107 po blendzie, a nie \u0142\u0105czy\u0107. \u015arednia dw\u00f3ch wsp\u00f3\u0142czynnik\u00f3w konwersji nie jest wsp\u00f3\u0142czynnikiem konwersji danych po\u0142\u0105czonych, chyba \u017ce obie strony maj\u0105 przypadkiem identyczne mianowniki. Poprawna forma sumuje sk\u0142adniki i dzieli na ko\u0144cu:<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>-- Zle: usrednianie dwoch wskaznikow\n(conv_rate_a + conv_rate_b) \/ 2\n\n-- Dobrze: przeliczenie z zsumowanych skladnikow\n(conversions_a + conversions_b) \/ (sessions_a + sessions_b)<\/code><\/pre>\n<h2>Dalsze techniki warte poznania<\/h2>\n<ul>\n<li><strong>Tabela kalendarzowa jako kotwica.<\/strong> Zblendowanie obu \u017ar\u00f3de\u0142 z ma\u0142\u0105 tabel\u0105 zawieraj\u0105c\u0105 ka\u017cd\u0105 dat\u0119 zakresu, z left joinami wychodz\u0105cymi od niej, gwarantuje, \u017ce \u017caden dzie\u0144 nie zniknie dlatego, \u017ce jedno \u017ar\u00f3d\u0142o nie mia\u0142o aktywno\u015bci.<\/li>\n<li><strong>Trzyma\u0107 blendy w\u0105sko.<\/strong> Blend odpytuje swoje \u017ar\u00f3d\u0142a ponownie, wi\u0119c ka\u017cde nieu\u017cywane pole kosztuje czas \u0142adowania. Wybranie tylko p\u00f3l potrzebnych wykresowi to decyzja wydajno\u015bciowa w takim samym stopniu jak porz\u0105dkowa.<\/li>\n<li><strong>Kolejno\u015b\u0107 tabel nie jest kosmetyczna.<\/strong> Pierwsza tabela jest lew\u0105 stron\u0105 ka\u017cdego left joina \u2014 a wi\u0119c tabel\u0105, kt\u00f3rej kompletno\u015b\u0107 dziedziczy raport.<\/li>\n<li><strong>Limit pi\u0119ciu tabel<\/strong> to warunek projektowy, kt\u00f3ry lepiej zaplanowa\u0107, ni\u017c odkry\u0107: blend wymagaj\u0105cy wi\u0119kszej liczby wej\u015b\u0107 zwykle sygnalizuje, \u017ce \u0142\u0105czenie nale\u017cy do hurtowni.<\/li>\n<li><strong>Obs\u0142uga warto\u015bci pustych.<\/strong> Z\u0142\u0105czenia zewn\u0119trzne generuj\u0105 warto\u015bci puste, a dzia\u0142anie arytmetyczne z warto\u015bci\u0105 pust\u0105 daje warto\u015b\u0107 pust\u0105 zamiast drugiego sk\u0142adnika. Opakowanie sk\u0142adnik\u00f3w przed dodaniem \u2014 <code>IFNULL(metryka, 0)<\/code> \u2014 zapobiega znikaniu wierszy z sumy bez widocznego powodu.<\/li>\n<li><strong>Nie ka\u017cde pole przetrwa blend.<\/strong> Pola obliczeniowe oparte w \u017ar\u00f3dle na agregacji nieaddytywnej nie zawsze s\u0105 dost\u0119pne w blendzie, co bywa sygna\u0142em, by przenie\u015b\u0107 obliczenie w g\u00f3r\u0119, do \u017ar\u00f3d\u0142a danych.<\/li>\n<\/ul>\n<h2>Podsumowanie<\/h2>\n<p>Data Blending jest niezawodny, gdy potraktuje si\u0119 powa\u017cnie jego kolejno\u015b\u0107 operacji: najpierw agregacja, potem z\u0142\u0105czenie. Niemal ka\u017cdy niewiarygodny wynik sprowadza si\u0119 do jednej z czterech przyczyn. Wymiar pozostawiony w jednej tabeli zwielokrotni\u0142 wiersze. Klucz z\u0142\u0105czenia nie trafi\u0142 z powodu typu lub formatowania. Nazwa metryki by\u0142a niejednoznaczna mi\u0119dzy tabelami. Albo metryka od pocz\u0105tku nie by\u0142a addytywna.<\/p>\n<p>Odpowiadaj\u0105ca temu dyscyplina jest kr\u00f3tka. Ustali\u0107 poziom szczeg\u00f3\u0142owo\u015bci przed wyborem p\u00f3l i zagregowa\u0107 do niego ka\u017cd\u0105 tabel\u0119. Wybra\u0107 typ z\u0142\u0105czenia \u015bwiadomie, zamiast przyjmowa\u0107 ustawienie domy\u015blne. Zmieni\u0107 nazw\u0119 ka\u017cdej metryki w blendzie na unikaln\u0105, zanim powstanie pole obliczeniowe, i ustawi\u0107 jej agregacj\u0119 jawnie. Przelicza\u0107 wska\u017aniki z zsumowanych sk\u0142adnik\u00f3w zamiast je u\u015brednia\u0107, a zliczenia zdeduplikowane traktowa\u0107 jako co\u015b, czego blend nie potrafi dostarczy\u0107. I zanim zblendowana liczba trafi na prezentacj\u0119 \u2014 zestawi\u0107 j\u0105 z t\u0105 sam\u0105 liczb\u0105 w jej w\u0142asnym \u017ar\u00f3dle: blend zgodny ze swoimi wej\u015bciami jest godny zaufania, a taki, kt\u00f3ry zgodny nie jest, ma konkretn\u0105 i mo\u017cliw\u0105 do znalezienia przyczyn\u0119.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak blend naprawd\u0119 dzia\u0142a \u2014 najpierw agregacja, potem z\u0142\u0105czenie \u2014 co robi ka\u017cdy z pi\u0119ciu typ\u00f3w join\u00f3w, dlaczego jeden dodatkowy wymiar potrafi zwielokrotni\u0107 ka\u017cd\u0105 liczb\u0119 i dlaczego suma metryki z kilku us\u0142ug wymaga wcze\u015bniejszej zmiany nazwy pola.<\/p>\n","protected":false},"author":1,"featured_media":11412,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[92097,92100,92511,92116],"class_list":["post-10154","post","type-post","status-publish","format-standard","hentry","category-digital-analytics-pl","tag-data-quality-pl","tag-google-analytics-4-pl","tag-looker-studio-pl","tag-web-analytics-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy - Lukas Wojcik - Blog<\/title>\n<meta name=\"description\" content=\"Jak dzia\u0142a blend \u2013 najpierw agregacja, potem z\u0142\u0105czenie \u2013 co robi pi\u0119\u0107 typ\u00f3w join\u00f3w i dlaczego jeden wymiar wi\u0119cej potrafi zwielokrotni\u0107 ka\u017cd\u0105 liczb\u0119.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Jak dzia\u0142a blend \u2013 najpierw agregacja, potem z\u0142\u0105czenie \u2013 co robi pi\u0119\u0107 typ\u00f3w join\u00f3w i dlaczego jeden wymiar wi\u0119cej potrafi zwielokrotni\u0107 ka\u017cd\u0105 liczb\u0119.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-23T17:07:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-10154-data-blending-w-looker-studio-joiny--c.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy\",\"datePublished\":\"2026-08-23T17:07:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/\"},\"wordCount\":1623,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-10154-data-blending-w-looker-studio-joiny--c.png\",\"keywords\":[\"Data Quality\",\"Google Analytics 4\",\"Looker Studio\",\"Web Analytics\"],\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/\",\"name\":\"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-10154-data-blending-w-looker-studio-joiny--c.png\",\"datePublished\":\"2026-08-23T17:07:00+00:00\",\"description\":\"Jak dzia\u0142a blend \u2013 najpierw agregacja, potem z\u0142\u0105czenie \u2013 co robi pi\u0119\u0107 typ\u00f3w join\u00f3w i dlaczego jeden wymiar wi\u0119cej potrafi zwielokrotni\u0107 ka\u017cd\u0105 liczb\u0119.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-10154-data-blending-w-looker-studio-joiny--c.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-10154-data-blending-w-looker-studio-joiny--c.png\",\"width\":1200,\"height\":630,\"caption\":\"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy - Lukas Wojcik - Blog","description":"Jak dzia\u0142a blend \u2013 najpierw agregacja, potem z\u0142\u0105czenie \u2013 co robi pi\u0119\u0107 typ\u00f3w join\u00f3w i dlaczego jeden wymiar wi\u0119cej potrafi zwielokrotni\u0107 ka\u017cd\u0105 liczb\u0119.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/","og_locale":"en_US","og_type":"article","og_title":"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy - Lukas Wojcik - Blog","og_description":"Jak dzia\u0142a blend \u2013 najpierw agregacja, potem z\u0142\u0105czenie \u2013 co robi pi\u0119\u0107 typ\u00f3w join\u00f3w i dlaczego jeden wymiar wi\u0119cej potrafi zwielokrotni\u0107 ka\u017cd\u0105 liczb\u0119.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-23T17:07:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-10154-data-blending-w-looker-studio-joiny--c.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy","datePublished":"2026-08-23T17:07:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/"},"wordCount":1623,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-10154-data-blending-w-looker-studio-joiny--c.png","keywords":["Data Quality","Google Analytics 4","Looker Studio","Web Analytics"],"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/","name":"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-10154-data-blending-w-looker-studio-joiny--c.png","datePublished":"2026-08-23T17:07:00+00:00","description":"Jak dzia\u0142a blend \u2013 najpierw agregacja, potem z\u0142\u0105czenie \u2013 co robi pi\u0119\u0107 typ\u00f3w join\u00f3w i dlaczego jeden wymiar wi\u0119cej potrafi zwielokrotni\u0107 ka\u017cd\u0105 liczb\u0119.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-10154-data-blending-w-looker-studio-joiny--c.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-10154-data-blending-w-looker-studio-joiny--c.png","width":1200,"height":630,"caption":"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/data-blending-w-looker-studio-joiny-metryki-i-pulapki-pomiedzy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Data Blending w Looker Studio: joiny, metryki i pu\u0142apki pomi\u0119dzy"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=10154"}],"version-history":[{"count":2,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10154\/revisions"}],"predecessor-version":[{"id":12064,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10154\/revisions\/12064"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/11412"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}