1

Google ビッグ クエリでのカスタム ディメンションの抽出について質問を受けました。この質問はすでに何人かの人々によってすでに尋ねられていますが、解決策は機能していません..

問題は、このようなカスタム ディメンションの情報を抽出しようとしたときです。

SELECT
fullvisitorId,
visitid,
hit.hitnumber,
(SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 1) as productCategory,
(SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 2) as loyaltyClass,
(SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 3) as existingCustomer
FROM [<id>.ga_sessions_20180805],UNNEST(hits) as hit
LIMIT 100

次に、「テーブル名「ヒット」を解決できません: データセット名がありません」というエラーが表示されました。

このような他の人からのソリューションを使用しようとしました

SELECT
    fullvisitorId,
    visitid,
    hit.hitnumber,
    (SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 1) as productCategory,
    (SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 2) as loyaltyClass,
    (SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 3) as existingCustomer
FROM `<id>.ga_sessions_*`, UNNEST(hits) AS h
WHERE _TABLE_SUFFIX = '20180805'

その後、別のエラー Invalid table name: <id>.ga_sessions_*[Try using standard SQL ( https://cloud.google.com/bigquery/docs/reference/standard-sql/enabling-standard-sql)]が発生しました。

更新:最も基本的なクエリも試しました

    SELECT
      *
    FROM [<id>.ga_sessions_20180805]
    LEFT JOIN UNNEST(hits) as hits
   LIMIT 10

それでも同じエラーが返されます....

両方のスクリプトで発生したエラーは何ですか? また、カスタム ディメンション値を取得するにはどうすればよいですか?

どうもありがとう!

4

2 に答える 2

4

最初のクエリでは、以下の行のテーブル参照を修正するだけです

FROM [<id>.ga_sessions_20180805],UNNEST(hits) as hit

のようなものに

FROM `yourproject.yourdataset.ga_sessions_20180805`,UNNEST(hits) as hit  

2 番目のクエリについても同様の修正が加えられますが、さらに - エイリアスは 以下の hように置き換える必要がありますhit

FROM `yourproject.yourdataset.ga_sessions_*`, UNNEST(hits) AS hit

注: 上記は BigQuery 標準 SQL の場合です。そのため、クエリの一番上に次の行を最初の行として追加できます。

#standardSQL     

例えば

#standardSQL     
SELECT
  fullvisitorId,
  visitid,
  hit.hitnumber,
  (SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 1) as productCategory,
  (SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 2) as loyaltyClass,
  (SELECT x.value FROM UNNEST(hit.customDimensions) x WHERE x.index = 3) as existingCustomer
FROM `yourproject.yourdataset.ga_sessions_20180805`,UNNEST(hits) as hit 
LIMIT 100
于 2018-09-19T13:44:28.787 に答える