Risolvi i problemi relativi agli errori e alle limitazioni del connettore BigQuery

Quando colleghi Data Studio a BigQuery, potresti riscontrare timeout, limiti di sintassi SQL, limiti di quota o errori di Controlli di servizio VPC. Questa guida descrive i problemi comuni del connettore BigQuery. Espandi Passaggi per risolvere i problemi per esaminare e risolvere il problema.


Errori di sintassi SQL e delle query

Le query SQL personalizzate in Data Studio hanno limitazioni specifiche. Se la query viola questi limiti, possono verificarsi errori.

Errore di join Field is ambiguous

Se la query personalizzata contiene nomi di colonne duplicati, i grafici mostrano questo errore:

User Configuration Error: Field is ambiguous

Testo del messaggio di errore: Errore di configurazione utente

Causa: le tabelle unite (JOIN) non possono condividere nomi di colonne duplicati. Ad esempio, se unisci due tabelle con schemi identici in un campo Criteria_ID, la tabella virtuale risultante avrà colonne duplicate (Criteria_ID, Parent_ID, Name), il che genera un errore di ambiguità.

Passaggi per risolvere i problemi

Rendi univoci tutti i nomi delle colonne utilizzando la parola chiave AS o la clausola EXCEPT:

Opzione 1: rinomina esplicitamente i campi duplicati utilizzando gli alias

SELECT *
FROM (
  SELECT
    Criteria_ID AS Criteria_ID_1,
    Parent_ID AS Parent_ID_1,
    Name AS NAME_1
  FROM
    `project.dataset.table_1` ) AS table_1
LEFT JOIN (
  SELECT
    Criteria_ID AS Criteria_ID_2,
    Parent_ID AS Parent_ID_2,
    Name AS NAME_2
  FROM
    `project.dataset.table_2` ) AS table_2
ON
  table_1.Criteria_ID_1 = table_2.Criteria_ID_2;

Opzione 2: escludi e rinomina campi specifici utilizzando EXCEPT

Se devi rinominare solo un numero limitato di campi mantenendo gli altri, utilizza EXCEPT:

SELECT * EXCEPT (city), city AS city_1 FROM `project.dataset.table_1`

Errore di sintassi della query SQL personalizzata (più istruzioni)

La query SQL personalizzata non va a buon fine se contiene variabili o più istruzioni (DECLARE, SET).

Causa: Data Studio esegue l'SQL all'interno di una query SELECT esterna (SELECT * FROM (<your_custom_sql>)). Pertanto, la query deve essere una singola istruzione SELECT.

Ad esempio, la seguente query non va a buon fine perché dichiara una variabile prima della selezione:

DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;
SELECT total_bytes_billed / (1024 * 1024) * cost_per_tb_in_dollar / (1024 * 1024) FROM `billing_table`;

Passaggi per risolvere i problemi

Combina i calcoli in un'unica istruzione SELECT utilizzando le espressioni di tabella comuni (CTE o clausole WITH):

WITH constants AS (
  SELECT 4.2 AS cost_per_tb_in_dollar
)
SELECT
  total_bytes_billed / (1024 * 1024) * c.cost_per_tb_in_dollar / (1024 * 1024) AS cost
FROM `billing_table`, constants AS c;

Prestazioni e timeout delle query

Quando le query impiegano più di 3-5 minuti per essere eseguite, Data Studio va in timeout prima di ricevere i risultati e restituisce: HTTP 504 Gateway timeout.

Errori di query a lunga esecuzione o HTTP 504 Gateway timeout

Le query personalizzate o le aggregazioni di grafici complessi in Data Studio potrebbero andare in timeout dopo 3-5 minuti, restituendo un errore HTTP 504 Gateway timeout.

Passaggi per risolvere i problemi

Se le query vanno costantemente in timeout, utilizza queste ottimizzazioni:

  • Abilita l'API BigQuery Storage Read: abilita l'API BigQuery Storage Read per aumentare la velocità effettiva dei dati.
  • Semplifica la query: rimuovi i comandi `JOIN` non necessari, raggruppa i dati in periodi di tempo più ampi e seleziona solo le colonne richieste.
  • Utilizza BigQuery BI Engine: riserva capacità con BigQuery BI Engine per prestazioni inferiori al secondo.
  • Utilizza le visualizzazioni del database: salva l'SQL personalizzato come visualizzazione BigQuery o visualizzazione materializzata e collega Data Studio direttamente a questa visualizzazione.
  • Pre-aggrega in una tabella di report: utilizza le query pianificate in BigQuery per scrivere i record di riepilogo in una tabella separata ed esegui query sulla tabella di riepilogo.

Quote e limitazioni delle tabelle

Quando il set di dati contiene migliaia di tabelle o restituisce milioni di record, possono verificarsi errori di limite:

Blocco della reattività dell'interfaccia utente del set di dati con più di 5000 tabelle

Quando tenti di connetterti a un set di dati BigQuery utilizzando l'elenco di selezione delle tabelle in Data Studio, l'interfaccia utente si blocca o non risponde.

Causa: il connettore supporta fino a 5000 tabelle per set di dati. Se un set di dati supera le 5000 tabelle o visualizzazioni, l'elenco di selezione delle tabelle va in timeout e si blocca.

Passaggi per risolvere i problemi

Utilizza una di queste alternative per connetterti senza caricare l'elenco delle tabelle:

  • Connettiti utilizzando una query personalizzata: seleziona QUERY PERSONALIZZATA e scrivi un'istruzione `SELECT` meno complessa:
    SELECT * FROM `your_project.your_dataset.your_table`
  • Connettiti direttamente da BigQuery: nella console BigQuery, individua la tabella, fai clic su Esporta o Esplora dati e seleziona Apri con Looker Studio.
  • Dividi o riorganizza il set di dati: sposta le tabelle di report in set di dati di report più piccoli e dedicati che contengono meno di 5000 tabelle.

Limite massimo di 2 milioni di righe restituite

Quando visualizzi set di dati di grandi dimensioni, il grafico potrebbe mostrare un avviso di troncamento dei dati o omettere le righe che superano i 2 milioni di record.

Causa: il connettore restituisce un massimo di 2 milioni di righe per query del grafico. Se una query supera i 2 milioni di record, i grafici troncano i dati e mostrano un avviso.

Passaggi per risolvere i problemi

Per evitare il troncamento dei dati:

  • Applica filtri di date a livello di report per ridurre il volume delle query.
  • Esegui query sulle tabelle partizionate per data (`DATE`, `DATETIME`, `TIMESTAMP`) che richiedono filtri di partizione (scopri di più).
  • Raggruppa le dimensioni con cardinalità elevata in BigQuery prima di visualizzarle in Data Studio.

Varianza di MEDIAN e PERCENTILE

Quando calcoli le mediane esatte (MEDIAN) o i percentili (PERCENTILE) nei grafici connessi a BigQuery, l'output potrebbe differire leggermente dai calcoli identici eseguiti su altri database SQL o esportazioni CSV.

Causa: nelle query BigQuery, MEDIAN e PERCENTILE utilizzano la funzione di aggregazione approssimativaAPPROX_QUANTILES. Questa funzione elabora rapidamente i set di dati su scala di petabyte, ma i risultati approssimativi possono differire leggermente dai calcoli esatti eseguiti su esportazioni CSV o altri database SQL.


Errori di tipo di dati e crittografia

Scopri come gestire i tipi di colonne non supportati e le policy di crittografia delle chiavi applicate dall'organizzazione.

Errore di crittografia CONDITION_NOT_MET (CMEK)

Quando esegui una query su un set di dati, il grafico non va a buon fine e restituisce il seguente errore:

User Configuration Error: CONDITION_NOT_MET

Causa: il connettore non supporta le chiavi di crittografia gestite dal cliente (CMEK). Se una policy dell'organizzazione richiede la crittografia CMEK per le query o l'archiviazione temporanea (servizio Policy dell'organizzazione), i grafici mostrano User Configuration Error: CONDITION_NOT_MET.

Passaggi per risolvere i problemi

Collabora con l'amministratore dell'organizzazione per esentare il progetto di report dalla policy CMEK o esporta i dati del report in un set di dati regolato dallo standard Google-owned and Google-managed encryption keys.


Tipo di dati TIME non supportato

Quando ti connetti a una tabella BigQuery che contiene colonne del tipo di dati TIME (ad es. 23:59:59), Data Studio converte il campo in TEXT, il che impedisce l'ordinamento o le aggregazioni basate sul tempo.

Causa: Data Studio non supporta in modo nativo il tipo di dati TIME di BigQuery (ad esempio, 23:59:59). Il connettore converte le colonne TIME in stringhe TEXT al momento dell'importazione, impedendo l'ordinamento basato sul tempo.

Passaggi per risolvere i problemi

Converti le colonne `TIME` in oggetti DATETIME utilizzando una di queste soluzioni alternative:

Soluzione alternativa 1: utilizza una query SQL personalizzata

Combina il campo `TIME` con una data di base (`1970-01-01`) direttamente in SQL:

SELECT
  *,
  -- Combine a dummy date (1970-01-01) with your TIME field
  DATETIME(DATE "1970-01-01", your_time_field) AS time_as_datetime
FROM
  `your_project.your_dataset.your_table`
  • Risultato: Data Studio importa `time_as_datetime` come campo **Data e ora**.
  • Formattazione: nelle proprietà del grafico del report, modifica il **Formato di visualizzazione** del campo in **Ora**, **Minuto** o un formato di ora personalizzato (`h:mm:ss`) in modo da visualizzare solo la parte relativa all'ora (scopri di più).

Soluzione alternativa 2: crea un campo calcolato in Data Studio

Se non modifichi la query SQL, crea un campo calcolato all'interno dell'origine dati:

PARSE_DATETIME("%H:%M:%S", CAST(your_time_field AS TEXT))
  • Risultato: la funzione `PARSE_DATETIME` analizza la stringa di testo in un oggetto **Data e ora** , impostando per impostazione predefinita la data del calendario al 1° gennaio 1970 (scopri di più).

Errori di Controlli di servizio VPC

Risolvi gli errori di accesso negato e le limitazioni dei processi in background quando lavori all'interno dei perimetri di servizio.

Service Control Failure durante la visualizzazione dei report senza VPN

Quando visualizzi un report al di fuori della VPN o della rete aziendale della tua organizzazione, alcuni o tutti i grafici non vanno a buon fine e viene visualizzato il seguente errore:

Service Control Failure

Causa: il connettore passa l'indirizzo IP del visualizzatore del report a BigQuery per verificare i livelli di accesso basati su IP di Controlli di servizio VPC. Quando copi un report, le origini dati SQL personalizzate legacy o "fantasma" all'interno della copia potrebbero fare riferimento a un progetto di fatturazione protetto all'interno di un perimetro di servizio, anche se il set di dati principale si trova all'esterno.

Passaggi per risolvere i problemi

Identifica e rimuovi o riassegna tutti i progetti di fatturazione nascosti associati al perimetro nel report:

  1. Crea una copia del report interessato per risolvere i problemi in sicurezza.
  2. Nell'editor dei report della copia, vai a Risorsa > Gestisci origini dati aggiunte.
  3. Esamina ogni origine dati **BigQuery** o **SQL personalizzato** incorporata collegata al report.
  4. Modifica ogni connessione SQL personalizzata per verificarne il **Progetto di fatturazione** configurato. Se un'origine dati rimanda a un progetto di fatturazione protetto da un perimetro Controlli di servizio VPC, aggiornalo in modo che utilizzi un progetto di fatturazione non protetto o elimina l'origine dati se non viene più utilizzata.

Errori di invio di email programmate o di avvisi dei grafici dietro Controlli di servizio VPC

Quando le funzionalità di background automatiche (ad es. l'invio di email programmate o gli avvisi dei grafici) vengono eseguite su un grafico connesso a un set di dati BigQuery protetto da Controlli di servizio VPC, l'email programmata viene inviata senza contenuti o allegati del report oppure l'avviso non viene attivato (VPC Service Controls unexpected field in error map).

Causa: poiché le funzionalità di background automatiche (ad es. l'invio di email programmate o gli avvisi dei grafici) vengono eseguite come attività in background senza un indirizzo IP dell'utente finale, Controlli di servizio VPC (VPC-SC) le blocca durante la valutazione dei livelli di accesso basati su IP (VPC Service Controls unexpected field in error map).

Passaggi per risolvere i problemi

Per utilizzare le funzionalità di background automatiche dietro un perimetro Controlli di servizio VPC, configura l'origine dati in modo che utilizzi le credenziali dell'account di servizio o crea un livello di accesso basato sull'identità: