【问题标题】:SSIS Google Analytics - Reporting dimensions & metrics are incompatibleSSIS Google Analytics - 报告维度和指标不兼容
【发布时间】:2023-01-11 14:55:39
【问题描述】:
我正在尝试在 Visual Studio 中使用 KingswaySoft - SSIS 集成工具包从 Google Analytics 中提取数据。
我已设置指标和维度,但收到此错误消息:
请删除交易以使请求兼容。请求的维度和指标不兼容。要了解更多信息,请参阅https://ga-dev-tools.web.app/ga4/dimensions-metrics-explorer/
我已经尝试删除交易指标并且它有效,但这个指标确实是必要的。
-
指标: sessionConversionRate, sessions, totalUsers, transactions
-
方面: campaignName, country, dateHour, deviceCategory, sourceMedium
关于如何解决它的任何想法?
【问题讨论】:
标签:
visual-studio
google-analytics
ssis
google-analytics-api
【解决方案1】:
我不确定这个建议有多大帮助,但可能的解决方法包括有两个查询。
查询 1:没有事务的现有查询
查询 2:包含 transactionId 的相同维度
这个想法是使用 SSIS 聚合组件按原始维度分组并对事务进行计数。然后,您可以通过合并联接将查询合并在一起。
那行得通吗?
【解决方案2】:
API 支持它所支持的。因此,如果您尝试将不兼容的东西配对,您将无法取回任何数据。看起来它们应该完全起作用的东西就像橙汁和牛奶一样。
当我通过 Python 处理 GA 内容时,我们发现一种方法可以帮助我们解决不兼容的指标和总指标,即使用相同的维度进行多次拉取。由于数据集的粒度是一样的,只要把集合中的每一个维度都匹配起来,就可以得到所有你想要的指标。
在你的例子中,我有 2 个数据流,然后是一个执行 SQL 任务,它将数据汇集到最终表中
- DFT1:查询 1 -> 派生列 -> Stage.Table1
- DFT2:查询 2 -> 派生列 -> Stage.Table2
执行 SQL 任务
SELECT
T1.*, T2.Metric_A, T2.Metric_B, ... T2.Metric_Z
INTO
#T
FROM
Stage.T1 AS T1
INNER JOIN
Stage.T2 AS T2
ON T2.Dim1 = T1.Dim1 /* etc */ AND T2.Dim7 = T1.Dim7
-- Update you have solid data aka
-- isDataGolden exists in the "data" section of the response
-- Usually within 7? days but possibly sooner
UPDATE
X
SET
metric1 = S.metric1 /* etc */
FROM
dbo.X AS X
INNER JOIN #T AS T
ON T.Dim1 = X.Dim1
WHERE
X.isDataGolden IS NULL
AND T.isDataGolden IS NOT NULL;
-- Add new data but be aware that not all nodes might have
-- reported in.
INSERT INTO
dbo.X
SELECT
*
FROM
#T AS T
WHERE
NOT EXISTS (SELECT * FROM dbo.X AS X WHERE X.Dim1 = T.Dim1 /* etc */);