Topik ini merangkum masalah umum yang ditemui saat membuat dataset.
Masalah Kesalahan Dataset
Masalah Pembuatan Dataset
Masalah dengan Pengolahan Field Dataset
Masalah Izin Dataset
Masalah Tampilan Dataset
Masalah Asosiasi Dataset
Masalah Performa Dataset
Kesalahan SQL Kustom
Jika Anda menemui kesalahan saat menjalankan atau menyimpan SQL kustom, silakan periksa masalah umum berikut ini.
1. Sintaks SQL kustom yang salah
Quick BI memproses sebagian SQL kustom sebelum dieksekusi oleh database. Pemrosesan ini mencakup penguraian placeholder, menerapkan batasan baris dengan pernyataan limit, dan menyisipkan komentar SQL. Akibatnya, kesalahan dari database dasar dapat terjadi jika sintaks SQL kustom salah.
Untuk memecahkan masalah kesalahan SQL kustom, coba jalankan pernyataan SQL langsung di database untuk mengidentifikasi masalah sintaks. Anda dapat meninjau pernyataan SQL yang telah dieksekusi sebelumnya di "riwayat".

2. Pernyataan lain ditulis sebelum pernyataan SELECT
Untuk mencegah masalah performa akibat volume data besar, Quick BI menambahkan klausa 'limit 200' ke SQL kustom selama eksekusi dan penyimpanan. Oleh karena itu, SQL kustom harus dimulai dengan pernyataan SELECT. Pernyataan HINT tidak dapat ditulis langsung sebelum pernyataan SELECT, karena ini akan menghasilkan kesalahan.
Untuk menggunakan pernyataan HINT, silakan atur melalui opsi [Set HINT Statement] yang disediakan.
Untuk daftar sumber data yang mendukung pernyataan HINT, lihat: Daftar Item Fungsi Sumber Data.

3. Placeholder digunakan tanpa nilai default
SQL kustom Quick BI memungkinkan pengiriman parameter melalui placeholder. Saat melihat laporan, placeholder memungkinkan analisis data dinamis dengan mengirimkan nilai ke SQL dasar melalui kontrol kueri. Untuk skenario penggunaan dan metode, lihat dokumen: Placeholder.
Nilai default harus diatur untuk setiap placeholder yang digunakan dalam pernyataan SELECT untuk menghindari SQL yang tidak lengkap dan kesalahan eksekusi.
Sebagai contoh, dalam contoh di bawah ini, jika placeholder $val{profit_range} tidak memiliki nilai default, "level pesanan" tidak dapat dihitung, yang mengakibatkan kesalahan SQL kustom. Dengan menetapkan nilai default 100 untuk placeholder, SQL dieksekusi dengan benar dan menampilkan data.
Untuk mencegah kesalahan laporan akibat placeholder yang belum ditetapkan, disarankan untuk menetapkan nilai default "berlaku global" untuk placeholder setelah pernyataan SELECT, bukan nilai default "hanya berlaku untuk dataset".
SELECT report_date, order_level, shipping_type,price,order_number,area,
case when profit_amt< $val{profit_range} then'Loss'
when profit_amt> $val{profit_range} then'Profit'
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}

4. Lainnya
Disarankan untuk menstandarisasi penggunaan komentar dan alias dalam SQL kustom untuk menghindari kesalahan yang mungkin timbul dari nama field khusus yang dikembalikan oleh database dasar atau masalah penguraian placeholder.
Selain itu, tidak perlu menambahkan titik koma ";" di akhir SQL kustom.
Penyebab Umum Kesalahan pada Field yang Dihitung
Field yang dihitung merujuk ke field fisik. Untuk mengonversi tipe field, gunakan fungsi konversi yang sesuai. Mengubah tipe field secara manual tidak akan memengaruhi tipe field fisik yang mendasarinya, sehingga dapat menyebabkan kesalahan karena ketidakcocokan tipe.
Field dimensi yang dihitung tidak dapat menggunakan fungsi agregat seperti SUM dan AVG. Untuk melakukan perhitungan agregasi, simpanlah sebagai ukuran.
Field bertipe teks hanya dapat digunakan untuk fungsi agregasi COUNT dan COUNTD. Mereka tidak kompatibel dengan fungsi agregat seperti SUM dan MAX. Konversikan field ini ke tipe numerik sebelum melakukan perhitungan agregasi.
Masalah apa saja yang harus saya perhatikan saat membuat dataset menggunakan file lokal?
Saat membuat dataset menggunakan file lokal yang diunggah, Anda perlu mengikuti sintaks basis data dari sumber data yang diunggah. Jika file diunggah ke ruang eksplorasi, Anda perlu mengikuti sintaks basis data ClickHouse saat membuat dan menggunakan dataset.
Saat mengunggah file ke ruang eksplorasi, pembuatan dataset menggunakan SQL kustom tidak didukung. Asosiasi lintas sumber untuk pembuatan dataset juga tidak didukung saat mengunggah file ke ruang eksplorasi. Jika Anda perlu membuat dataset dengan asosiasi lintas sumber, Anda dapat mengunggah file ke sumber data ruang kerja grup yang mendukung asosiasi lintas sumber. Saat file diunggah ke sumber data basis data dan Anda membuat dataset menggunakan SQL kustom, Anda harus menggunakan nama tabel fisik yang dihasilkan secara otomatis di basis data setelah unggahan file, bukan nama file yang diunggah. Anda dapat melihat nama tabel fisik yang sesuai dengan file yang diunggah dengan mengklik tombol pengaturan untuk file tersebut di daftar file unggahan sumber data, masuk ke halaman modifikasi unggahan file, dan melihat informasi nama tabel fisik.

Bagaimana cara mengonversi field bertipe timestamp Unix ke field bertipe tanggal-waktu standar?
Jika field waktu disimpan sebagai timestamp Unix dan Data Type diatur ke Text atau Numeric, Anda harus menggunakan fungsi from_unixtime untuk mengonversinya.
Buat field yang dihitung di halaman pengeditan dataset dengan mengikuti langkah-langkah yang diilustrasikan dalam gambar.

Setelah menyimpan dataset, segarkan dataset seperti yang digambarkan di bawah ini.

Bagaimana cara menetapkan nilai null atau kosong yang ditampilkan di dasbor?
1. Konfigurasikan gaya tampilan untuk nilai kosong dalam dataset.

2. Konfigurasikan gaya tampilan untuk nilai kosong di dasbor itu sendiri.

Bagaimana cara mencapai perhitungan proporsi fleksibel menggunakan parameter SQL?
Quick BI saat ini tidak memiliki dukungan asli untuk perhitungan proporsi langsung. Namun, Anda dapat menggunakan SQL berparameter untuk membangun dataset untuk tujuan ini.
Pertimbangkan tabel dengan struktur berikut: tanggal, provinsi, kota, jumlah penjualan. Untuk menghitung rasio jumlah penjualan berdasarkan kota dalam provinsinya masing-masing, Anda harus: 1. mengelompokkan berdasarkan dimensi kota; 2. memungkinkan pemilihan rentang tanggal apa pun dan mengaktifkan pemilihan multi-provinsi dan multi-kota.
Di bawah ini adalah contoh cara membangun model dataset menggunakan SQL berparameter:
select a.city,sum(fenzi)/sum(fenmu) as ratio
from
(select province,city,sum(order_amt) fenzi
from zhanbi_test
where $expr{date:date_para}
and $expr{province:province_para}
and $expr{city:city_para}
group by province,city
)a
left join
(select province,sum(order_amt) fenmu
from zhanbi_test
where $expr{date:date_para}
and $expr{province:province_para}
and $expr{city:city_para}
group by province
)b on a.province=b.provinceContoh SQL yang diberikan mengelompokkan data berdasarkan field kota, tetapi Anda dapat menerapkan pengelompokan serupa ke field lainnya. Saat menggunakan SQL dalam bentuk berparameter ini, pastikan untuk mengonversi field tanggal ke tipe tanggal dalam pengaturan parameter dataset untuk berhasil membuat dataset dan memvisualisasikannya di dasbor.
Bagaimana cara mencapai perhitungan kumulatif menggunakan parameter SQL?
Opsi konfigurasi saat ini mendukung berbagai perhitungan kumulatif, termasuk untuk tahun berjalan, tahun-tahun sebelumnya, bulanan, kuartalan, dan periode kustom. Saat dataset diatur dengan tahun fiskal dan field tanggal sesuai dengan tahun fiskal, granularitas harian memungkinkan perhitungan kumulatif selama tahun fiskal dan kuartal fiskal. Untuk informasi lebih lanjut, lihat Kumulatif Tanggal.
Untuk mengonfigurasi, pilih field hari bertipe tanggal dalam dimensi, seperti yang diilustrasikan di bawah ini. 
Untuk memilih periode waktu apa pun dan menghitung nilai kumulatif dari tanggal mulai tertentu untuk setiap periode, diperlukan SQL berparameter. Berikut adalah pernyataan referensi untuk perhitungan kumulatif bulanan:
select a.mon_date,avg(a.order_num) order_num,sum(b.order_num) add_num
from (
select date_format(report_date,'%Y/%m') mon_date,count(distinct order_id) order_num,max(date_format(report_date,'%Y/%m')) max_mon_date
from company_sales_record_copy
where $expr{report_date:month_date}
group by date_format(report_date,'%Y/%m')
)a
left join(
select date_format(report_date,'%Y/%m') mon_date,count(distinct order_id) order_num
from company_sales_record_copy
where $expr{report_date:month_date}
group by date_format(report_date,'%Y/%m')
)b on a.max_mon_date>=b.mon_date
group by a.mon_date Dengan pengaturan ini, selama kondisi kueri dasbor terhubung ke field parameter, Anda dapat mengambil nilai kumulatif untuk setiap bulan mulai dari bulan yang dipilih dengan memfilter rentang bulan yang berbeda.
Bagaimana cara memfilter data untuk n hari terakhir dengan memasukkan satu tanggal menggunakan parameter SQL?
Di Quick BI, perilaku defaultnya adalah memasukkan satu tanggal dan menampilkan data untuk tanggal spesifik tersebut. Untuk melihat data selama rentang tanggal, Anda harus memasukkan tanggal awal dan akhir dari rentang tersebut. Namun, jika Anda perlu memfilter data secara berbeda di dua grafik misalnya, satu grafik menampilkan data untuk hari tertentu dan grafik lainnya menampilkan data untuk tiga hari terakhir mulai dari hari itu, Anda dapat mencapainya menggunakan parameter SQL. Di bawah ini adalah contoh SQL untuk referensi:
select report_date,area,product_type,count(distinct order_id) order_num
from company_sales_record
where area in ('Southwest','Northwest','North')
and ( $expr{dateadd(report_date,1,'dd'):date1}
or $expr{dateadd(report_date,2,'dd'):date1}
or $expr{dateadd(report_date,3,'dd'):date1})
group by area,product_type,report_dateApakah izin tingkat baris didukung?
Ya, didukung. Untuk informasi lebih lanjut, lihat Izin Tingkat Baris.
Berapa banyak baris data yang ditampilkan dataset secara default?
Secara default, dataset menampilkan 100 baris data.
Apakah dataset mendukung paging?
Tidak didukung.
Mengapa field baru tidak dapat ditampilkan di sebelah kanan?
Field yang dihitung agregat tidak ditampilkan selama pratinjau data.

Bagaimana cara menerapkan data geografis ke grafik peta?
Di halaman pengeditan dataset, Anda dapat mentransformasi data geografis menjadi informasi geografis yang sesuai dengan menggunakan fitur saklar tipe dimensi.

Untuk informasi lebih lanjut, lihat Buat dan Kelola Dataset.
Bagaimana cara menetapkan penggunaan deskripsi sebagai nama field?
Di pengaturan ruang kerja Anda, Anda dapat memilih untuk menggunakan nama tabel atau deskripsi sebagai nama field saat membuat dataset.
Selain itu, Anda dapat memilih beberapa field dan memilih 'Gunakan Deskripsi sebagai Nama Field' di tab Konfigurasi Batch selama pembuatan dataset.

Catatan: Jika deskripsi field kosong, maka tidak dapat digunakan sebagai nama field.
Jika dataset dibuat menggunakan SQL kustom, Anda perlu menetapkan alias untuk field dalam pernyataan SQL kustom untuk ditampilkan sebagai nama field dataset.
Bagaimana cara memperbarui dataset dengan cepat saat field di tabel fisik berubah?
Jika field fisik hilang, field tersebut mungkin masih digunakan untuk analisis atau ditampilkan di dasbor. Quick BI tidak secara otomatis menghapus field. Anda dapat memilih tabel di kanvas, memeriksa modifikasi field di panel sisi kanan, dan segera menghapus field yang tidak valid dengan satu klik.
Bagaimana cara membuat dataset dari dua database?
Anda dapat menyeret tabel data dari dua database berbeda ke kanvas dan menetapkan hubungan asosiasi mereka. Setelah diproses oleh mesin Quick, mereka akan berfungsi seperti yang diharapkan. Untuk daftar sumber data yang kompatibel dengan percepatan ekstraksi mesin Quick, lihat Daftar Item Fungsi Sumber Data.
Bagaimana cara menyalin dataset ke ruang kerja lain?
Anda dapat menyalin dataset ke ruang kerja berbeda menggunakan fitur salin dataset lintas ruang. Untuk informasi lebih lanjut, lihat Salin Dataset Lintas Ruang.
Bagaimana cara mengonfigurasi model asosiasi untuk mencapai analisis asosiasi multi-tabel?
Untuk informasi lebih lanjut, lihat Bangun Model.
Mengonfigurasi model asosiasi mirip dengan menggunakan pernyataan Join dalam SQL. Anda dapat menetapkan model asosiasi di halaman pengeditan dataset. Untuk informasi lebih lanjut, lihat Bangun Model. 
Apa manfaat mengaktifkan caching hasil kueri untuk dataset?
Mengaktifkan caching untuk dataset dapat mempercepat akses laporan dan meminimalkan kueri basis data. Sebagai contoh, ketika caching diaktifkan untuk dataset dan pengguna menjalankan kueri pada laporan yang berasal dari dataset tersebut, data yang dihasilkan disimpan dalam cache. Selanjutnya, jika pengguna lain mengakses laporan yang sama dalam durasi cache yang ditentukan, Quick BI dapat langsung menampilkan data tanpa menanyai ulang basis data.
Bagaimana cara mengoptimalkan saat waktu kueri dataset SQL terlalu lama?
1. Perbaiki logika SQL untuk memanfaatkan indeks secara efektif, atau buat tampilan dalam basis data untuk melewati join kompleks dan mempercepat eksekusi kueri.
2. Tetapkan nilai default global untuk placeholder SQL untuk mencegah pemindaian tabel penuh saat berurusan dengan dataset besar.