2017-01-23 3 views
0

Kombination verwendet ich so eine Abfrage auf einem einzigen Tag GA Tabelle zu tun:‚Dataset-Name fehlt‘, wenn TABLE_DATE_RANGE mit UNNEST

FROM 
    `<id>.ga_sessions_intraday_20170101`, 
    UNNEST(hits) AS h 

Dieses perfekt funktioniert, kann ich alle Daten, die ich benötigen. Jetzt habe ich versucht, einen Datumsbereich abzufragen;

FROM 
    TABLE_DATE_RANGE([<id>.ga_sessions_], TIMESTAMP('YYYY-MM-DD'), TIMESTAMP('YYYY-MM-DD')) 

Welche funktioniert, aber wenn ich es mit dem UNNEST (Hits) versuchen, gibt es diesen Fehler:

Fehler: Tabellenname kann nicht aufgelöst werden: Dataset-Name fehlt.

für

FROM 
    TABLE_DATE_RANGE([<id>.ga_sessions_], TIMESTAMP('YYYY-MM-DD'), TIMESTAMP('YYYY-MM-DD')), 
    UNNEST(hits) AS h 

Wie dieses Problem gelöst werden könnte? Und warum verhält es sich so?

Antwort

1

TABLE_DATE_RANGE ist Tabelle Wildcard-Funktion in BigQuery Legacy-SQL unterstützt, während UNNEST Funktion in BigQuery Standard-SQL

unterstützt

Sie sollten _TABLE_SUFFIX verwenden, die auch in Standard-SQL

#standardSQL 
SELECT ... 
FROM `<id>.ga_sessions_*`, UNNEST(hits) AS h 
WHERE _TABLE_SUFFIX BETWEEN '20170101' AND '20170110' 
+0

Sie unterstützt Dank! Das hat es gelöst! Fehlermeldung könnte jedoch viel klarer sein ... –

Verwandte Themen