簡體   English   中英

根據 Bigquery 計划查詢中的日期動態更改 FROM 表名稱

[英]Change FROM Table Name Dynamically based on date in Bigquery Scheduled Query

在此處輸入圖像描述

請參考隨附的屏幕截圖。我需要設置一個 bigquery 計划任務以將信息提取到永久表中。 來自表的名稱每天都會動態更改,因此我只能將當天的信息和 append 提取到現有表中。 任何幫助將不勝感激在此處輸入圖像描述

請看第二張圖片……我試圖用這個來實現……但我無法將 yester 轉換成字符串……並添加它……

實際上這是我要實現的查詢..

SELECT event_date, event_timestamp, event_name, (select value.double_value from unnest(event_params) where key = 'percentage') 作為百分比, (select value.double_value from unnest(event_params) where key = 'seconds') as seconds FROM xscore-prod .analytics_229726387.events_* WHERE event_name = "spent_time_in_activity"

我怎樣才能將腳本實現到這個

您可以使用腳本在 BigQuery 中動態生成和執行查詢:

DECLARE yesterday STRING DEFAULT FORMAT_DATE("%F", (DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)));
DECLARE query STRING;
SET query = "SELECT * FROM `xscore-prod.analytics_229726387.events_" || yesterday || "` LIMIT 1000";
EXECUTE IMMEDIATE query;

你可以這樣做:

select * 來自<project>.<dataset>.events_*其中 _TABLE_SUFFIX = '20220525'

請參閱https://cloud.google.com/bigquery/docs/querying-wildcard-tables

如果您的表格來自 Firebase Analytics,請嘗試以下操作:

WHERE
  event_name = 'your_event_name'
AND _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY))

在這里我只查詢昨天作為你的例子。

確保表名后有下划線。 google analytics表的格式是analytics_(propertyid).events_(datestring)

select event_date,sum(case when event_name="session_start" then 1 else 0 end  ) as session,sum(case when event_name="add_to_cart" then 1 else 0 end  ) as atc,traffic_source.name,traffic_source.medium,traffic_source.source from `your_project_name.analytics_(propertyid).events_*`
WHERE _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 180 DAY))
group by 1,4,5,6

而且,

    _TABLE_SUFFIX >= FORMAT_TIMESTAMP('%Y%m%d', TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 day)) ),

完全合法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM