Google-Bigquery
與總數比較,與主要類別的百分比比較,按期間比較,例如逐月比較以獲得增長百分比
這是一個很大的問題。如果無法通過論壇給出具體的解決方案,我正在尋找可能的總體方向,可能的解決方案。我在 BigQuery 中工作,但語法幾乎與 SQL 相同,但某些函式除外。我對高級 SQL 比較陌生,我的任務是創建以下報告:
從下表:
報告需要通過 Google Data Studio 呈現,其中無法進行數據建模,因此必須提前在 SQL 中準備數據,然後才能載入到 Data Studio 中,Data Studio 將是視覺化/呈現工具。
我的想法是為每個所需的時間段編寫一個查詢,然後將所有這些查詢聯合起來,例如,“上週”作為一個時間段的查詢將是:
SELECT distinct orderid, net_revenue, country, main_category, sub_cat, sub_sub_cat --there's several nested categories 'last week' as period, FROM table_orders join table_order_values on table_orders.orderid = table_order_values.orderid full outer join categories as cats on cats.product_id = table_orders.product_id join countries on table_order_values.country = countries.country and table_order_values.date > DATE_SUB(DATE_TRUNC(CURRENT_DATE(), WEEK(sunday)), INTERVAL 1 WEEK) AND table_order_values.date <= DATE_TRUNC(CURRENT_DATE(), WEEK(sunday))
…在 UNION ALL 之後的不同時期的一堆表格的最終表格看起來像這樣:
但是,對於這個最終表,我不知道如何獲得每個時期的增長百分比(因此比較月比月或週比周等),或者如何正確計運算元類別的收入佔總收入的百分比(以及不是每個時期都有一堆聲明的變數),甚至更難 - 從主要類別中獲得任何子類別的收入百分比,然後還需要按國家/地區過濾……
這甚至可能是要求的方式嗎?我是否可以從一開始就以某種方式重組數據,以使這些百分比佔總數、主要類別和一段時間內的增長成為可能?
如果有人偶然發現我的問題正在尋找答案,我通過保存一個包含每個時期(月、周等)總計的表格來解決總數的百分比,然後將該表格與上面的數據表連接起來並使用總和(net_revenue) /max(total_revenue) 和該時期的視覺過濾器。這不是最優雅的解決方案,但它允許在嵌套類別中進行一些視覺互動。