{"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-10-26T12:25:58","modified_gmt":"2026-10-26T11:25:58","slug":"laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/","title":{"rendered":"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy"},"content":{"rendered":"<p>Data Blending \u0142\u0105czy tabele z kilku \u017ar\u00f3de\u0142 w jednym wykresie. Z\u0142\u0105czenie przyporz\u0105dkowuje wiersze wed\u0142ug pasuj\u0105cych warto\u015bci, na przyk\u0142ad tej samej daty i identyfikatora kampanii. Wiarygodnie wygl\u0105daj\u0105ce sumy nadal mog\u0105 by\u0107 b\u0142\u0119dne, gdy z\u0142\u0105czenie powtarza warto\u015bci, usuwa niedopasowane klucze lub \u0142\u0105czy niezgodne metryki. Rzetelna kontrola obejmuje poszczeg\u00f3lne klucze i sumy.<\/p>\n\n<p>Znaczenie maj\u0105 trzy etapy: grupowanie ka\u017cdej tabeli wed\u0142ug wybranych wymiar\u00f3w, \u0142\u0105czenie powsta\u0142ych wierszy oraz mo\u017cliwa ponowna agregacja w wykresie. Kontroli wymagaj\u0105 te\u017c filtry tabel, zakresy dat i filtry wykresu. Sam typ z\u0142\u0105czenia nie okre\u015bla ko\u0144cowej liczby.<\/p>\n\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-10152-blend-tutorial-20261024-pl.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Jeden wiersz na klucz to dopiero pocz\u0105tek: filtry, dopasowania i agregacja wykresu wp\u0142ywaj\u0105 na wynik.\"><figcaption>Jeden wiersz na klucz to dopiero pocz\u0105tek: filtry, dopasowania i agregacja wykresu wp\u0142ywaj\u0105 na wynik.<\/figcaption><\/figure>\n\n<h2>1. Okre\u015blenie znaczenia jednego wiersza<\/h2>\n\n<p>Przed wyborem p\u00f3l warto okre\u015bli\u0107 docelowy wiersz: jeden dzie\u0144, kampania w danym dniu lub zam\u00f3wienie. Klucz musi odpowiada\u0107 temu poziomowi szczeg\u00f3\u0142owo\u015bci. Warunek z\u0142o\u017cony mo\u017ce zawiera\u0107 osobne pola daty i kampanii; sklejanie tekst\u00f3w nie jest potrzebne.<\/p>\n\n<p>Je\u017celi wiersz daty zawiera 100 sesji i pasuje do trzech wierszy kampanii, z\u0142\u0105czenie tworzy trzy kopie warto\u015bci sesji. P\u00f3\u017aniejsze SUM daje 300. Mno\u017cnik wynosi trzy tylko dla kluczy z dok\u0142adnie trzema dopasowaniami. \u0141\u0105czna suma zale\u017cy zar\u00f3wno od warto\u015bci metryk, jak i liczby dopasowa\u0144.<\/p>\n\n<p>Z\u0142\u0105czenie jeden-do-wielu nie zawsze jest b\u0142\u0119dem: suma kampanii mo\u017ce celowo towarzyszy\u0107 szczeg\u00f3\u0142om dziennym. Oznaczenie i agregacja musz\u0105 wtedy odpowiada\u0107 znaczeniu danych. AVG lub MAX nie jest uniwersaln\u0105 deduplikacj\u0105 i mo\u017ce zgubi\u0107 wk\u0142ad innych kampanii. Jeden wiersz na klucz po obu stronach jest prost\u0105 opcj\u0105 dla por\u00f3wnania jeden-do-jednego.<\/p>\n\n<h2>2. Wyb\u00f3r z\u0142\u0105czenia wed\u0142ug pytania raportu<\/h2>\n\n<p>Left outer zachowuje lewe wiersze i do\u0142\u0105cza dopasowania z prawej. Right outer odwraca ten wyb\u00f3r. Inner zachowuje tylko pasuj\u0105ce pary. Full outer zachowuje te\u017c niedopasowane wiersze obu stron. Cross \u0142\u0105czy ka\u017cdy wiersz z ka\u017cdym i nie wymaga klucza.<\/p>\n\n<p>Full outer nie zapobiega powt\u00f3rzeniom i nie tworzy dni nieobecnych w obu \u017ar\u00f3d\u0142ach. Kalendarz z jednym wierszem na wymagany dzie\u0144 mo\u017ce by\u0107 podstaw\u0105 left join\u00f3w, je\u015bli wszystkie z\u0142\u0105czenia u\u017cywaj\u0105 jego daty, a p\u00f3\u017aniejsze filtry nie usuwaj\u0105 niedopasowanych wierszy. Przy full outer wy\u015bwietlana data mo\u017ce wymaga\u0107 IFNULL(data_lewa, data_prawa).<\/p>\n\n<p>Kolejne z\u0142\u0105czenia pracuj\u0105 na wynikach wcze\u015bniejszych operacji. Pierwsza fizyczna tabela nie jest wi\u0119c ca\u0142ym lewym wej\u015bciem ka\u017cdego nast\u0119pnego z\u0142\u0105czenia. Blend obs\u0142uguje najwy\u017cej pi\u0119\u0107 tabel, wliczaj\u0105c kalendarz. Niezale\u017cne wykresy mog\u0105 u\u017cywa\u0107 osobnych blend\u00f3w; jeden wykres z wi\u0119ksz\u0105 liczb\u0105 wej\u015b\u0107 mo\u017ce wymaga\u0107 wcze\u015bniejszego przygotowania danych.<\/p>\n\n\n\n<!-- lw-flux-illu 10152-a2 -->\n<figure class=\"lw-illu\"><img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/illustrationen\/flux-10152-a2.webp\" width=\"1120\" height=\"630\" loading=\"lazy\" decoding=\"async\" alt=\"Wszystkie spodki zostaj\u0105 w rz\u0119dzie, nawet pusty, a fili\u017canki bez spodka stoj\u0105 z boku. Tak dzia\u0142a LEFT JOIN w bazie danych: zostaj\u0105 wszystkie wiersze pierwszej tabeli, a do\u0142\u0105czane s\u0105 tylko pasuj\u0105ce.\"><figcaption>Wszystkie spodki zostaj\u0105 w rz\u0119dzie, nawet pusty, a fili\u017canki bez spodka stoj\u0105 z boku. Tak dzia\u0142a LEFT JOIN w bazie danych: zostaj\u0105 wszystkie wiersze pierwszej tabeli, a do\u0142\u0105czane s\u0105 tylko pasuj\u0105ce.<\/figcaption><\/figure>\n\n\n<h2>3. Kontrola kluczy i rzeczywistych wierszy wej\u015bciowych<\/h2>\n\n<p>Data i znacznik czasu wymagaj\u0105 zgodnych typ\u00f3w oraz jawnej strefy czasowej raportu. Konwersja blisko p\u00f3\u0142nocy mo\u017ce przypisa\u0107 to samo zdarzenie do r\u00f3\u017cnych dni. LOWER i TRIM mog\u0105 normalizowa\u0107 nazwy kampanii tylko wtedy, gdy pozwala na to znaczenie biznesowe. R\u00f3\u017cne identyfikatory nie powinny \u0142\u0105czy\u0107 si\u0119 wy\u0142\u0105cznie z powodu podobnej pisowni.<\/p>\n\n<p>Klucz mo\u017cna przygotowa\u0107 w \u017ar\u00f3dle lub w obs\u0142ugiwanym polu obliczeniowym pojedynczej tabeli blendu. Obliczenia wewn\u0105trz jednej tabeli mog\u0105 u\u017cywa\u0107 tylko jej p\u00f3l. Obliczenia \u0142\u0105cz\u0105ce pola kilku tabel nale\u017c\u0105 do etapu po z\u0142\u0105czeniu, na przyk\u0142ad do wykresu.<\/p>\n\n<p>Record Count cz\u0119sto liczy bazowe rekordy \u017ar\u00f3d\u0142a, a nie wst\u0119pnie zagregowane wiersze z\u0142\u0105czenia. Dzienne z\u0142\u0105czenie jeden-do-jednego mo\u017ce wi\u0119c pokaza\u0107 warto\u015b\u0107 wi\u0119ksz\u0105 od jednego. Tabela diagnostyczna powinna ujawnia\u0107 wszystkie wybrane wymiary, liczb\u0119 wierszy na pe\u0142ny klucz i brakuj\u0105ce klucze. Przekroczenie czasu konektora mo\u017ce wywo\u0142a\u0107 komunikat b\u0142\u0119du; pusty wykres sam nie wyja\u015bnia przyczyny.<\/p>\n\n<h2>4. Czytelne nazwy p\u00f3l<\/h2>\n\n<p>Aliasy takie jak sessions_a i sessions_b u\u0142atwiaj\u0105 kontrol\u0119 formu\u0142. Nadal potrzebny jest wyb\u00f3r w\u0142a\u015bciwego pola \u017ar\u00f3d\u0142owego. Identyczne nazwy wy\u015bwietlane nie dowodz\u0105 same w sobie, \u017ce program po cichu obliczy\u0142 b\u0142\u0119dn\u0105 sum\u0119.<\/p>\n\n<p>Metryki \u017ar\u00f3d\u0142owe mog\u0105 by\u0107 agregowane ponownie po po\u0142\u0105czeniu. SUM pasuje do warto\u015bci addytywnych na docelowym poziomie, lecz nie naprawia powielonych wierszy ani liczby unikalnych u\u017cytkownik\u00f3w. Przed zmian\u0105 agregacji automatycznej potrzebne jest zrozumienie jej dzia\u0142ania. Dwa wykresy mog\u0105 u\u017cywa\u0107 jednego blendu na r\u00f3\u017cnych poziomach, je\u015bli pozwala na to znaczenie metryk.<\/p>\n\n<h2>5. Rozdzielenie u\u017cytkownik\u00f3w, zdarze\u0144 i wska\u017anik\u00f3w<\/h2>\n\n<p>Suma u\u017cytkownik\u00f3w regionalnych us\u0142ug liczy przynale\u017cno\u015bci do us\u0142ug, niekoniecznie unikalne osoby. Dzienne liczby unikalnych u\u017cytkownik\u00f3w r\u00f3wnie\u017c nie wyznaczaj\u0105 unikalnej liczby miesi\u0119cznej: ta sama osoba odwiedzaj\u0105ca stron\u0119 w poniedzia\u0142ek i wtorek jest liczona w obu dniach, lecz w miesi\u0105cu powinna by\u0107 policzona tylko raz. Takie zliczenia s\u0105 addytywne wy\u0142\u0105cznie przy znanych roz\u0142\u0105cznych populacjach. Sam eksport zdarze\u0144 nie rozwi\u0105zuje identyfikacji mi\u0119dzy us\u0142ugami: deduplikacja wymaga prawid\u0142owego identyfikatora o wsp\u00f3lnym zakresie i okre\u015blonej regu\u0142y to\u017csamo\u015bci.<\/p>\n\n<p>Dla dw\u00f3ch roz\u0142\u0105cznych \u017ar\u00f3de\u0142 o zgodnych definicjach wska\u017anik mo\u017cna obliczy\u0107 z sum sk\u0142adnik\u00f3w. W przyk\u0142adzie converted_sessions liczy sesje z co najmniej jednym pasuj\u0105cym wynikiem. Liczba zdarze\u0144 w liczniku zmieni\u0142aby znaczenie na zdarzenia na sesj\u0119 i mog\u0142aby przekroczy\u0107 100 procent.<\/p>\n\n<p>Brak warto\u015bci nie oznacza automatycznie zera. Nieudany import, brak dopasowania klucza i potwierdzony dzie\u0144 bez aktywno\u015bci maj\u0105 r\u00f3\u017cne znaczenie. Poni\u017csza formu\u0142a celowo pozostawia niepe\u0142ne dane nierozstrzygni\u0119te; zast\u0105pienie zerem jest w\u0142a\u015bciwe tylko przy potwierdzonej zerowej aktywno\u015bci.<\/p>\n\n<figure style=\"--cbb-digits:2\" class=\"cbb cbb--wrap cbb--numbers wp-block-code-beautifier-block-code\" data-lang=\"plain\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Text<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-plain\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\">CASE\n<\/span><span class=\"cbb-line\">  WHEN SUM(\n<\/span><span class=\"cbb-line\">    CASE\n<\/span><span class=\"cbb-line\">      WHEN sessions_a IS NULL OR sessions_b IS NULL\n<\/span><span class=\"cbb-line\">        OR converted_sessions_a IS NULL\n<\/span><span class=\"cbb-line\">        OR converted_sessions_b IS NULL\n<\/span><span class=\"cbb-line\">      THEN 1 ELSE 0\n<\/span><span class=\"cbb-line\">    END\n<\/span><span class=\"cbb-line\">  ) &gt; 0 THEN NULL\n<\/span><span class=\"cbb-line\">  ELSE\n<\/span><span class=\"cbb-line\">    (SUM(converted_sessions_a) + SUM(converted_sessions_b))\n<\/span><span class=\"cbb-line\">    \/ NULLIF(SUM(sessions_a) + SUM(sessions_b), 0)\n<\/span><span class=\"cbb-line\">END<\/span><\/code><\/pre><\/figure>\n\n<p>Formu\u0142a wykresu zak\u0142ada jeden kompletny wiersz na wsp\u00f3lny klucz po obu stronach, roz\u0142\u0105czne populacje, zgodne okresy i nieujemne liczby sesji. Nazwy p\u00f3l s\u0105 przyk\u0142adowymi aliasami. Ka\u017cdy niepe\u0142ny po\u0142\u0105czony wiersz pozostawia pusty wynik; osobna kontrola kompletno\u015bci musi te\u017c wykry\u0107 daty lub klucze nieobecne w obu \u017ar\u00f3d\u0142ach. Wynik liczbowy jest u\u0142amkiem wy\u015bwietlanym jako procent.<\/p>\n\n<h2>6. Testowanie kontrprzyk\u0142adami<\/h2>\n\n<p>W przyk\u0142adzie A ma 100 sesji i 10 wynik\u00f3w, a B ma 900 sesji i 9 wynik\u00f3w. \u0141\u0105czny wska\u017anik wynosi 19\/1000 = 1,9%. Je\u015bli A pasuje raz, a B trzy razy, SUM po z\u0142\u0105czeniu daje 37\/2800, oko\u0142o 1,32%. Licznik i mianownik z tego samego \u017ar\u00f3d\u0142a nie zachowuj\u0105 \u0142\u0105cznego wska\u017anika przy r\u00f3\u017cnych liczbach dopasowa\u0144.<\/p>\n\n<p>R\u00f3wne sumy nie dowodz\u0105 poprawno\u015bci. Pocz\u0105tkowe A=100 i B=100 daj\u0105 200; wynik z A powt\u00f3rzonym dwukrotnie i brakuj\u0105cym B r\u00f3wnie\u017c daje 200. Por\u00f3wnanie musi obejmowa\u0107 pokrycie kluczy i pojedyncze warto\u015bci. Wi\u0119ksze lub mniejsze sumy s\u0105 wskaz\u00f3wkami, nie jednoznaczn\u0105 diagnoz\u0105: r\u00f3\u017cni\u0107 mog\u0105 si\u0119 te\u017c daty, filtry, definicje metryk i aktualno\u015b\u0107 \u017ar\u00f3de\u0142.<\/p>\n\n<p>Kontrola odbiorcza por\u00f3wnuje jednakowe daty, filtry i definicje metryk w \u017ar\u00f3dle oraz blendzie. Nast\u0119pnie obejmuje reprezentatywne klucze, brakuj\u0105ce dopasowania i zerowe mianowniki. Po\u0142\u0105czone wiersze trzeba ocenia\u0107 przy agregacji faktycznie u\u017cywanej w wykresie.<\/p>\n\n<div class=\"lw-faq\"><h2>Pytania i odpowiedzi<\/h2>\n\n<h3>Czy brakuj\u0105ca prawa warto\u015b\u0107 staje si\u0119 poprawna, gdy wykres pokazuje zero?<\/h3>\n\n<p>Nie. Format wy\u015bwietlania nie potwierdza rzeczywistego zera. Pokrycie dopasowa\u0144 i kompletno\u015b\u0107 \u017ar\u00f3d\u0142a powinny by\u0107 widoczne osobno. Wska\u017anik pozostaje niedost\u0119pny, gdy istotne dane wej\u015bciowe s\u0105 nieznane.<\/p>\n\n<h3>Dlaczego dodatkowy wymiar mo\u017ce zmieni\u0107 sum\u0119?<\/h3>\n\n<p>Dodatkowy wymiar mo\u017ce podzieli\u0107 zagregowany wiersz na kilka wierszy z tym samym kluczem. Warto\u015b\u0107 drugiej strony mo\u017ce wtedy wyst\u0105pi\u0107 wielokrotnie. Przy tylko jednej warto\u015bci wymiaru na klucz liczba wierszy nie musi si\u0119 zmieni\u0107; decyduj\u0105 rzeczywiste dane.<\/p>\n\n<h3>Co w przypadku sze\u015bciu \u017ar\u00f3de\u0142?<\/h3>\n\n<p>Limit pi\u0119ciu tabel dotyczy jednego blendu, nie ca\u0142ego raportu. Oddzielne wykresy mog\u0105 u\u017cywa\u0107 osobnych blend\u00f3w. Je\u015bli jedno obliczenie wymaga sze\u015bciu wej\u015b\u0107, wcze\u015bniejsza tabela lub widok mo\u017ce dostarczy\u0107 przygotowane dane jako jedno \u017ar\u00f3d\u0142o. Kalendarz r\u00f3wnie\u017c zajmuje miejsce tabeli.<\/p>\n\n<\/div>\n\n<div class=\"lw-quellen\"><h2>\u0179r\u00f3d\u0142a<\/h2><ul><li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/how-blends-work\" target=\"_blank\" rel=\"noopener noreferrer\">Google: Tabele, typy i warunki z\u0142\u0105cze\u0144<\/a><\/li><li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/blending-tips-and-advanced-concepts\" target=\"_blank\" rel=\"noopener noreferrer\">Google: Kolejno\u015b\u0107, agregacja i filtry<\/a><\/li><li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/about-calculated-fields\" target=\"_blank\" rel=\"noopener noreferrer\">Google: Pola obliczeniowe<\/a><\/li><li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/nullif\" target=\"_blank\" rel=\"noopener noreferrer\">Google: NULLIF<\/a><\/li><li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/ifnull\" target=\"_blank\" rel=\"noopener noreferrer\">Google: IFNULL<\/a><\/li><li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/trim\" target=\"_blank\" rel=\"noopener noreferrer\">Google: TRIM<\/a><\/li><li><a href=\"https:\/\/docs.cloud.google.com\/data-studio\/lower\" target=\"_blank\" rel=\"noopener noreferrer\">Google: LOWER<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Data Blending grupuje wej\u015bcia, \u0142\u0105czy pasuj\u0105ce wiersze i mo\u017ce ponownie agregowa\u0107 wynik. Przyk\u0142ady wyja\u015bniaj\u0105 powt\u00f3rzone warto\u015bci, brakuj\u0105ce klucze, unikalnych u\u017cytkownik\u00f3w i wa\u017cone wska\u017aniki oraz ograniczenia samego por\u00f3wnania sum.<\/p>\n","protected":false},"author":1,"featured_media":30715,"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>\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy | Lukas Wojcik<\/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\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy | Lukas Wojcik\" \/>\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\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/\" \/>\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=\"article:modified_time\" content=\"2026-10-26T11:25:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10154.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=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 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\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy\",\"datePublished\":\"2026-08-23T17:07:00+00:00\",\"dateModified\":\"2026-10-26T11:25:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/\"},\"wordCount\":1370,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10154.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\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/\",\"name\":\"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10154.png\",\"datePublished\":\"2026-08-23T17:07:00+00:00\",\"dateModified\":\"2026-10-26T11:25:58+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\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10154.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10154.png\",\"width\":1200,\"height\":630,\"caption\":\"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy\"}]},{\"@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\":\"Lukas Wojcik\",\"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\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy | Lukas Wojcik","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\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/","og_locale":"en_US","og_type":"article","og_title":"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy | Lukas Wojcik","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\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-23T17:07:00+00:00","article_modified_time":"2026-10-26T11:25:58+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10154.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy","datePublished":"2026-08-23T17:07:00+00:00","dateModified":"2026-10-26T11:25:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/"},"wordCount":1370,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10154.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\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/","name":"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10154.png","datePublished":"2026-08-23T17:07:00+00:00","dateModified":"2026-10-26T11:25:58+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\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10154.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10154.png","width":1200,"height":630,"caption":"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/laczenie-danych-w-looker-studio-unikanie-blednych-sum-i-podwojnych-wierszy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0141\u0105czenie danych w Looker Studio: unikanie b\u0142\u0119dnych sum i podw\u00f3jnych wierszy"}]},{"@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":"Lukas Wojcik","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":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_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":8,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10154\/revisions"}],"predecessor-version":[{"id":26886,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10154\/revisions\/26886"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/30715"}],"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}]}}