Je suis débutant sur StandardSQL

Mon Tableau :

enter image description here

J'ai besoin de votre aide pour que le transactionId soit dupliqué sur chaque ligne au lieu du blanc.

enter image description here

Ma requête :

SELECT
    hits.transaction.transactionId,

    ARRAY(
      SELECT DISTINCT AS STRUCT
       v2ProductName AS name,
       SPLIT(v2ProductCategory, '/')[safe_offset(0)] AS axis,
       SPLIT(v2ProductCategory, '/')[safe_offset(1)] AS category,
       SPLIT(v2ProductCategory, '/')[safe_offset(2)] AS subCategory,
       productQuantity AS quantity,
       productPrice as price,
       productSKU AS sku
      FROM
        hits.product
    )AS products,

FROM
    `dl-recommendation-engine.NDA_CHANEL_137002018.ga_sessions_*` as session, 
    UNNEST(hits) AS hits
    WHERE
    _TABLE_SUFFIX BETWEEN '20191122' AND '20191202'
    AND
    hits.transaction.transactionId IS NOT NULL
    AND 
    (SELECT cd.value  FROM hits.customDimensions as cd WHERE cd.index = 10) = "fr_FR"
0
Thao Ly 23 janv. 2020 à 11:59

1 réponse

Meilleure réponse

Vous avez déjà avez transactionId sur chaque ligne. Votre requête génère des lignes où chaque ligne a transactionId et un tableau. L'interface graphique de BigQuery formate simplement les éléments du tableau pour séparer les lignes. Vous souhaitez probablement joindre des produits directement dans la clause from, puis vous obtenez une ligne par produit, avec transactionId de hit.

1
Tomáš Záluský 23 janv. 2020 à 20:44