Upgrade Guide — JOIN Master Data di Question
Catatan rilis dan panduan migrasi untuk question yang menggabungkan data proses dengan Master Data. Query yang membaca masterdata_tables atau masterdata_records langsung tidak lagi didukung; gunakan <<master_slug>>.
Halaman ini untuk PIC implementor dan Admin SOP yang punya question dengan data referensi (kategori, cabang, jenis dokumen) dari Master Data.
Yang baru
Master Data kini bisa di-JOIN lewat <<master_slug>>, sama seperti tabel proses. Sistem otomatis membatasi data pada workspace Anda. Cara memilih dan memakainya ada di Memakai Master Data.
Perubahan yang memutus query lama
Setelah upgrade, question yang menyebut tabel tanpa pembungkus <<...>> ditolak. Ini mencakup:
- tabel Master Data langsung:
masterdata_tables,masterdata_records; - tabel sistem:
tenants,users, dan semua tabel dengan awalanpublic.; - schema lain, termasuk schema workspace lain (
v_…) daninformation_schema.
Alasannya: pola lama membaca tabel milik semua workspace dengan tenant_id yang ditulis manual. Salah angka berarti membaca data workspace lain, dan angka itu berubah bila question dipindah ke instance atau workspace lain.
Sebelum dan sesudah
Sebelum (tidak lagi didukung):
SELECT p.proc_inst_id_, p.state, p.input_dest AS destinasi,
mt.name AS tabel_master_data, md.data->>'name' AS kategori
FROM <<liburan>> p
LEFT JOIN masterdata_tables mt ON mt.tenant_id = 2 AND mt.slug = 'kategori-cuti'
LEFT JOIN masterdata_records md ON md.masterdata_table_id = mt.id
ORDER BY p.created_at_ DESCMasalah pada query ini:
- Hasil berlipat. Tidak ada kondisi yang menghubungkan
pdenganmd, sehingga setiap baris proses dikalikan dengan semua record kategori. Pada data uji (2 proses, 3 kategori) query ini menghasilkan 6 baris, dan kategori yang tampil tidak sesuai pilihan di form. - Mengandalkan angka
tenant_idyang ditulis manual. - Membaca JSON mentah (
data->>'name'): nama tabel dan kolom ditulis sebagai teks, tidak ikut tipe kolom Master Data.
Sesudah:
SELECT p.proc_inst_id_, p.state, p.input_dest AS destinasi, m.name AS kategori
FROM <<liburan>> p
LEFT JOIN <<master_kategori-cuti>> m ON m.kode = p.input_kat
ORDER BY p.created_at_ DESC- Pilih
<<master_kategori-cuti>>dari dropdown Tables, grup Master Data. - Kolom penghubung adalah kolom Master Data yang Anda pilih sebagai Value Field pada field Master Data Select. Di contoh ini
kode, sehinggam.kode = p.input_kat. - Pada data uji yang sama, query ini menghasilkan 2 baris, masing-masing dengan kategori sesuai pilihan di form.
Bila Master Data punya kolom bernama id, di query kolom itu tampil sebagai id_2. Lihat catatan di Memakai Master Data.
Pesan error dan cara migrasi
| Pesan di question | Penyebab | Migrasi |
|---|---|---|
Failed to execute query: … relation "masterdata_tables" does not exist (SQLSTATE 42P01) | Tabel disebut tanpa schema (masterdata_tables, masterdata_records, tenants, …) | Ganti dengan <<master_slug>> untuk Master Data. Untuk tabel proses, pakai <<NamaProses>> |
access denied: schema 'public' is not allowed | Memakai public.… | Sama seperti di atas. Data sistem hanya lewat sumber Data sistem di dropdown Tables |
access denied: schema 'v_…' is not allowed | Menyebut schema workspace lain | Hapus nama schema, pakai <<NamaProses>> |
access denied: "information_schema" is not allowed in a question query | Membaca katalog database | Tidak ada pengganti; hapus bagian itu |
Query must contain at least one table wrapper (<<table_name>>) | Query tidak memakai <<...>> sama sekali | Pilih tabel dari dropdown Tables |
Checklist untuk PIC implementor
Sebelum upgrade — temukan question yang terdampak. Buka tiap question di Analytics → Question, lalu cari teks berikut di query editor:
masterdata_public.tenant_id =tenants,users,information_schema
Migrasi — untuk setiap question yang cocok:
- Hapus JOIN ke
masterdata_tablesdanmasterdata_records. - Sisipkan
<<master_slug>>dari dropdown Tables (grup Master Data). - Tulis kondisi
ONantara kolom Master Data (Value Field) dan kolom field Master Data Select pada proses. - Hapus angka
tenant_idyang ditulis manual.
Uji ulang — jalankan question dengan Run Query. Pastikan jumlah baris sama dengan jumlah proses (bukan proses × record Master Data) dan kategori sesuai pilihan di form. Simpan question, lalu cek Dashboard yang memakainya.
Scheduled Export
Mengirim isi sebuah Dashboard Analytics ke daftar email secara otomatis dan berulang dalam format PDF atau Excel, mengatur jadwalnya dari layar Edit Dashboard, serta memahami periode data, masa berlaku tautan unduh, dan penyebab kiriman tidak sampai.
Metrics
Membuat metric dari data proses (Count, Sum, Average, Percentage, Duration, dan lainnya), menggabungkan beberapa metric dengan rumus, serta mengubah dan menghapus metric yang sudah dipakai KPI.
