如何用 chatGPT & SQL 算出 Google Analytics 的報表?

如何手動用 SQL 加上 GA raw data,重現 GA 裡的接觸點轉換報表?

by 王翰元

寫 SQL 寫到一半,覺得有點卡。忽然想到何不叫 chatGPT 幫我做?

目的

手動用 SQL 加上 GA raw data,重現 GA 裡的接觸點轉換報表,如下圖。

打個比方,資料表的內容就像在一段旅行中會包含不同景點,每一段景點都有起始時間,我的目的是將景點以早、中、晚來分成不同階段。

詠唱

chatGPT 的回答

到這裡我已經先驚呆了,接下來趕快來試一下能不能跑。

輸出

直接一步成功,沒有 error。應該是我的指令還算清楚。

stage 就是用上述 SQL 完成, segment_token 跟 segment_index 只是我後來加上去的 ID,可以忽略。

chatGPT,太狠了。

後記

原本這整段 code 其實是 python 裡的一個 function ,而我試過直接把 python code 貼給 chatGPT 請幫我翻譯成 SQL。但這樣做的效果不太好,他都會回傳給我 UDF (User Defined Function) ,但貼回去之後好像容易有錯,於是放棄。

改成直接說明需求之後才成功。

後來我還有稍微再改寫一下,原因是 PERCENT_RANK 只會根據 segment_index 來算,但這樣做就沒有考慮到時間因素。我真正想要的是前25%的時間會被歸類在 early,而這個 % 數要用時間來計算。最後是把 PERCENT_RANK 改成用 PERCENTILE_CONT 來做。

整體來說,有兩個有趣的點:

  1. 我完全沒想到有 PERCENT_RANK 這個 function 可以用
  2. 雖然沒有完全達到我原先的目的,但是是我的指令沒有下對,不是他寫不出來。詠唱很重要。

chatGPT,太神啦!

Leave a Comment