Dynamiczne wiązanie zestawów danych z raportem podzielonym na strony
Raporty usługi Power BI i raporty podzielone na strony są tworzone na podstawie istniejącego zestawu danych. Ten zestaw danych definiuje schemat danych używany przez wizualizacje raportu. Za pomocą powiązania dynamicznego można wybrać zestaw danych na bieżąco podczas osadzania wizualizacji raportu podzielonego na strony.
Wybrane zestawy danych muszą używać tego samego schematu danych. Jeśli masz wiele zestawów danych z tym samym schematem danych, raport może łączyć się lub wiązać dynamicznie z każdym z tych zestawów danych. Następnie możesz wyświetlić różne szczegółowe informacje w zależności od potrzeb.
Powiązanie dynamiczne również oferuje inne zalety. Nie musisz tworzyć kopii tego samego raportu z innym zestawem danych dla każdego użytkownika. Jeden raport może obsługiwać wielu użytkowników. Ta funkcja zmniejsza następnie liczbę obsługiwanych elementów i poprawia obsługę cyklu życia aplikacji. W rezultacie powiązanie dynamiczne upraszcza dołączanie nowych klientów.
Jak dynamicznie łączyć raport z wieloma zestawami danych
Raporty i zestawy danych mogą znajdować się w osobnych obszarach roboczych , jednak oba obszary robocze muszą mieć pojemność.
Podczas osadzania dla klientów token osadzania musi zawierać uprawnienia zarówno dla raportu, jak i dynamicznie powiązanego zestawu danych. Użyj nowego interfejsu API, aby wygenerować token osadzania , który obsługuje elementy usługi Power BI, takie jak raporty i pulpity nawigacyjne.
Podczas osadzania dla organizacji token usługi Azure Active Directory (AD) użytkownika, którego używasz, musi mieć odpowiednie uprawnienia dla wszystkich elementów usługi Power BI.
Przykład 1. Osadzanie raportu podzielonego na strony przy użyciu powiązania dynamicznego
Aby zaimplementować osadzony raport podzielony na strony przy użyciu powiązania dynamicznego, dodaj właściwość datasetBindings
do obiektu konfiguracji osadzania, jak pokazano w poniższym przykładzie.
let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: "reportId",
permissions: permissions,
datasetBindings: [{
sourceDatasetId: "originalDatasetId",
targetDatasetId: "notOriginalDatasetId"
}]
};
// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];
// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);
Przykład 2. Osadzanie wizualizacji raportu podzielonego na strony przy użyciu powiązania dynamicznego
Wizualizacja raportu podzielonego na strony to raport podzielony na strony osadzony w raporcie usługi Power BI. Aby zaimplementować osadzoną wizualizację raportu podzielonego na strony przy użyciu powiązania dynamicznego, dodaj właściwość datasetBinding
do obiektu konfiguracji osadzania, jak pokazano w poniższym przykładzie.
let config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: "reportId",
permissions: permissions,
datasetBinding: {
datasetId: "notOriginalDatasetId",
paginatedReportBindings: [{
sourceDatasetId: "originalDatasetId",
targetDatasetId: "notOriginalDatasetId"
}]
}
};
// Get a reference to the embedded report HTML element.
let embedContainer = $('#embedContainer')[0];
// Embed the report and display it within the div container.
let report = powerbi.embed(embedContainer, config);
Zagadnienia i ograniczenia
- Dynamicznie wybrany zestaw danych musi używać tego samego schematu danych w raporcie.
- Podczas osadzania dla klientów wygeneruj token osadzania przy użyciu nowego interfejsu API.
- Podczas osadzania dla organizacji upewnij się, że użytkownik ma uprawnienia zarówno dla raportu, jak i zestawu danych.
- Właściwość
datasetBinding
nie może być pusta. Powinien zawieraćdatasetId
,paginatedReportBindings
lub oba. - Wartości
datasetId
itargetDatasetId
nie muszą być takie same. Powiązanie działa niezależnie dla raportów pbix i raportów podzielonych na strony. - Właściwość
datasetBinding
może zawierać wiele obiektów.