Pridanie zostavy alebo tabule služby Power BI na webovú stránku
Prepitné
Tento článok vysvetľuje, ako pridať zostavu alebo tabuľu Power BI pomocou dynamickej značky powerbi. Ak chcete pridať súčasť Power BI na webovú stránku vo vašej webovej lokalite pomocou dizajnového štúdia, prejdite na Pridanie súčasti Power BI.
Zostavu služby Power BI alebo tabuľu môžete pridať na webovú stránku pomocou značky typu Liquid powerbi. Značku powerbi
môžete pridať do poľa Kópia na webovej stránke alebo do poľa Zdroj na webovej šablóne.
Ak pridávate zostavu alebo tabuľu Power BI vytvorenú v novom pracovnom priestore Power BI, musíte zadať typ overovania ako powerbiembedded v dynamickej značke powerbi.
Poznámka
- Ak ste zadali Microsoft Entra ID ako typ overenia v značke Power bi Liquid, musíte ho pred pridaním zabezpečenej Power BI zostavy alebo tabule na webovú stránku portálu zdieľať s požadovanými používateľmi. Ďalšie informácie: Zdieľanie pracovného priestoru Power BI a Zdieľanie tabule Power BI a zostavy.
- powerbiembedded podporuje tabule Power BI a zostavy, ktoré sa pripájajú k Azure Analysis Services. Môžete tiež použiť vlastnosť „customdata“ v dynamickom kóde na odovzdanie hodnoty pre vlastnosť CustomData.
- Stránkované zostáv Power BI nie je podporované.
Napríklad:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
Ak sa chcete dozvedieť viac o tom, ako získať cestu k tabuli a ID dlaždice tabule, pozrite si sekcie ďalej v tomto článku.
Použitie tabule alebo zostavy pripojenej k Azure Analysis Services
Môžete pridať dynamickú značku powerbi pomocou tabule alebo zostavu, ktorá sa pripája k Azure Analysis Services.
Ak chcete pridať tabuľu alebo zostavu, ktorá sa pripája k službe Azure Analysis Services, použite parameter CustomData v pripojovacom reťazci.
Napríklad:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/<GroupID>/reports/<ReportID>" roles:"<roles associated with report>" customdata:"<customdata>" %}
Voliteľná značka customdata môže byť nakonfigurovaná ako reťazec alebo generovaná dynamicky na základe atribútu objektu pomocou bodky („.“) alebo hranatých zátvoriek („[]“) na oddelenie medzi objektom a atribútom, medzi dvoma pármi zložených zátvoriek.
Príklady:
customdata: {{ object.attribute }}
customdata: {{ object[attribute] }}
Keďže značka customdata vracia reťazec, môže byť potrebné tento reťazec previesť na celé číslo v dotaze DAX.
Dôležité
- Portály nepodporujú pripojenie tabule Power BI alebo zostavy k Azure Analysis Services, ktorá používa bránu údajov na pripojenie k lokálnemu zdroju údajov.
- Vaša verzia hostiteľa webovej lokality musí byť 9.3.4.x alebo neskoršia, aby táto funkcia fungovala.
Azure Analysis Services a roly (RLS)
Značka roly je voliteľná pre zostavy a tabule založené na službe Azure Analysis Services. Ak sa nepoužíva, predvolene sa nastavuje rola, ku ktorej je aplikácia priradená v službe Azure Analysis Services.
Táto značka však môže byť nevyhnutná na určenie určitej roly (alebo rol) medzi niekoľkými dostupnými rolami a pri používaní zabezpečenia na úrovni riadku môže byť stále vyžadovaná.
Roly sú obsiahnuté v databáze Azure Analysis Services a nie v samotnej zostave, na rozdiel od typov zostáv Power BI.
Poskytovanie žiadnych rolí v dynamickom kóde.
Ak v dynamickom kóde nie je zadaná žiadna rola, rola Azure Analysis Services bude určená podľa rol, ku ktorým má aplikácia prístup, a bude filtrovať výsledky na základe daných vlastných údajov podľa dotazu DAX v rolách. To znamená, že všetky dostupné roly budú kombinovať svoje prístupy, ale budú stále filtrované, ak sú poskytnuté vlastné údaje relevantné. Tento scenár najčastejšie nastane v prípade zostáv služby Azure Analysis Services alebo tabúľ s jednou dlaždicou.
Poskytovanie rolí v dynamickom kóde.
Roly Azure Analysis Services je možné poskytnúť v dynamickom kóde, podobne ako roly RLS. Používanie týchto rolí sa môže vyžadovať, keď je k dispozícii viac rolí, ale pre stránku chcete použiť konkrétne roly. Pri použití akýchkoľvek rolí v pripojovacom reťazci je uvedenie roly Azure Analysis Services nevyhnutnosťou. Napríklad tabule s viacerými dlaždicami, ktoré používajú dlaždice Azure Analysis Services s dlaždicami RLS.
Nasledujúce otázky platia pri použití dlaždíc Azure Analysis Services na paneli:
- Ak sa dlaždica Azure Analysis Services používa na tabuli s ďalšími dlaždicami, ktoré vyžadujú roly, je potrebné do zoznamu rolí pridať rolu Azure Analysis Services.
- Viaceré dlaždice z rôznych zdrojov Azure Analysis Services možno použiť s vlastnými rolami, ale vlastné údaje musia byť pre každú z nich rovnaké a v dynamickom kóde nie je možné použiť viac vlastných hodnôt údajov. Značka customdata a parameter customdata pre EffectiveIdentity nadobúda iba hodnotu reťazca.
Získanie cesty k tabuli alebo správe
Prihlásiť sa do Power BI.
Otvorte tabuľu alebo zostavu, ktorú chcete vložiť na svoj portál.
Skopírujte adresu URL z adresného riadku.
Získanie ID dlaždice tabule
Prihlásiť sa do Power BI.
Otvorte tabuľu, z ktorej chcete vložiť dlaždicu na svoju webovú lokalitu.
Ukážte na dlaždice, vyberte Ďalšie možnosti a potom vyberte Otvoriť v režime zaostrenia.
Skopírujte ID dlaždice z URL na paneli s adresou. ID dlaždice je hodnota po /dlaždice/.
Ako používať knižnicu JavaScript powerbi-client v Power Pages
Môžete použiť knižnicu JavaScript powerbi-client pri vkladaní zostáv Power BI Embedded alebo tabúľ na vašu webovú lokalitu. Ďalšie informácie o knižnici JavaScript powerbi-client nájdete v Power BI JavaScript wiki.
Nižšie je uvedený ukážkový kód JavaScript na aktualizáciu nastavení prehľadu alebo na spracovanie udalostí. Táto ukážka zakáže tablu filtra, zakáže navigáciu po stránke a povolí udalosť dataSelected.
Dôležité
- Ak chcete zakázať alebo povoliť tablu filtra, použite knižnicu JavaScript powerbi-client. Ak však chcete obmedziť prístup k údajom alebo nakonfigurovať zabezpečenie, použite Zabezpečenie na úrovni riadkov (RLS) s Power BI. Zakázanie tably filtra neobmedzuje prístup k údajom a je možné ju znova povoliť pomocou kódu knižnice JavaScript.
- Knižnica JavaScript powerbi-client je podporovaná iba pre postup PowerBI Embedded.
$(document).ready(function () {
var embedContainer = $(".powerbi")[0];
if (embedContainer) {
var report = powerbi.get(embedContainer);
report.on("loaded", function () {
report.updateSettings({
panes: {
filters: {
visible: false
},
pageNavigation: {
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
})
}
});
Postup pridania vlastného kódu JavaScript na webovú stránku:
- Otvorte aplikáciu Spravovanie portálu.
- Na ľavej table vyberte Webové stránky.
- Vyberte webovú stránku, ktorá obsahuje zostavu alebo tabuľu Power BI.
- Stlačte kartu Rozšírené.
- Skopírujte a vložte JavaScript do časti Vlastný JavaScript.
- Vyberte položku Save & Close (Uložiť a zavrieť).
Poďme teraz pochopiť ukážkové operácie JavaScript a rôzne možnosti.
Získajte odkaz na vložený prehľad HTML
Získajte odkaz na vložený prehľad HTML.
var embedContainer = $(".powerbi")[0];
Viac informácií: Získajte odkaz na existujúci komponent Power BI s obsahujúcim prvkom
Získajte odkaz na vložený prehľad.
var report = powerbi.get(embedContainer);
Práca s tablami Power BI
Môžete použiť nastavenia pre tably na prácu s tablami Power BI na webovej stránke. Môžete napríklad použiť nastavenie filtrov na skrytie alebo zobrazenie tably alebo na prácu s nastavením navigácie po stránke.
Nižšie je ukážka tably na odstránenie filtrov:
report.updateSettings({
panes: {
filters :{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
Nižšie uvádzame ukážku práce s navigáciou po stránkach aj s filtrami:
report.updateSettings({
panes: {
filters :{
visible: false
},
pageNavigation:{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
Viac informácií: Aktualizujte nastavenia a Konfigurácia vloženia - nastavenia
Spracovanie udalostí
Vložený komponent môže vydávať udalosti po vyvolaní dokončenia vykonaného príkazu. Napríklad nižšie je ukážka pre udalosť dataSelected
.
//Report.off removes a given event listener if it exists
report.off("dataSelected");
//Report.on will add an event list
report.on('dataSelected', function(event){
console.log('Event - dataSelected:');
console.log(event.detail);
})
Viac informácií: Spracovanie udalostí