unter Betrachten wir als Beispiel dafür, wie Ereignistabelle für sinnvolle Informationen zu analysieren.
Dieses Beispiel wird unter Verwendung von BigQuery Norm SQL, so müssen Sie deaktivieren Use Legacy SQL
Checkbox unter Optionen anzeigen
WITH order_events AS (
SELECT 1 AS orderID, '2015-01-01' AS ts, 'created' AS event UNION ALL
SELECT 1 AS orderID, '2015-01-01' AS ts, 'shopping' AS event UNION ALL
SELECT 1 AS orderID, '2015-01-02' AS ts, 'completed' AS event UNION ALL
SELECT 1 AS orderID, '2015-01-03' AS ts, 'confirmed' AS event UNION ALL
SELECT 1 AS orderID, '2015-01-04' AS ts, 'shipped' AS event UNION ALL
SELECT 2 AS orderID, '2015-01-01' AS ts, 'created' AS event UNION ALL
SELECT 2 AS orderID, '2015-01-01' AS ts, 'shopping' AS event UNION ALL
SELECT 2 AS orderID, '2015-01-02' AS ts, 'completed' AS event UNION ALL
SELECT 2 AS orderID, '2015-01-03' AS ts, 'declined' AS event UNION ALL
SELECT 3 AS orderID, '2015-01-01' AS ts, 'created' AS event UNION ALL
SELECT 3 AS orderID, '2015-01-01' AS ts, 'shopping' AS event UNION ALL
SELECT 3 AS orderID, '2015-01-02' AS ts, 'completed' AS event UNION ALL
SELECT 3 AS orderID, '2015-01-03' AS ts, 'confirmed' AS event UNION ALL
SELECT 3 AS orderID, '2015-01-04' AS ts, 'shipped' AS event UNION ALL
SELECT 4 AS orderID, '2015-01-01' AS ts, 'created' AS event UNION ALL
SELECT 4 AS orderID, '2015-01-01' AS ts, 'shopping' AS event UNION ALL
SELECT 4 AS orderID, '2015-01-02' AS ts, 'completed' AS event UNION ALL
SELECT 4 AS orderID, '2015-01-03' AS ts, 'confirmed' AS event UNION ALL
SELECT 4 AS orderID, '2015-01-05' AS ts, 'canceled' AS event UNION ALL
SELECT 5 AS orderID, '2015-01-01' AS ts, 'created' AS event UNION ALL
SELECT 5 AS orderID, '2015-01-01' AS ts, 'shopping' AS event
),
order_history AS (
SELECT
orderID,
(SELECT STRING_AGG(events, ' > ') FROM t.events) AS history
FROM (
SELECT
orderID,
ARRAY(SELECT event FROM t.events ORDER BY ts ASC) events
FROM (
SELECT
orderID,
ARRAY_AGG(STRUCT(event, ts)) events
FROM order_events
GROUP BY orderID
) t
) t
)
SELECT *
FROM order_history
#WHERE REGEXP_EXTRACT(history, r'((?:created).*(?:canceled))') IS NOT NULL
Ergebnis oben visualisieren, um die Geschichte als
Wenn Sie die letzte Zeile mit der WHERE
-Klausel auskommentieren, erhalten Sie nur Befehle, die dem angegebenen Muster entsprechen. In diesem Fall: Aufträge, die erstellt, aber abgebrochen wurden.
orderID history
4 created > shopping > completed > confirmed > canceled
Einstellung richtige Regexp gibt Ihnen Flexibilität für jeden Filter für erforderlich Analyse
Hoffnung, das gibt Ihnen eine Idee, und Sie können dies auf Ihre speziellen Bedürfnisse erweitern!
Normalerweise enthält BigQuery den Datensatz mit den Tabellen ga_sessions (wenn Sie den Premium-Account haben). Haben Sie diesen Datensatz in Ihrem Konto? –