2016-08-05 38 views
11

Jestem nowym użytkownikiem Google BigQuery. Potrzebuję pomocy z błędem zapytania:Błąd w 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

Po włączeniu standardowego SQL przy użyciu sugestię Michaiła poniżej, istnieje kilka innych transformacji, które musisz wprowadzić do zapytania, a mianowicie: * Użyj 'CAST (TIMESTAMP_MICROS (event_dim.timestamp_micros) AS DATE)'. * Użyj jawnej tablicy zamiast "GENERATE_SERIES". Wysłałem zapytanie o funkcję generowania szeregów/macierzy, które wypełniłoby tę lukę: https://code.google.com/p/google-bigquery/issues/detail?id=646 –

+0

Jako aktualizacja "GENERATE_DATE_ARRAY" ma teraz dostępny w BigQuery. w powyższym kwerendzie można na przykład użyć opcji "OD UNNEST (GENERATE_DATE_ARRAY (DATE_SUB (CURRENT_DATE(), INTERVAL 6 DAY), CURRENT_DATE(), INTERVAL 1 DAY)) AS d LEFT JOIN ...'. –

Odpowiedz

7

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

WITH jest obsługiwany przez BigQuery standardem SQL - patrz Enabling Standard SQL - należy włączyć standardem SQL

+2

Dzięki, domyślnie przez wywołanie API jest "Legacy SQL". To jest noise ... – zhihong