Quick BI memungkinkan integrasi laporan (dashboard dan buku kerja) dari ruang kelompok ke dalam sistem eksternal guna menyederhanakan proses bisnis. Panduan ini menjelaskan cara menyematkan laporan ke sistem pihak ketiga dan berlaku untuk Edisi Pro maupun Edisi Profesional.
Batasan
Edisi Dasar hanya mendukung penyematan dashboard dan buku kerja.
Beberapa browser dapat memblokir penyematan iframe lintas origin saat menyematkan halaman pelaporan buku kerja ke lingkungan pihak ketiga, sehingga mencegah penulisan cookie dan menyebabkan kegagalan pengiriman data pada halaman pelaporan buku kerja yang kompleks. Misalnya, browser bawaan WeCom pada sistem iOS mungkin mengalami masalah pengiriman data setelah menyematkan halaman pelaporan buku kerja kompleks dan mencoba mengirimkan data.
Oleh karena itu, disarankan untuk menggunakan fitur pelaporan buku kerja secara langsung di platform Quick BI.
Informasi Latar Belakang
Untuk menyematkan dan menggunakan laporan Quick BI dalam sistem Anda, Anda harus mengaktifkan fungsi penyematan laporan.
Dengan Quick BI Pro, penyematan laporan pihak ketiga tidak membedakan izin database. Setelah disematkan, izin tingkat baris menjadi tidak efektif, dan izin akan mengikuti izin pemilik laporan. Solusi peningkatan keamanan tidak didukung.
Sebaliknya, Quick BI Professional Edition memungkinkan pembedaan izin database saat menyematkan laporan ke sistem pihak ketiga. Edisi ini memungkinkan pengguna berbeda melihat laporan yang sama dengan data berbeda serta mendukung solusi peningkatan keamanan untuk penyematan. Untuk informasi lebih lanjut, lihat Solusi Peningkatan Keamanan untuk Kontrol Izin Data Tersemat dan Transmisi Parameter dalam Laporan.
Terdapat lima situs internasional, masing-masing dengan nama domain sendiri:
Singapura: bi-ap-southeast-1.data.aliyun.com
Hong Kong (Tiongkok): bi-cn-hongkong.data.aliyun.com
Kuala Lumpur, Malaysia: bi-ap-southeast-3.data.aliyun.com
Frankfurt, Jerman: bi-eu-central-1.data.aliyun.com
Indonesia: bi-ap-southeast-5.data.aliyun.com
Panduan ini menggunakan nama domain Hong Kong (Tiongkok) sebagai contoh untuk penggabungan tautan. Gantilah dengan nama domain situs yang sesuai untuk lokasi lainnya.
Langkah 1: Aktifkan Laporan untuk Disematkan
Penyematan laporan hanya didukung untuk laporan dalam status dipublikasikan.
Untuk mengaktifkan penyematan laporan, akses modul platform terbuka:
Buka halaman laporan yang akan disematkan dari halaman utama produk Quick BI seperti yang ditunjukkan pada gambar di bawah.

Pada halaman Add Embedded Report, pilih ruang kerja dan jenis objek data yang diinginkan, lalu pilih nama objek data dari daftar dan klik Enable Embedding. Gunakan fungsi pencarian nama laporan untuk menemukan laporan yang ingin disematkan secara cepat.
CatatanBeberapa browser dapat memblokir penyematan iframe lintas origin saat menyematkan halaman pelaporan buku kerja ke lingkungan pihak ketiga, sehingga mencegah penulisan cookie dan menyebabkan kegagalan pengiriman data pada halaman pelaporan buku kerja. Oleh karena itu, disarankan untuk menggunakan fitur pelaporan buku kerja secara langsung di platform Quick BI.
Konfigurasi Penyematan
Fitur debugging untuk konfigurasi penyematan laporan ditujukan untuk solusi tingkat lanjut.
PentingDebugging ini hanya untuk pengujian fitur. Untuk penerapan aktual, harap selesaikan Langkah 2: Dapatkan AccessTicket melalui Antarmuka HTTPS dan Langkah 3: Gabungkan URL Single Sign-On.
Setelah penyematan diaktifkan, kemampuan skema dasar dan skema tingkat lanjut berbeda selama integrasi aktual. Lihat tabel di bawah untuk detailnya:
Kemampuan
Skema dasar
Skema tingkat lanjut
Bind user
Pemilik laporan, tidak dapat diubah
Mendukung kustomisasi, dipersonalisasi untuk setiap pengguna
Jumlah akses
Maksimal 100.000 kali per tiket
Tanpa Batas, mendukung pengaturan kustom
Watermark
Tidak didukung
Dukungan
(Kecuali untuk layar besar yang tidak mendukung watermark)
Periode validitas
Maksimal 240 menit
Mendukung kustomisasi
Parameter global
Tidak didukung
Dukungan
Penyematan Blok
Tidak didukung
Didukung
Jumlah lompatan
CatatanLaporan yang akan dilompati juga perlu mengaktifkan penyematan.
Hanya dapat melompat satu kali
Contoh: Setelah laporan A melompat ke laporan B, laporan B tidak dapat melompat ke laporan C.
Mendukung lompatan tanpa batas
Contoh: Setelah laporan A melompat ke laporan B, laporan B masih dapat melompat ke laporan C, dan C dapat terus melompat lebih jauh, dan seterusnya.
Langkah 2: Dapatkan AccessTicket melalui Antarmuka HTTPS
Bagian ini menggunakan contoh penyematan dashboard dari ruang kelompok ke sistem pihak ketiga.
Jika akun yang mengaktifkan akses dashboard memiliki izin developer atau analisis, akun tersebut hanya dapat mengaktifkan akses untuk dashboard yang dibuat oleh akun tersebut.
Jika akun memiliki izin manajemen, akun tersebut dapat mengaktifkan akses ke semua laporan dalam ruang kerja tersebut.
Ikuti langkah-langkah berikut untuk mendapatkan ID AccessKey dan AccessKey Secret Anda, yang disebut sebagai accessId dan accessKey.
Login ke Konsol Quick BI.
Pada halaman utama Quick BI, ikuti petunjuk pada gambar di bawah untuk mendapatkan ID AccessKey dan AccessKey Secret Anda.

Dapatkan ID akun Alibaba Cloud Anda, juga dikenal sebagai aliyunUid.
Login ke akun Alibaba Cloud Anda dan klik foto profil di pojok kanan atas untuk melihat ID akun.

Pada halaman pengeditan laporan, dapatkan ID laporan, juga dikenal sebagai worksId:

Dapatkan accessTicket
Gabungkan parameter accessId, accessKey, aliyunUid, dan worksId yang diperoleh pada langkah sebelumnya ke dalam alamat permintaan berikut dan kirim permintaan GET untuk mengambil accessTicket.
CatatanAkun yang digunakan untuk mendapatkan accessTicket memiliki batasan berikut:
Jika akun tersebut dinonaktifkan di Tenant Management > User Management, Anda tidak dapat membuat accessTicket baru. Namun, accessTicket yang sudah ada tetap berlaku.

Jika akun tersebut dihapus di Tenant Management > User Management, Anda tidak dapat membuat accessTicket baru. AccessTicket yang sudah ada menjadi tidak valid.

aliyunUid hanya digunakan untuk memverifikasi apakah role saat ini memiliki izin untuk mengaktifkan Single Sign-On untuk laporan organisasi saat menghasilkan accessTicket. Parameter ini tidak mengikat identitas laporan tersemat pihak ketiga.
validityTime adalah parameter opsional dengan rentang nilai 1 hingga 240, dengan nilai default 240. Satuannya adalah menit.
Untuk segera membatalkan validitas accessTicket, kirim permintaan POST dengan nilai aliyunUid, accessId, accessKey, dan accessTicket yang sesuai.
http://bi-cn-hongkong.data.aliyun.com//openapi/ac3rd/ticket/invalid?aliyunUid=xx&accessId=xx&accessKey=xx&accessTicket=xx
Langkah 3: Buat URL Tanpa Login
Skema ini tidak mendukung pengikatan otentikasi pengguna. Secara default, laporan diakses seolah-olah oleh pemilik laporan.
Lihat tabel di bawah untuk proses penggabungan dan contohnya.
Proses | Contoh Dashboard | Contoh Buku Kerja |
|
| |
|
| |
|
| |
|
|
Format penggabungan dan URL laporan adalah sebagai berikut:
Untuk dashboard, gunakan format ini:
https://<nama domain Quick BI>/<URL pratinjau laporan>?pageId=<ID laporan>&accessTicket=<AccessTicket>. URL yang dihasilkan adalah:https://bi-cn-hongkong.data.aliyun.com//token3rd/dashboard/view/pc.htm?pageId=dd0****83f&accessTicket=fd138bcb-****-4fde-b413-81bcee59bdb6Untuk buku kerja, gunakan format ini:
https://<nama domain Quick BI>/<URL pratinjau laporan>?id=<ID laporan>&accessTicket=<AccessTicket>. URL yang dihasilkan adalah:https://bi-cn-hongkong.data.aliyun.com//token3rd/report/view.htm?id=<42****18ef6>&accessTicket=fd138bcb-****-4fde-b413-81bcee59bdb6
Tentukan nama domain Quick BI.
Contohnya, nama domain untuk situs Quick BI Hong Kong (Tiongkok) adalah
bi-cn-hongkong.data.aliyun.com/. Gunakan nama domain untuk lingkungan Anda.Identifikasi URL pratinjau laporan.
URL untuk halaman pratinjau sesuai jenis laporan tercantum di bawah. Pilih sesuai kebutuhan Anda.
Untuk dashboard:
token3rd/dashboard/view/pc.htmUntuk buku kerja:
token3rd/report/view.htm
Dapatkan ID laporan pada halaman pengeditan laporan.
Untuk ID Dashboard
Pada halaman pengeditan dashboard, temukan nilai pageId dashboard di bilah alamat.

ID Buku Kerja
Pada halaman pengeditan buku kerja, temukan nilai ID buku kerja di bilah alamat.

Gabungkan nama domain Quick BI, URL pratinjau laporan, ID laporan, dan parameter AccessTicket yang diperoleh pada Langkah 2 ke dalam alamat permintaan berikut.
Untuk dashboard, gunakan format
https://<nama domain Quick BI>/<URL pratinjau laporan>?pageId=<ID laporan>&accessTicket=<AccessTicket>Untuk buku kerja, gunakan format
https://<nama domain Quick BI>/<URL pratinjau laporan>?id=<ID laporan>&accessTicket=<AccessTicket>
Kelola Laporan Tersemat
Untuk laporan pihak ketiga yang telah disematkan, Anda dapat melakukan operasi berikut:
Untuk mencari laporan tersemat, masukkan kata kunci nama laporan di kotak pencarian pada halaman daftar laporan dan klik ikon
.Anda dapat mempersempit pencarian dengan memilih ruang kerja atau jenis laporan.
Untuk melihat jumlah laporan tersemat, lihat Lihat Jumlah Laporan Tersemat.
Untuk menghapus laporan tersemat, klik ikon
di samping laporan.
Lihat Jumlah Laporan Tersemat
Pada halaman utama produk Quick BI, klik Open Platform.
Pada panel navigasi di sebelah kiri, klik Embedded Analysis.
Pada halaman Report Embedding, jumlah laporan yang disematkan ke sistem pihak ketiga akan ditampilkan.

Bagaimana mengatasi error "access report_tree unauthorized" saat menyematkan laporan?
Deskripsi masalah
Saat menyematkan laporan ke sistem pihak ketiga, Anda mungkin menemui pesan error berikut. 
Penyebab
Error ini terjadi ketika izin laporan belum diaktifkan di ruang kelompok yang sesuai.
Solusi
Aktifkan izin laporan dengan mengikuti langkah-langkah yang diilustrasikan di bawah. 
Bagaimana cara menyesuaikan tinggi laporan Quick BI tersemat pihak ketiga secara otomatis (PC)?
Deskripsi masalah
Saat menyematkan dashboard Quick BI menggunakan Iframe, pembatasan keamanan lintas domain browser dapat mencegah pengambilan tinggi dashboard, sehingga menyebabkan munculnya bilah gulir.
Solusi
Quick BI mengirimkan tinggi dashboard ke halaman eksternal menggunakan postMessage saat memuat. Halaman eksternal dapat mendengarkan event ini untuk mendapatkan tinggi dan ID dashboard.
Ada dua metode untuk mencapai hal ini:
Kirimkan secara proaktif tinggi konten Iframe ke halaman eksternal.
// Alamat Quick BI, tambahkan alamat lain jika digunakan const quickBIURL = ['https://bi-cn-hongkong.data.aliyun.com/']; function messageListener(event) { if (quickBIURL.includes(event.origin)) { // Tinggi yang dikirim menggunakan postMessage console.log('Tinggi Dashboard Quick BI:', event.data.height); // ID halaman dashboard yang dikirim menggunakan postMessage console.log('ID Dashboard Quick BI:', event.data.pageId); } } // Dengarkan sebelum dashboard dimuat window.addEventListener('message', messageListener);Halaman eksternal mengirim postMessage ke halaman Iframe untuk meminta tinggi dashboard.
Catatan:
Iframe mengacu pada yang menyematkan dashboard Quick BI.
Pesan harus mencakup
{ getDashboardHeight: true }.
Berikut adalah contoh blok kode.
// Alamat Quick BI, tambahkan alamat lain jika digunakan const quickBIURL = ['https://bi-cn-hongkong.data.aliyun.com/']; function messageListener(event) { if (quickBIURL.includes(event.origin)) { // Tinggi yang dikirim menggunakan postMessage console.log('Tinggi Dashboard Quick BI:', event.data.height); // ID halaman dashboard yang dikirim menggunakan postMessage console.log('ID Dashboard Quick BI:', event.data.pageId); } } // Dengarkan sebelum dashboard dimuat window.addEventListener('message', messageListener); // Minta secara proaktif tinggi dashboard Quick BI // Iframe yang menyematkan dashboard Quick BI const iframe = document.querySelector('iframe'); // Data yang dilewatkan dalam pesan harus mencakup { getDashboardHeight: true } iframe.contentWindow.postMessage({getDashboardHeight: true}, '*');CatatanLebar dashboard Quick BI menyesuaikan secara otomatis dengan wadah luar, sehingga tidak diperlukan bilah gulir vertikal dan adaptasi lebar.
Contoh Lengkap
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
</head>
<body>
<iframe
class="quickbi-iframe-demo"
src="https://bi-cn-hongkong.data.aliyun.com//token3rd/dashboard/view/pc.htm?pageId=dd0****83f&accessTicket=fd138bcb-****-4fde-b413-81bcee59bdb6"
scrolling="no"
frameborder="0"
width="100%"
height="600">
</iframe>
<!-- <useBodyAutoHeight=true> untuk penyesuaian tinggi body otomatis, <page_Id> adalah ID halaman dashboard, accessTicket adalah token akses untuk dashboard -->
<script>
// Alamat Quick BI, tambahkan alamat lain jika digunakan
const quickBIURL = ['https://bi-cn-hongkong.data.aliyun.com'];
function messageListener(event) {
if (quickBIURL.includes(event.origin)) {
// Tinggi yang dikirim menggunakan postMessage
console.log('Tinggi Dashboard Quick BI:', event.data.height);
// ID halaman dashboard yang dikirim menggunakan postMessage
console.log('ID Dashboard Quick BI:', event.data.pageId);
}
}
// Dengarkan sebelum dashboard dimuat
window.addEventListener('message', messageListener);
// Iframe yang menyematkan dashboard Quick BI
const iframe = document.querySelector('iframe');
// Minta secara proaktif tinggi dashboard Quick BI
// Data yang dilewatkan dalam pesan harus mencakup { getDashboardHeight: true }
iframe.contentWindow.postMessage({getDashboardHeight: true}, '*');
</script>
</body>
</html>Bagaimana mengatur lebar saat menyematkan ke aplikasi pihak ketiga menggunakan Iframe pada halaman seluler?
Deskripsi masalah
Masalah kompatibilitas Iframe pada versi iOS lama dapat menyebabkan lebar aktual Iframe meluap, sehingga menimbulkan berbagai masalah tampilan seperti dashboard bergeser, tabel daftar tetap tidak bisa digulir, grafik terpotong, dan kotak pop-up kontrol kueri tidak sejajar.
Solusi
Sesuaikan gaya Iframe secara tepat.
Ikuti contoh kode berikut secara cermat untuk modifikasi:
iframe {
border-width: 0;
min-width: 100%;
width: 0;
*width: 100%;
height: 667px; /* Tinggi harus menggunakan bidang statis, yang dapat diatur secara dinamis setelah mendapatkan tinggi layar. height: 100% akan memiliki masalah kompatibilitas */
}