Memecahkan masalah error dan batasan konektor BigQuery

Saat menghubungkan Data Studio ke BigQuery, Anda mungkin mengalami waktu tunggu habis, batas sintaksis SQL, batas kuota, atau error Kontrol Layanan VPC. Panduan ini menjelaskan masalah umum di seluruh konektor BigQuery. Luaskan Langkah-langkah penyelesaian untuk menyelidiki dan memperbaiki masalah Anda.


Error sintaksis kueri dan SQL

Kueri SQL kustom di Data Studio memiliki batasan tertentu. Jika kueri Anda melanggar batas ini, error dapat terjadi.

Error penggabungan Field is ambiguous

Jika kueri kustom Anda berisi nama kolom duplikat, diagram akan menampilkan error ini:

User Configuration Error: Field is ambiguous

Teks pesan error: Error Konfigurasi Pengguna

Penyebab: Tabel yang digabungkan (JOIN) tidak boleh memiliki nama kolom duplikat. Misalnya, jika Anda menggabungkan dua tabel dengan skema yang identik di kolom Criteria_ID, tabel virtual yang dihasilkan akan memiliki kolom duplikat (Criteria_ID, Parent_ID, Name), yang memicu error ambiguitas.

Langkah-langkah penyelesaian

Buat semua nama kolom menjadi unik menggunakan kata kunci AS atau klausa EXCEPT:

Opsi 1: Mengganti nama kolom duplikat secara eksplisit menggunakan 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;

Opsi 2: Mengecualikan dan mengganti nama kolom tertentu menggunakan EXCEPT

Jika Anda hanya perlu mengganti nama sejumlah kecil kolom sambil mempertahankan kolom lainnya, gunakan EXCEPT:

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

Error sintaksis kueri SQL kustom (Beberapa pernyataan)

Kueri SQL kustom Anda akan gagal jika berisi variabel atau beberapa pernyataan (DECLARE, SET).

Penyebab: Data Studio menjalankan SQL Anda di dalam kueri SELECT luar (SELECT * FROM (<your_custom_sql>)). Oleh karena itu, kueri Anda harus berupa pernyataan SELECT tunggal.

Misalnya, kueri berikut gagal karena mendeklarasikan variabel sebelum memilih:

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`;

Langkah-langkah penyelesaian

Gabungkan penghitungan menjadi satu pernyataan SELECT menggunakan Common Table Expressions (CTE atau klausa 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;

Waktu tunggu performa dan kueri

Jika kueri memerlukan waktu lebih dari tiga hingga lima menit untuk dijalankan, waktu tunggu Data Studio akan habis sebelum menerima hasil, dan menampilkan: HTTP 504 Gateway timeout.

Error kueri HTTP 504 Gateway timeout atau yang berjalan lama

Kueri kustom atau agregasi diagram yang kompleks di Data Studio mungkin akan habis waktunya setelah tiga hingga lima menit, yang akan menampilkan error HTTP 504 Gateway timeout.

Langkah-langkah penyelesaian

Jika kueri Anda terus-menerus mengalami waktu tunggu habis, gunakan pengoptimalan berikut:

  • Aktifkan BigQuery Storage Read API: Aktifkan BigQuery Storage Read API untuk meningkatkan throughput data.
  • Sederhanakan kueri Anda: Hapus perintah `JOIN` yang tidak diperlukan, kelompokkan data berdasarkan jangka waktu yang lebih luas, dan pilih hanya kolom yang diperlukan.
  • Gunakan BigQuery BI Engine: Pesan kapasitas dengan BigQuery BI Engine untuk performa sub-detik.
  • Gunakan tampilan database: Simpan SQL kustom Anda sebagai tampilan BigQuery atau tampilan terwujud, lalu hubungkan Data Studio langsung ke tampilan tersebut.
  • Pra-agregasi ke dalam tabel pelaporan: Gunakan kueri terjadwal di BigQuery untuk menulis kumpulan data ringkasan ke dalam tabel terpisah, dan buat kueri tabel ringkasan.

Kuota dan batasan tabel

Jika set data Anda berisi ribuan tabel atau menampilkan jutaan data, error batas dapat terjadi:

Set data dengan lebih dari 5.000 tabel mengalami pembekuan responsivitas UI

Saat Anda mencoba terhubung ke set data BigQuery menggunakan daftar pilihan tabel di Data Studio, antarmuka pengguna akan berhenti berfungsi atau tidak responsif.

Penyebab: Konektor mendukung hingga 5.000 tabel per set data. Jika set data melebihi 5.000 tabel atau tampilan, daftar pilihan tabel akan mengalami waktu tunggu habis dan berhenti berfungsi.

Langkah-langkah penyelesaian

Gunakan salah satu alternatif berikut untuk terhubung tanpa memuat daftar tabel:

  • Menghubungkan menggunakan kueri kustom: Pilih CUSTOM QUERY dan tulis pernyataan `SELECT` yang tidak terlalu kompleks:
    SELECT * FROM `your_project.your_dataset.your_table`
  • Hubungkan langsung dari BigQuery: Di konsol BigQuery, temukan tabel Anda, klik Export atau Explore Data, lalu pilih Open with Looker Studio.
  • Pisahkan atau atur ulang set data Anda: Pindahkan tabel pelaporan ke set data pelaporan khusus yang lebih kecil dan berisi kurang dari 5.000 tabel.

Batas pengembalian baris maksimum 2 juta

Saat Anda memvisualisasikan set data yang besar, diagram Anda mungkin menampilkan peringatan pemotongan data atau menghilangkan baris yang melebihi 2 juta data.

Penyebab: Konektor menampilkan maksimum 2 juta baris per kueri diagram. Jika kueri melebihi 2 juta data, diagram akan memotong data dan menampilkan peringatan.

Langkah-langkah penyelesaian

Untuk menghindari pemotongan data:

  • Terapkan filter tanggal tingkat laporan untuk mempersempit volume kueri.
  • Membuat kueri tabel berpartisi menurut tanggal (`DATE`, `DATETIME`, `TIMESTAMP`) yang memerlukan filter partisi (Pelajari lebih lanjut).
  • Kelompokkan dimensi kardinalitas tinggi di dalam BigQuery sebelum memvisualisasikannya di Data Studio.

Varians MEDIAN dan PERCENTILE

Saat Anda menghitung median (MEDIAN) atau persentil (PERCENTILE) yang tepat dalam diagram yang terhubung ke BigQuery, outputnya mungkin sedikit berbeda dari penghitungan identik yang dilakukan di database SQL atau ekspor CSV lainnya.

Penyebab: Dalam kueri BigQuery, MEDIAN dan PERCENTILE menggunakan fungsi agregasi perkiraan APPROX_QUANTILES. Proses ini memproses set data berskala petabyte dengan cepat, tetapi hasil perkiraan dapat sedikit berbeda dari penghitungan akurat yang dilakukan pada ekspor CSV atau database SQL lainnya.


Error jenis data dan enkripsi

Pelajari cara menangani jenis kolom yang tidak didukung dan kebijakan enkripsi kunci yang diterapkan organisasi.

Error enkripsi CONDITION_NOT_MET (CMEK)

Saat Anda membuat kueri set data, diagram akan gagal dan menampilkan error berikut:

User Configuration Error: CONDITION_NOT_MET

Penyebab: Saat Data Studio menjalankan tugas kueri, BigQuery menulis hasil kueri ke tabel sementara di project penagihan. Jika batasan kebijakan organisasi constraints/gcp.restrictNonCmekServices diterapkan untuk BigQuery pada project penagihan, BigQuery memerlukan kunci enkripsi yang dikelola pelanggan (CMEK) untuk semua tabel baru, termasuk tabel hasil kueri sementara. Karena konektor tidak meneruskan kunci Cloud Key Management Service dalam permintaan tugas kueri, kueri akan gagal dengan User Configuration Error: CONDITION_NOT_MET kecuali jika kunci Cloud KMS default project dikonfigurasi.

Langkah-langkah penyelesaian

Konfigurasikan kunci Cloud KMS default project di BigQuery agar BigQuery otomatis mengenkripsi tabel hasil kueri sementara:

  1. Berikan peran Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci Cloud KMS Anda ke akun layanan enkripsi BigQuery untuk project penagihan.
  2. Tetapkan kunci Cloud KMS default project (region-LOCATION.default_kms_key_name) di project penagihan untuk lokasi set data yang Anda kueri. Contoh:
    ALTER PROJECT PROJECT_ID
    SET OPTIONS (
      `region-LOCATION.default_kms_key_name` = 'projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY'
    );

Atau, hubungi administrator organisasi Anda untuk mengecualikan project penagihan dari kebijakan constraints/gcp.restrictNonCmekServices.


Jenis data TIME tidak didukung

Saat Anda terhubung ke tabel BigQuery yang berisi kolom jenis data TIME (misalnya, 23:59:59), Data Studio akan mengonversi kolom tersebut menjadi TEXT, yang mencegah pengurutan atau agregasi berbasis waktu.

Penyebab: Data Studio tidak mendukung jenis data TIME BigQuery secara native (misalnya, 23:59:59). Konektor mengonversi kolom TIME menjadi string TEXT setelah penyerapan, sehingga mencegah pengurutan berbasis waktu.

Langkah-langkah penyelesaian

Konversi kolom `TIME` menjadi objek DATETIME menggunakan salah satu solusi berikut:

Solusi 1: Gunakan kueri SQL kustom

Gabungkan kolom `TIME` dengan tanggal dasar (`1970-01-01`) langsung di SQL Anda:

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`
  • Hasil: Data Studio menyerap `time_as_datetime` sebagai kolom **Tanggal & Waktu**.
  • Pemformatan: Di properti diagram laporan, ubah **Format Tampilan** kolom menjadi **Jam**, **Menit**, atau format waktu kustom (`j:mm:dd`) sehingga Anda hanya menampilkan bagian waktu (Pelajari lebih lanjut).

Solusi 2: Buat kolom kalkulasi di Data Studio

Jika Anda tidak mengubah kueri SQL, buat kolom kalkulasi di dalam sumber data:

PARSE_DATETIME("%H:%M:%S", CAST(your_time_field AS TEXT))
  • Hasil: Fungsi `PARSE_DATETIME` mengurai string teks menjadi objek **Tanggal & Waktu**, dengan menetapkan tanggal kalender secara default ke 1 Januari 1970 (Pelajari lebih lanjut).

Error Kontrol Layanan VPC

Memecahkan masalah error akses ditolak dan batasan proses latar belakang saat Anda bekerja dalam perimeter layanan.

Service Control Failure saat melihat laporan di luar VPN

Saat Anda melihat laporan di luar VPN atau jaringan perusahaan organisasi Anda, beberapa atau semua diagram akan gagal dengan error berikut:

Service Control Failure

Penyebab: Konektor meneruskan alamat IP pelihat laporan ke BigQuery untuk memverifikasi tingkat akses berbasis IP Kontrol Layanan VPC. Saat Anda menyalin laporan, sumber data SQL kustom lama atau "ghost" di dalam salinan mungkin merujuk ke project penagihan yang dilindungi di dalam perimeter layanan, meskipun set data utama Anda berada di luar.

Langkah-langkah penyelesaian

Identifikasi dan hapus atau tetapkan ulang project penagihan terikat perimeter yang tersembunyi dalam laporan Anda:

  1. Buat salinan laporan yang terpengaruh untuk memecahkan masalah dengan aman.
  2. Di editor laporan salinan, buka Referensi > Kelola sumber data yang ditambahkan.
  3. Tinjau setiap sumber data **BigQuery** atau **Custom SQL** yang disematkan ke laporan.
  4. Edit setiap koneksi SQL kustom untuk memverifikasi **Billing Project** yang dikonfigurasi. Jika ada sumber data yang mengarah ke project penagihan yang dilindungi oleh perimeter Kontrol Layanan VPC, perbarui sumber data tersebut untuk menggunakan project penagihan yang tidak dilindungi atau hapus sumber data jika tidak lagi digunakan.

Pengiriman email terjadwal atau kegagalan pemberitahuan diagram yang dilindungi Kontrol Layanan VPC

Saat fitur latar belakang otomatis (seperti pengiriman email terjadwal atau pemberitahuan diagram) dijalankan pada diagram yang terhubung ke set data BigQuery yang dilindungi Kontrol Layanan VPC, email terjadwal akan dikirim tanpa konten atau lampiran laporan, atau pemberitahuan gagal diaktifkan (VPC Service Controls unexpected field in error map).

Penyebab: Karena fitur latar belakang otomatis (seperti pengiriman email terjadwal atau pemberitahuan diagram) berjalan sebagai tugas latar belakang tanpa alamat IP pengguna akhir, Kontrol Layanan VPC (VPC-SC) memblokirnya saat mengevaluasi tingkat akses berbasis IP (VPC Service Controls unexpected field in error map).

Langkah-langkah penyelesaian

Untuk menggunakan fitur latar belakang otomatis di balik perimeter Kontrol Layanan VPC, konfigurasikan sumber data Anda untuk menggunakan kredensial akun layanan atau buat tingkat akses berbasis identitas: