【问题标题】: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 */);
      

      【讨论】:

        猜你喜欢
        • 2023-02-08
        • 1970-01-01
        • 1970-01-01
        • 2017-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多