Sdílet prostřednictvím


Dynamické vazby datových sad na stránkovanou sestavu

Sestavy Power BI a stránkované sestavy jsou založené na existující datové sadě. Tato datová sada definuje schéma dat, které vizuály sestavy používají. Pomocí dynamické vazby můžete při vkládání vizuálu stránkované sestavy vybrat za běhu datovou sadu.

Vybrané datové sady musí používat stejné schéma dat. Pokud máte více datových sad se stejným schématem dat, může se sestava dynamicky připojit nebo svázat s každou z těchto datových sad. V závislosti na vašich potřebách pak můžete zobrazit různé přehledy.

Dynamické vazby také nabízejí další výhody. Pro každého uživatele nemusíte vytvářet kopii stejné sestavy s jinou datovou sadou. Jedna sestava může sloužit více uživatelům. Tato funkce pak snižuje počet udržovaných položek a zlepšuje zpracování životního cyklu aplikace. Díky tomu dynamické vazby zjednodušují onboarding pro nové zákazníky.

Jak dynamicky připojit sestavu k více datovým sadám

Vaše sestavy a datové sady můžou být v samostatných pracovních prostorech, ale oba pracovní prostory musí mít kapacitu.

Při vkládání pro zákazníky musí token pro vložení obsahovat oprávnění pro sestavu i dynamicky vázanou datovou sadu. Pomocí nového rozhraní API vygenerujte token pro vložení , který podporuje položky Power BI, jako jsou sestavy a řídicí panely.

Při vkládání pro vaši organizaci musí mít token Azure Active Directory (AD) uživatele, který používáte, odpovídající oprávnění pro všechny položky Power BI.

Příklad 1: Vložení stránkované sestavy s dynamickou vazbou

Pokud chcete implementovat vloženou stránkovanou sestavu pomocí dynamické vazby, přidejte do objektu konfigurace vložení vlastnost datasetBindings, jak je znázorněno v následujícím příkladu.

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

Příklad 2: Vložení vizuálu stránkované sestavy s dynamickými vazbami

Vizuál stránkované sestavy je stránkovaná sestava vložená do sestavy Power BI. Pokud chcete implementovat vložený vizuál stránkované sestavy pomocí dynamické vazby, přidejte do objektu konfigurace vložení vlastnost datasetBinding, jak je znázorněno v následujícím příkladu.

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

Důležité informace a omezení

  • Dynamicky vybraná datová sada musí v sestavě používat stejné schéma dat.
  • Při vkládání pro zákazníky vygenerujte token pro vložení pomocí nového rozhraní API.
  • Při vkládání pro vaši organizaci se ujistěte, že má uživatel oprávnění pro sestavu i datovou sadu.
  • Vlastnost datasetBinding nemůže být prázdná. Měla by obsahovat, datasetId, paginatedReportBindingsnebo obojí.
  • Hodnoty pro datasetId a targetDatasetId nemusí být stejné. Vazba funguje nezávisle na .pbix a stránkovaných sestavách.
  • Vlastnost datasetBinding může obsahovat více objektů.