全部产品
Search
文档中心

:SQL Kustom

更新时间:Jun 24, 2025

Dalam analisis data, SQL kustom memungkinkan pembuatan tabel data dengan logika atau model yang kompleks. SQL kustom juga mendukung pengoperan parameter untuk mengakomodasi skenario analisis yang lebih canggih dan variabel.

Prasyarat

Anda telah memperoleh data. Untuk informasi lebih lanjut, lihat Hubungkan ke sumber data.

Batasan

Sumber data API tidak mendukung SQL kustom.

Masukkan kode SQL

Anda dapat menambahkan SQL kustom menggunakan salah satu metode berikut:

  1. Navigasikan ke halaman SQL kustom.

    • Entri 1: Di halaman sumber data, klik Create Dataset By SQL di pojok kanan atas. image

    • Entri 2: Di halaman pengeditan dataset, pilih sumber data di panel kiri. Jika tidak ada tabel data di kanvas, klik Click To Create A Dataset Using SQL Code di kanvas atau Buat tabel dengan kode SQL di panel kiri. image

  2. Setelah memasukkan kode SQL, klik Run.

    image

    Contoh pernyataan SQL:

    SELECT  report_date,
            order_level,
            shipping_type,
            area,
            price,
            order_number
    from    company_sales_record
    where   $expr{report_date :report_date}
    and     $expr{order_level :order_level}
    and     $expr{order_number :order_number}

    Setelah berhasil dijalankan, Anda dapat melihat pratinjau hasilnya di tab Run Result. image

  3. Klik Confirm Edit untuk menyimpan dataset yang dibuat dengan pernyataan SQL kustom.

Modifikasi kode SQL

Anda dapat memodifikasi kode SQL menggunakan salah satu dari tiga metode berikut:

  • Klik ikon image di sebelah kanan tabel target. image

  • Klik tabel target di kanvas. Di bagian Rincian Tabel di bawah, klik Edit Code. image

  • Klik ikon image di sebelah kanan tabel target dan pilih Edit Kode.

    image

Sintaksis SQL

  • SQL kustom untuk dataset terutama mendukung pernyataan kueri. Sintaks INSERT, UPDATE, dan DELETE tidak didukung dalam pernyataan SQL kustom, begitu juga prosedur tersimpan.

  • Sintaksis kueri SQL mengikuti sintaksis database dari sumber data yang digunakan. Misalnya, jika sumber data menggunakan MySQL, SQL kustom harus ditulis sesuai dengan pernyataan kueri MySQL. Beberapa sintaksis database khusus tidak didukung di Quick BI, seperti find() dan findone() di MongoDB. Dalam SQL kustom, Anda perlu menggunakan pernyataan SELECT untuk mengkueri data.

  • Saat menambahkan komentar dalam SQL kustom, Anda dapat menggunakan format "--" + spasi + komentar.

    image

    Contoh pernyataan SQL:

    SELECT  area,  -- area
            price  -- harga  
    from    company_sales_record
  • Saat menggabungkan beberapa tabel dalam SQL kustom, Anda perlu memperhatikan penggunaan alias tabel dan alias bidang, karena database yang berbeda mungkin memiliki sintaksis penulisan alias yang berbeda.

  • Tidak ada batasan jumlah baris dalam SQL kustom untuk dataset, tetapi panjang karakter SQL kustom tidak boleh melebihi 65.536 karakter. Jika diperlukan, Anda dapat membagi dan mengoptimalkan logika SQL kustom, atau membuat beberapa dataset secara terpisah lalu melakukan kueri gabungan.

null
  • SQL dataset dieksekusi di database, dan data hasil dikembalikan ke Quick BI. Waktu tunggu kueri adalah 5 menit. Jika data tidak dikembalikan setelah 5 menit, akan terjadi kesalahan timeout.

  • Jika terjadi kesalahan timeout kueri sebelum batas waktu 5 menit, penyebab umum termasuk pengaturan timeout pada perangkat jaringan sisi pengguna seperti SLB, atau kebijakan pemblokiran jaringan firewall yang menyebabkan permintaan antarmuka kueri dicegat.

Placeholder

Quick BI memungkinkan pengoperan parameter menggunakan placeholder. Fitur ini memungkinkan analisis data yang fleksibel selama peninjauan laporan dan analisis data dengan mengoper nilai placeholder ke SQL melalui kontrol kueri. Quick BI mendukung placeholder nilai dan ekspresi, yang dapat Anda konfigurasikan sesuai kebutuhan.

Tipe

Deskripsi

Skenario

Format

Placeholder nilai

Anda dapat mengoper nilai atau sekumpulan nilai melalui kontrol kueri di dasbor.

null

Jika placeholder menunjukkan nilai tanggal, Anda harus menentukan format tanggal untuk menentukan format nilai input.

Berlaku untuk sebagian besar skenario di mana parameter perlu dioper.

'$val{nama_placeholder}'

Placeholder ekspresi

Anda dapat mengoper kondisi melalui kontrol kueri di dasbor.

Ketika pengguna dapat secara bebas memodifikasi metode filter dalam kondisi filter di dasbor, Anda perlu menggunakan placeholder ekspresi untuk mengoper seluruh kondisi filter ke SQL.

Sebagai contoh, dalam dasbor berikut, pengguna dapat menyetel profit>50 atau profit<50, dan Anda perlu mengoperkannya ke SQL bersama dengan operator. 参数传参

$expr{nama_field_fisik:nama_placeholder}

Metode konfigurasi

Buat SQL untuk memenuhi persyaratan bisnis dan masukkan placeholder.

  1. Di halaman pengeditan kode SQL, klik Placeholder Management.

    image

  2. Di panel Placeholder Management, konfigurasikan placeholder seperti yang ditunjukkan dan klik OK.

    image

    Untuk item konfigurasi, lihat Buat dataset.

    null

    Jika placeholder digunakan setelah pernyataan select, Anda harus menetapkan nilai default yang berlaku secara global.

    Sebagai contoh, saat membuat dataset, sertakan placeholder "profit_range" setelah pernyataan select sebagai berikut:

    SELECT report_date, order_level, shipping_type,price,order_number,area,
     case when profit_amt< ${profit_range} then'Loss' 
     when profit_amt> ${profit_range} then'Profitable'
     else 'Flat'
     end 'order_level'
    from company_sales_record
    where $expr{report_date :report_date}
    and $expr{order_level :order_level}
    and $expr{order_number :order_number}

    Tanpa nilai default, kode tersebut tidak akan berjalan dengan benar.

    image

    Tetapkan nilai default kueri untuk "profit_range" di Manajemen Placeholder.

    image

    Setelah menetapkan nilai default, kode akan berjalan dengan benar, seperti yang ditunjukkan:

    image

  3. Klik Simpan untuk menyimpan dataset. image

  4. Di bilah menu atas, klik ikon image atau klik ikon image dan pilih Buat Dasbor.

    image

  5. Di halaman pengeditan dasbor, tambahkan kondisi kueri dan ikat placeholder.

    Sebagai contoh, untuk menetapkan kondisi kueri, gunakan pemilihan drop-down tunggal untuk memfilter area, ikat placeholder SQL, dan oper satu nilai. image.png

    Gunakan penyaringan teks untuk memfilter order_number, ikat parameter SQL, dan oper sebuah kondisi. image.png

  6. Saat dasbor dikueri, ia akan mentransmisikan konten tertentu ke placeholder nilai dan ekspresi berdasarkan kondisi kueri.

    Sebagai contoh, kondisi kueri dasbor diilustrasikan di bawah ini. image.png

    SQL yang sesuai adalah sebagai berikut:

    SELECT * FROM company_sales_record
    WHERE area = 'North' 
    AND order_number > 100

    Contoh penggunaan placeholder adalah sebagai berikut:

    SELECT * FROM tablename
    WHERE area in ('$val{area_ph}') -- Tipe teks, pilihan ganda
    AND name = '$val{name_ph}' -- Tipe teks, pilihan tunggal
    AND number = $val{number_ph}  -- Tipe numerik
    AND report_date > '$val{report_date_ph.get(0)}' -- Tipe tanggal, peroleh tanggal mulai kontrol rentang tanggal
    AND report_date < '$val{report_date_ph.get(1)}' -- Tipe tanggal, peroleh tanggal akhir kontrol rentang tanggal

Untuk skenario di mana placeholder diterapkan, lihat Placeholder.

null

Kompatibel dengan penulisan historis:

Penulisan historis placeholder nilai (placeholder asli): ${nama_placeholder}

Penulisan historis placeholder ekspresi (parameter asli): ${nama_field_fisik:nama_parameter}