Menyematkan visual Q&A mandiri
Ujung
Coba sematkan Q&A atau bereksperimen dengan API klien kami di bagian Jelajahi APIPower BI Embedded Analytics Playground.
Artikel ini membahas langkah-langkah untuk menyematkan Q&Visual mandiri di aplikasi Anda.
Fitur ini menyediakan cara bagi pengguna untuk mengajukan pertanyaan. Mereka kemudian menerima jawaban langsung dalam bentuk visual seperti bagan atau grafik. Pelajari selengkapnya tentang fitur ini di Membuat visual Q&A di Power BI.
Cara menyematkan Q&A
Saat Anda menyematkan konten Power BI di aplikasi, Anda menggunakan objek konfigurasi untuk menentukan konten yang Anda sematkan dan untuk menentukan pengaturan konten. Kemudian Anda meneruskan objek tersebut ke API.
Saat Anda menyematkan Q&A, gunakan objek konfigurasi jenis ILoadQnaConfiguration:
interface ILoadQnaConfiguration {
accessToken: string;
datasetIds: string[];
embedUrl: string;
question?: string;
tokenType?: models.TokenType;
type: string;
viewMode?: models.QnaMode;
}
Antarmuka ini berisi properti berikut:
accessToken
- Token yang memberi Anda akses ke data Power BI yang Sedang Anda sematkan. Lihat Memahami berbagai solusi penyematan untuk mempelajari selengkapnya tentang token akses.datasetIds
- ID himpunan data yang menentukan skema data yang digunakan Q&A yang disematkan. Anda dapat menggunakan API Himpunan Datauntuk mendapatkan himpunan data. Dua contohnya adalah: - Himpunan Data - Dapatkan Himpunan Data dalam grup
- himpunan Data - Mendapatkan Himpunan Data dalam Grup
Nota
Saat ini Anda hanya dapat mengonfigurasi satu himpunan data.
embedUrl
- URL himpunan data untuk Q&A yang Anda sematkan. URL ini menjadi sumber elemeniframe
HTML yang berisi Q&A yang disematkan. Secara khusus, API menetapkan URL ke atributsrc
dariiframe
. Anda dapat menggunakan API Himpunan Datauntuk mendapatkan URL ini. Dua contohnya adalah: question
- Pertanyaan yang menentukan visualisasi yang ditampilkan API. Properti ini hanya digunakan dalam mode hasil.tokenType
- Jenis token yang memberi Anda akses ke data Power BI yang Sedang Anda sematkan.- Gunakan
models.TokenType.Aad
jika Anda menyematkan untuk organisasi Anda (pengguna memiliki data). - Gunakan
models.TokenType.Embed
jika Anda menyematkan untuk pelanggan Anda (aplikasi memiliki data).
Lihat Memahami berbagai solusi penyematan untuk informasi selengkapnya.
- Gunakan
type
- Jenis konten yang Anda sematkan. Gunakan'qna'
untuk Q&A.viewMode
- Mode Q&A yang disematkan. Tersedia dua mode:-
Interactive
- Pengguna dapat memasukkan pertanyaan. API menampilkan pertanyaan dan memperbarui visual yang sesuai. -
ResultOnly
Anda memberikan pertanyaan tertentu. API menampilkan pertanyaan tersebut dan visualnya.
-
Contoh ini menunjukkan kepada Anda cara menyematkan Q&A:
// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
accessToken: anAccessToken,
datasetIds: [aDatasetID],
embedUrl: anEmbedUrl,
question: aTextQuestion,
tokenType: aTokenType,
type: 'qna',
viewMode: QnaMode.ResultOnly
};
// Get a reference to the HTML element that contains the embedded Q&A.
let embedContainer = $('#embedContainer')[0];
// Embed the Q&A.
let visual = powerbi.embed(embedContainer, embedConfiguration);
Mengubah pertanyaan yang ditampilkan
Jika Anda menggunakan viewMode
ResultOnly
dan memberikan pertanyaan, Anda dapat menggunakan metode setQuestion
untuk mengubah pertanyaan yang ditampilkan. API kemudian mengubah visual yang ditampilkan.
Anda dapat menggunakan metode ini untuk daftar pertanyaan yang sering diajukan. Saat pengguna melewati pertanyaan, Anda dapat menampilkan jawaban dalam elemen yang disematkan.
Kelas PowerBI JavaScript Qna menentukan metode setQuestion
sebagai:
setQuestion(question: string): Promise<void>
Parameter question
berisi pertanyaan dalam format teks.
Contoh ini menunjukkan cara menggunakan metode ini untuk mengubah pertanyaan yang ditampilkan:
// Get a reference to the embedded Q&A HTML element.
let qnaContainer = $('#qnaContainer')[0];
// Get a reference to the embedded Q&A.
let qna = powerbi.get(qnaContainer);
// Change the displayed question.
await qna.setQuestion("This year sales");
Tangkap pertanyaan pengguna Anda
Jika Anda menggunakan viewMode
Interactive
, API dapat memberi tahu aplikasi Anda saat visual yang ditampilkan berubah. Setiap kali visual berubah sebagai respons terhadap kueri input yang diperbarui, komponen yang disematkan memancarkan peristiwa visualRendered
. Jika aplikasi Anda mendengarkan jenis peristiwa ini, kode Anda dapat merespons kueri baru.
Misalnya, Anda dapat merekam pertanyaan yang dimasukkan pengguna. Anda dapat menggunakan pertanyaan-pertanyaan ini nanti, untuk tujuan AI atau telemetri.
Gunakan kode seperti baris ini untuk mendengarkan peristiwa visualRendered
:
qna.on("visualRendered", function(event) {
...
});
Lihat Cara menangani peristiwa untuk informasi selengkapnya tentang mendengarkan peristiwa.
Pertimbangan dan batasan
Q&A yang disematkan menggunakan skema data. Saat ini Anda hanya dapat mengonfigurasi satu skema, bukan beberapa skema.
Konten terkait
- Menyematkan laporan
- Menyematkan visual laporan
- Gunakan bootstrap untuk performa yang lebih baik