2016-08-05 8 views
11

Ich bin neu bei Google BigQuery. Ich muss mit der Abfrage Fehler helfen:Fehler in Google BigQuery <EOF>

"Encountered " "WITH" "with "" at line 1, column 1. Was expecting: EOF"

with 
    t1 as 
    (
    select 
    date(USEC_TO_TIMESTAMP(event_dim.timestamp_micros)) date, event_dim.name 
    from 
    [myfoody-1313:it_rawfish_myfoody_ANDROID.app_events_20160727] 
    where 
    event_dim.name='pv_detail' and event_dim.params.key='item_id' and 
    event_dim.params.value.string_value='31' 
) 
    select 
    date(d) as day, count(event_dim.name) 
from 
    generate_series(current_date - interval '6 day', current_date, '1 day') d 
    left join t1 on t1.date = d 
group by day 
order by day; 
+1

ermöglichen sollten, nachdem Sie Standard ermöglichen SQL unter Mikhail Vorschlag verwenden, Es gibt noch ein paar andere Transformationen, die Sie an Ihrer Abfrage vornehmen müssen: * Verwenden Sie 'CAST (TIMESTAMP_MICROS (event_dim.timestamp_micros) AS DATE)'. * Verwenden Sie ein explizites Array anstelle von 'GENERATE_SERIES'. Ich habe hier eine Feature-Anfrage für Serien-/Array-Generierung eingereicht, die diese Lücke füllen würde: https://code.google.com/p/google-bigquery/issues/detail?id=646 –

+0

Als Update ist 'GENERATE_DATE_ARRAY' jetzt in BigQuery verfügbar. In der obigen Abfrage könnten Sie zum Beispiel 'FROM UNNEST (GENERATE_DATE_ARRAY (DATUM_SUB (AKTUELLES_DATUM(), INTERVALL 6 TAG), AKTUELLES_DATUM(), INTERVALL 1 TAG)) AS d LINKES VERBINDEN ...' verwenden. –

Antwort

7

I need help on a query error: "Encountered " "WITH" "with "" at line 1, column 1. Was expecting: EOF"

MIT für BigQuery Standard-SQL unterstützt wird - siehe Enabling Standard SQL - Sie Standard-SQL

+2

Danke, der Standard von API-Aufruf ist "Legacy SQL". Das ist Lärm ... – zhihong