Udostępnij za pośrednictwem


Osadzanie autonomicznej wizualizacji Q&A

Napiwek

Spróbuj osadzić&Q&A lub eksperymentować z naszymi interfejsami API klienta w sekcji Eksploruj nasze interfejsy APIplacu zabaw usługi Power BI Embedded Analytics.

W tym artykule opisano kroki osadzania autonomicznego&wizualizacji W aplikacji.

Ta funkcja umożliwia użytkownikom zadawanie pytań. Następnie otrzymują natychmiastowe odpowiedzi w postaci wizualizacji, takich jak wykresy lub wykresy. Dowiedz się więcej o tej funkcji w Tworzenie wizualizacji Q&A w usłudze Power BI.

animowany obraz przedstawiający osadzoną funkcję Q i A. Gdy użytkownik modyfikuje pytanie, dane wizualne zmieniają się.

Jak osadzić język Q&A

Podczas osadzania zawartości usługi Power BI w aplikacji należy użyć obiektu konfiguracji, aby zdefiniować osadzaną zawartość i określić ustawienia zawartości. Następnie przekazujesz ten obiekt do interfejsu API.

Podczas osadzania&A użyj obiektu konfiguracji typu ILoadQnaConfiguration:

interface ILoadQnaConfiguration {
    accessToken: string;
    datasetIds: string[];
    embedUrl: string;
    question?: string; 
    tokenType?: models.TokenType;
    type: string;
    viewMode?: models.QnaMode;
}

Ten interfejs zawiera następujące właściwości:

  • accessToken — token, który zapewnia dostęp do osadzonych danych usługi Power BI. Zobacz Omówienie różnych rozwiązań osadzania, aby dowiedzieć się więcej na temat tokenów dostępu.

  • datasetIds — identyfikatory zestawów danych, które definiują schematy danych używane przez osadzoną&A. Aby uzyskać zestawy danych, możesz użyć interfejsu API zestawów danych . Dwa przykłady to:

    Nuta

    Obecnie można skonfigurować tylko jeden zestaw danych.

  • embedUrl — adres URL zestawu danych dla zestawu danych Q&A, który jest osadzany. Ten adres URL staje się źródłem elementu iframe HTML, który zawiera osadzony&Q. W szczególności interfejs API przypisuje adres URL do atrybutu srciframe. Aby uzyskać ten adres URL, możesz użyć interfejsu API zestawów danych . Dwa przykłady to:

  • question — pytanie określające wizualizację wyświetlaną przez interfejs API. Ta właściwość jest używana tylko w trybie wynikowym.

  • tokenType — rodzaj tokenu, który zapewnia dostęp do osadzonych danych usługi Power BI.

    • Użyj models.TokenType.Aad, jeśli osadzasz dla organizacji (użytkownik jest właścicielem danych).
    • Użyj models.TokenType.Embed, jeśli osadzasz dla swoich klientów (aplikacja jest właścicielem danych).

    Aby uzyskać więcej informacji, zobacz Omówienie różnych rozwiązań osadzania.

  • type — rodzaj osadzonej zawartości. Użyj 'qna' dla&A.

  • viewMode — tryb osadzonej&A. Dostępne są dwa tryby:

    • Interactive — użytkownik może wprowadzić pytania. Interfejs API wyświetla odpowiednio pytania i aktualizuje wizualizację.
    • ResultOnly Należy podać konkretne pytanie. Interfejs API wyświetla to pytanie i jego wizualizację.

W tym przykładzie pokazano, jak osadzić&Q:

// 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);

Zmienianie wyświetlanego pytania

Jeśli używasz viewModeResultOnly i podaj pytanie, możesz użyć metody setQuestion, aby zmienić wyświetlane pytanie. Następnie interfejs API zmienia wyświetlaną wizualizację.

Ta metoda może służyć do wyświetlania listy często zadawanych pytań. Gdy użytkownik przejdzie przez pytania, możesz wyświetlić odpowiedzi w elemecie osadzonym.

Klasa Qna języka JavaScript usługi PowerBI definiuje metodę setQuestion jako:

setQuestion(question: string): Promise<void>

Parametr question zawiera pytanie w formacie tekstowym.

W tym przykładzie pokazano, jak za pomocą tej metody zmienić wyświetlane pytanie:

// 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");

Przechwytywanie pytań użytkowników

Jeśli używasz viewModeInteractive, interfejs API może powiadomić aplikację o zmianie wyświetlanej wizualizacji. Za każdym razem, gdy wizualizacja zmienia się w odpowiedzi na zaktualizowane zapytanie wejściowe, składnik osadzony emituje zdarzenie visualRendered. Jeśli aplikacja nasłuchuje tego typu zdarzenia, kod może odpowiedzieć na nowe zapytanie.

Możesz na przykład zarejestrować wprowadzone przez użytkowników pytania. Te pytania mogą być później używane do celów sztucznej inteligencji lub telemetrii.

Użyj kodu podobnego do tych wierszy, aby nasłuchiwać visualRendered zdarzeń:

qna.on("visualRendered", function(event) {
    ...
});

Zobacz Jak obsługiwać zdarzenia, aby uzyskać więcej informacji na temat nasłuchiwania zdarzeń.

Zagadnienia i ograniczenia

Osadzony&Q używa schematów danych. Obecnie można skonfigurować tylko jeden schemat, a nie wiele schematów.