Bagikan melalui


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.

Gambar animasi yang menunjukkan fitur Q dan A yang disematkan. Saat pengguna memodifikasi pertanyaan, data visual berubah.

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 Data untuk mendapatkan himpunan data. Dua contohnya adalah:

    Nota

    Saat ini Anda hanya dapat mengonfigurasi satu himpunan data.

  • embedUrl - URL himpunan data untuk Q&A yang Anda sematkan. URL ini menjadi sumber elemen iframe HTML yang berisi Q&A yang disematkan. Secara khusus, API menetapkan URL ke atribut src dari iframe. Anda dapat menggunakan API Himpunan Data untuk 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.

  • 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 viewModeResultOnly 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 viewModeInteractive, 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.