【发布时间】:2021-12-10 23:38:24
【问题描述】:
我有一张表格,其中包含来自电子邮件营销活动的信息。在那个表上(你可以看到架构here)我有几个不同的列关于收到这个活动的用户。此表中最重要的列之一是 properties.status,因为我可以在其中获取有关用户与我们的广告系列互动的信息。
因此,例如,如果电子邮件已发送给用户,则会在该表上创建一行,并且“properties.status”列的值为“enqueued”。如果用户打开电子邮件,则会创建另一行,但现在的值是“opened”。如果他们点击,properties.status 的值为“点击”等。
我正在尝试生成一个查询,该查询将输出打开并点击我们发送的每个广告系列的总人数。
如您所见here,我确实设法调整了“已打开”和“已单击”。但现在我有了新的挑战。
我想按发送电子邮件的月份对所有内容进行分组,所以基本上有一个输出:
| Month* | Campaign_Name | Subject | Opened | Clicked |
|---|
- 月份是(MONTH FROM timestamp AT TIME ZONE "UTC")
我面临的挑战是我想在发送活动.status 时对时间戳列进行分组,但“打开”和“点击”是 properties.status 的其他值。
我尝试过:
WITH
ORCTOR AS (
SELECT
*
FROM (
SELECT
internal_customer_id,
properties.campaign_name,
properties.Subject,
properties.Status
FROM
`project-id.exp_1ddb4cbe_fc04_11ea_9874_06183dd6fcf3_views.campaign` ) PIVOT (COUNT(DISTINCT internal_customer_id ) FOR Status IN ('opened',
'clicked')))
SELECT
CONCAT( EXTRACT (MONTH
FROM
timestamp AT TIME ZONE "UTC"), "/", EXTRACT (YEAR
FROM
timestamp AT TIME ZONE "UTC") ) AS Sent,
properties.campaign_name, opened, clicked
FROM
`project-id.exp_1ddb4cbe_fc04_11ea_9874_06183dd6fcf3_views.campaign`
WHERE
properties.status = "enqueued"
但后来我得到: 无法识别的名称:在 [20:29] 打开
【问题讨论】:
标签: google-bigquery