V H3.0 METRICS se pracuje s velkými objemy dat a snahou v rámci datové hygieny je aktualizovat jenom ta data, která dávají smysl. Takový přístup šetří čas, datové objemy, náklady na GBQ i přírodu symozřejmě. Proto se, zejména při práci s Ads Transparency daty od Meta, přistupuje k rozdělení dat do více tabulek, přičemž se aktualizuje jenom ta poslední.
Například:
– do tabulky “META_competitors_daily_2024” si uložíme data za rok 2024 a tuto už neaktualizujeme
– na tabulku “META_competitors_daily_2025” si nastavíme aktivní, pravidelně aktualizovaný datatask, který do ní bude pravidelně posílat denní data za 2025
Takto mohou vznikat i složitejší komplexy tabulek například s měsíčními daty.
Vzhledem k tomu, že ale chceme data vizualizovat společně, spojíme pro potřebu vizualizace data “do jedné tabulky”.
To se udělá tak, že se vytvoří tzv. “databázové view”, které spojí tabulky do jedné.
Toto view je pak v GBQ dispozici stejně jako jednotlivé tabulky a tak ho můžeme například napojit do Google Looker Studio jako zdroj dat.
- Vytvoření databázového view v Google Big Query se vytvoří spuštěním níže uvedeného query
 
Pokud mají obě tabulky stejné pořadí sloupců, uděláme view spuštěním následujícího jednoduchého query:
CREATE VIEW project.META_competitors_daily AS
SELECT *
FROM `project.META_competitors_daily_2024`
UNION ALL
SELECT *
FROM `project.META_competitors_daily_2025`;
V případě, že je pořadí sloupců v každé z tabulek odlišné, je jistější sloupce do view vypsat.
Nerjdříve si zjistíme seznam všech sloupců oddělených čárkou
SELECT STRING_AGG(column_name, ', ') AS columns
FROM `PROJECT.INFORMATION_SCHEMA.COLUMNS`
WHERE table_name = 'competitorsdaily2024';
Ty pak můžeme vložit do následujího query. To spojuje dvě tabulky pro Meta Ads Transparency daily data ve struktuře platné k 3.1.2025:
CREATE VIEW PROJECT.competitorsdaily_current AS
SELECT
__h30_primary_key, _h30_datatask_uuid, _h30_datatask_custom_id, _h30_datatask_name, _h30_datatask_group_name, _h30_datetime, _h30_datatype_time_incremet, _h30_datatype_level, _h30_datatype_breakdowns, target_gender, page_name, page_id, languages, eu_total_reach, ad_snapshot_url, ad_delivery_start_time, ad_delivery_stop_time, ad_creative_bodies, ad_creation_time, id, this_day_date, ad_creative_link_titles, ad_creative_link_descriptions, ad_creative_link_captions, ad_creative_body_example, ad_creative_link_description_example, ad_creative_link_title_example, payer, beneficiary, facebook, target_ages_out, publisher_platforms_out, instagram, messenger, audience_network, target_locations_out, est_frequency, est_impressions, est_cpm_eur, est_cost_eur, acgb_countries, agb_reach_unknown_total, agb_reach_female_total, agb_reach_male_total, agb_reach_65__male, agb_reach_65__female, agb_reach_65__unknown, agb_reach_65__total, agb_reach_18_24_male, agb_reach_18_24_female, agb_reach_18_24_unknown, agb_reach_18_24_total, agb_reach_25_34_male, agb_reach_25_34_female, agb_reach_25_34_unknown, agb_reach_25_34_total, agb_reach_35_44_male, agb_reach_35_44_female, agb_reach_35_44_unknown, agb_reach_35_44_total, agb_reach_45_54_male, agb_reach_45_54_female, agb_reach_45_54_unknown, agb_reach_45_54_total, agb_reach_55_64_male, agb_reach_55_64_female, agb_reach_55_64_unknown, agb_reach_55_64_total, est_cost_eur_ageweighted, days_on_air
FROM PROJECT.competitorsdaily2024
UNION ALL
SELECT
__h30_primary_key, _h30_datatask_uuid, _h30_datatask_custom_id, _h30_datatask_name, _h30_datatask_group_name, _h30_datetime, _h30_datatype_time_incremet, _h30_datatype_level, _h30_datatype_breakdowns, target_gender, page_name, page_id, languages, eu_total_reach, ad_snapshot_url, ad_delivery_start_time, ad_delivery_stop_time, ad_creative_bodies, ad_creation_time, id, this_day_date, ad_creative_link_titles, ad_creative_link_descriptions, ad_creative_link_captions, ad_creative_body_example, ad_creative_link_description_example, ad_creative_link_title_example, payer, beneficiary, facebook, target_ages_out, publisher_platforms_out, instagram, messenger, audience_network, target_locations_out, est_frequency, est_impressions, est_cpm_eur, est_cost_eur, acgb_countries, agb_reach_unknown_total, agb_reach_female_total, agb_reach_male_total, agb_reach_65__male, agb_reach_65__female, agb_reach_65__unknown, agb_reach_65__total, agb_reach_18_24_male, agb_reach_18_24_female, agb_reach_18_24_unknown, agb_reach_18_24_total, agb_reach_25_34_male, agb_reach_25_34_female, agb_reach_25_34_unknown, agb_reach_25_34_total, agb_reach_35_44_male, agb_reach_35_44_female, agb_reach_35_44_unknown, agb_reach_35_44_total, agb_reach_45_54_male, agb_reach_45_54_female, agb_reach_45_54_unknown, agb_reach_45_54_total, agb_reach_55_64_male, agb_reach_55_64_female, agb_reach_55_64_unknown, agb_reach_55_64_total, est_cost_eur_ageweighted, days_on_air
FROM PROJECT.competitorsdaily2025;