Sprievodný materiál na načítanie údajov pre stránkované zostavy

Tento článok je určený pre autorov zostáv, ktorí navrhujú stránkované zostavy služby Power BI. Poskytuje odporúčania, ktoré vám pomôžu navrhnúť efektívne a efektívne načítavanie údajov.

Typy zdroja údajov

Stránkované zostavy natívne podporujú relačné aj analytické zdroje údajov. Tieto zdroje sú ďalej rozdelené do kategórií – buď cloudové, alebo lokálne. Lokálne zdroje údajov – či už hosťované lokálne alebo vo virtuálnom počítači – vyžadujú bránu údajov, aby sa služba Power BI mohla pripojiť. Cloudové pripojenie znamená, že power BI sa môže pripojiť priamo pomocou internetového pripojenia.

Ak si môžete vybrať typ zdroja údajov (pravdepodobne v prípade nového projektu), odporúčame použiť cloudové zdroje údajov. Stránkované zostavy sa môžu pripojiť s nižšou latenciou siete, najmä ak sa zdroje údajov nachádzajú v tej istej oblasti ako váš nájomník služby Power BI. K týmto zdrojom sa tiež môžete pripojiť pomocou jediného prihlásenia (SSO). Znamená to, že identita používateľa zostavy môže prúdiť k zdroju údajov, čo umožňuje vynútiť povolenia na úrovni riadkov podľa používateľa. Jediné prihlásenie je v súčasnosti podporované len pre lokálne zdroje údajov SQL Server a Oracle (pozrite si tému Podporované zdroje údajov pre stránkované zostavy služby Power BI).

Poznámka

Hoci v súčasnosti nie je možné pripojiť sa k lokálnym databázam pomocou jediného prihlásenia, stále môžete vynútiť povolenia na úrovni riadkov. Vykonáva sa to odovzdaním vstavaného poľa UserID do parametra dotazu množiny údajov. Zdroj údajov bude musieť uložiť hodnoty hlavného mena používateľa (UPN) tak, aby mohol správne filtrovať výsledky dotazu.

Predpokladajme napríklad, že každý predajca je uložený ako riadok v tabuľke Salesperson (Predajca ). Tabuľka obsahuje stĺpce pre hlavné meno používateľa a tiež oblasť predaja predajcu. V čase dotazu je tabuľka filtrovaná podľa hlavného mena používateľa zostavy a tiež súvisí s faktami o predaji pomocou vnútorného spojenia. Týmto spôsobom dotaz efektívne filtruje riadky faktov predaja na tie v oblasti predaja používateľa zostavy.

Zdroje relačných údajov

Vo všeobecnosti sú relačné zdroje údajov vhodné pre zostavy v štýle prevádzky, ako sú napríklad predajné faktúry. Sú vhodné aj pre zostavy, ktoré potrebujú načítať veľmi veľké množiny údajov (viac ako 10 000 riadkov). Zdroje relačných údajov môžu tiež definovať uložené procedúry, ktoré môžu vykonávať množiny údajov zostavy. Uložené procedúry poskytujú niekoľko výhod:

  • Parametrizáciou
  • Izolácia programovacej logiky, ktorá umožňuje zložitejšiu prípravu údajov (napríklad dočasné tabuľky, kurzory alebo skalárne funkcie definované používateľom).
  • Vylepšená údržba, čo umožňuje jednoduchú aktualizáciu uloženej logiky procedúry. V niektorých prípadoch sa to dá vykonať bez nutnosti upravovať a opätovne publikovať stránkované zostavy (za predpokladu, že názvy stĺpcov a typy údajov zostanú nezmenené).
  • Lepší výkon, pretože ich plány vykonávania sa ukladajú do vyrovnávacej pamäte na opätovné použitie
  • Opätovné použitie uložených procedúr v rámci viacerých zostáv

V službe Power BI Zostavovač zostáv môžete pomocou návrhára relačných dotazov graficky vytvoriť príkaz dotazu – ale iba pre zdroje údajov spoločnosti Microsoft.

Analytické zdroje údajov

Analytické zdroje údajov, známe aj ako dátové modely alebo len modely, sú vhodné ako pre prevádzkové aj analytické zostavy, a môžu poskytovať rýchle súhrnné výsledky dotazov aj pri veľmi veľkých objemoch údajov. Mierky modelov a kľúčové ukazovatele výkonu môžu zapuzdriť zložité obchodné pravidlá a dosiahnuť tak sumarizáciu údajov. Tieto zdroje údajov však nie sú vhodné pre zostavy, ktoré potrebujú načítať veľmi veľké objemy údajov (nad 10 000 riadkov).

V službe Power BI Zostavovač zostáv máte na výber dvoch návrhárov dotazov: návrhára dotazov DAX služby Analysis Services a návrhára dotazov Analysis Services MDX. Týchto návrhárov možno použiť pre sémantický model služby Power BI (predtým známy ako množina údajov) zdrojov údajov alebo akýkoľvek model služby SQL Server Analysis Services či služby Azure Analysis Services – tabuľkový alebo multidimenzionálny.

Odporúčame, aby ste používali návrhára dotazov DAX za predpokladu, že v plnej miere vyhovuje vašim potrebám dotazu. Ak model nedefinuje potrebné mierky, budete musieť prejsť do režimu dotazu. V tomto režime môžete prispôsobiť príkaz dotazu pridaním výrazov (aby sa dosiahla sumarizácia).

Návrhár dotazov v jazyku MDX vyžaduje, aby váš model obsahoval mierky. Návrhár má dve možnosti, ktoré návrhár dotazov v jazyku DAX nepodporuje. Konkrétne vám umožňuje:

  • Definovanie vypočítaných členov na úrovni dotazu (v jazyku MDX).
  • Nakonfigurujte oblasti údajov tak, aby požadovali agregáty servera v skupinách bez podrobností. Ak vaša zostava musí prezentovať súhrny mierok bez pripočítania (ako sú napríklad výpočty časovej inteligencie alebo jedinečné počty), bude pravdepodobne efektívnejšie používať agregáty servera ako načítať riadky s podrobnosťami nízkej úrovne a mať súhrny výpočtovej zostavy.

Veľkosť výsledku dotazu

Vo všeobecnosti je najlepšie načítať iba údaje požadované v zostave. Takže nie je možné načítať stĺpce alebo riadky, ktoré zostava nevyžaduje.

Ak chcete obmedziť riadky, mali by ste vždy použiť najprísnejšie filtre a definovať agregované dotazy. Agregácia skupiny dotazov a sumarizácia zdrojových údajov na načítanie výsledkov s vyššou granulalitou. Predpokladajme napríklad, že zostava musí prezentovať súhrn predaja predajcov. Namiesto načítania všetkých riadkov predajných objednávok vytvorte dotaz množiny údajov, ktorý zoskupuje podľa obchodníka a sumarizuje predaj pre každú skupinu.

Polia založené na výrazoch

Množinu údajov zostavy je možné rozšíriť o polia založené na výrazoch. Ak napríklad vaša množina údajov vytvára krstné meno a priezvisko zákazníka, možno budete chcieť pole, ktoré zreťazí dané dve polia a vytvorí celé meno zákazníka. Na dosiahnutie tohto výpočtu máte dve možnosti. Môžete vykonávať nasledujúce činnosti:

  • Vytvorte vypočítavané pole, ktoré je poľom množiny údajov na základe výrazu.
  • Vložte výraz priamo do dotazu množiny údajov (s použitím natívneho jazyka vášho zdroja údajov), čo má za následok bežné pole množiny údajov.

Odporúčame druhú možnosť vždy, keď je to možné. Existujú dva dobré dôvody, prečo je lepšie vkladanie výrazov priamo do dotazu množiny údajov:

  • Je možné, že váš zdroj údajov je optimalizovaný na efektívnejšie vyhodnotenie výrazu ako služba Power BI (platí to najmä v prípade relačných databáz).
  • Výkon zostavy je vylepšený, pretože služba Power BI nemusí realizovať vypočítavané polia ešte pred vykresľovaním zostavy. Vypočítavané polia môžu výrazne predĺžiť čas vykreslenia zostavy, keď množiny údajov načítajú veľký počet riadkov.

Názvy polí

Keď vytvoríte množinu údajov, jej polia sú automaticky pomenované podľa stĺpcov dotazu. Je možné, že tieto názvy nie sú priateľské alebo intuitívne. Názvy stĺpcov zdrojového dotazu tiež môžu obsahovať znaky zakázané v identifikátoroch objektov jazyka RDL (Report Definition Language) (ako sú napríklad medzery a symboly). V tomto prípade sa zakázané znaky nahradia znakom podčiarknutia (_).

Odporúčame, aby ste najprv overili, či sú všetky názvy polí priateľské, stručné, ale stále zmysluplné. Ak nie, pred začatím rozloženia zostavy ich odporúčame premenovať. Dôvodom je, že premenované polia sa nemenia v rámci výrazov použitých v rozložení zostavy. Ak sa rozhodnete premenovať polia po začatí rozloženia zostavy, bude potrebné vyhľadať a aktualizovať všetky nefunkčné výrazy.

Filter verzus parameter

Je pravdepodobné, že návrhy stránkovaných zostáv budú mať parametre zostavy. Parametre zostavy sa bežne používajú na výzva používateľa zostavy na filtrovanie zostavy. Ako autor stránkovanej zostavy máte dva spôsoby, ako dosiahnuť filtrovanie zostáv. Parameter zostavy môžete priradiť k nasledovnému:

  • Filter množiny údajov, v takom prípade sa hodnoty parametra zostavy použijú na filtrovanie údajov, ktoré už množina údajov načítala.
  • Parameter množiny údajov, v takom prípade sa hodnota (hodnoty) parametra zostavy vloží do natívneho dotazu odoslaného do zdroja údajov.

Poznámka

Všetky množiny údajov zostavy sa ukladajú do vyrovnávacej pamäte na základe relácie až 10 minút po poslednom použití. Množinu údajov je možné opätovne použiť pri odosielaní nových hodnôt parametrov (filtrovanie), vykresľovaní zostavy v inom formáte alebo pri interakcii s návrhom zostavy nejakým spôsobom, napríklad prepínanie viditeľnosti alebo zoradenie.

Zoberme si teda príklad zostavy predaja, ktorá má jeden parameter zostavy na filtrovanie zostavy podľa jedného roka. Množina údajov načíta predaj za všetky roky. Dôvodom je, že parameter zostavy sa priradí k filtrom množiny údajov. Zostava zobrazuje údaje pre požadovaný rok, ktorý je podmnožinou údajov množiny údajov. Keď používateľ zostavy zmení parameter zostavy na iný rok ( a potom zostavu zobrazí – Power BI nemusí načítať žiadne zdrojové údaje. Namiesto toho použije iný filter na množinu údajov, ktorá už bola uložená vo vyrovnávacej pamäti. Keď je množina údajov uložená do vyrovnávacej pamäte, filtrovanie môže byť veľmi rýchle.

Teraz zvážte iný návrh zostavy. Tentoraz návrh zostavy mapuje parameter zostavy roka predaja k parametru množiny údajov. Týmto spôsobom služba Power BI vloží hodnotu roka do natívneho dotazu a množina údajov načíta údaje len pre tento rok. Zakaždým, keď používateľ zostavy zmení hodnotu parametra zostavy roka (a potom zobrazí zostavu), množina údajov načíta nový výsledok dotazu len za tento rok.

Oba prístupy k návrhu dokážu filtrovať údaje zostavy a obidva návrhy dokážu dobre fungovať pre vaše návrhy zostáv. Optimalizovaný návrh však bude závisieť od očakávaných objemov údajov, volatility údajov a očakávaného správania používateľov zostáv.

Odporúčame, aby sa filtrovanie množiny údajov, ak očakávate, že sa bude opakovane používať iná podmnožina riadkov množiny údajov (čím sa ušetrí čas vykreslenia, pretože nové údaje nie je potrebné načítať). V tomto scenári si uvedomíte, že s nákladmi na načítanie väčšej množiny údajov možno obchodovať v súvislosti s počtom prípadov, kedy sa bude opätovne používať. Preto je užitočný pre dotazy, ktoré sú časovo náročné na generovanie. Dávajte však pozor – ukladanie veľkých množín údajov do vyrovnávacej pamäte na základe jednotlivých používateľov môže mať negatívny vplyv na výkon a priepustnosť kapacity.

Parametrizáciu množiny údajov odporúčame odporučiť, ak je nepravdepodobné, že sa bude požadovať iná podmnožina riadkov množiny údajov, alebo keď bude počet riadkov množiny údajov, ktoré sa majú filtrovať, pravdepodobne bude veľmi veľký (a neefektívny vo vyrovnávacej pamäti). Tento prístup k návrhu funguje dobre aj vtedy, keď je ukladací priestor údajov nestály. V tomto prípade každá zmena hodnoty parametra zostavy bude mať za následok načítanie aktuálnych údajov.

Ne natívne zdroje údajov

Ak potrebujete vyvíjať stránkované zostavy založené na zdrojoch údajov, ktoré nie sú natívne podporované stránkovanými zostavami, mali by ste najprv vytvoriť dátový model v aplikácii Power BI Desktop. Týmto spôsobom sa môžete pripojiť k stovkám zdrojov údajov podporovaných službou Power BI. Po publikovaní na služba Power BI môžete vytvoriť stránkovanú zostavu, ktorá sa pripojí k sémantickému modelu služby Power BI.

Integrácia údajov

Ak potrebujete kombinovať údaje z viacerých zdrojov údajov, máte dve možnosti:

  • Skombinovať množiny údajov zostavy: Ak sú zdroje údajov natívne podporované stránkovanými zostavami, môžete zvážiť vytvorenie vypočítavaných polí, ktoré používajú funkcie Lookup alebo LookupSet Zostavovač zostáv.
  • Vývoj modelu aplikácie Power BI Desktop: Je pravdepodobne efektívnejšie, že vyvíjate dátový model v aplikácii Power BI Desktop. Doplnok Power Query môžete použiť na kombinovanie dotazov založených na akomkoľvek podporovanom zdroji údajov. Po publikovaní na služba Power BI môžete vytvoriť stránkovanú zostavu, ktorá sa pripojí k sémantickému modelu služby Power BI.

Latencia siete

Latencia siete môže ovplyvniť výkon zostavy zvýšením času potrebného na to, aby požiadavky dosiahli služba Power BI, a na doručenie odpovedí. Nájomníci v službe Power BI sú priradení do konkrétnej oblasti.

Prepitné

Ak chcete zistiť, kde sa váš nájomník nachádza, pozrite si tému Kde sa nachádza môj nájomník služby Power BI?

Keď používatelia z nájomníka pristupujú k služba Power BI, ich žiadosti vždy smerujú do tejto oblasti. Po doručení požiadaviek do služba Power BI môže služba odoslať dodatočné požiadavky, napríklad základnému zdroju údajov alebo bráne, na ktoré má tiež nárok latencia siete. Vo všeobecnosti platí, že ak chcete minimalizovať vplyv latencie siete, ussnažiť sa mať zdroje údajov, brány a kapacitu služby Power BI čo najbližšie pri sebe. Ak je to možné, mali by byť v tej istej oblasti. Ak je latencia siete problémom, skúste umiestniť brány a zdroje údajov bližšie ku kapacite služby Power BI tak, že ich umiestnite do virtuálnych počítačov hosťovaných v cloude.

Komplexné typy údajov SQL Servera

Keďže SQL Server je lokálny zdroj údajov, Power BI sa musí pripojiť cez bránu. Brána však nepodporuje načítanie údajov pre komplexné typy údajov. Komplexné typy údajov zahŕňajú vstavané typy, ako sú napríklad typy priestorových údajov GEOMETRIA a GEOGRAPHY, a hierarchyid. Môžu zahŕňať aj typy implementované používateľom prostredníctvom triedy zostavy v bežnom jazyku runtime (CLR) rozhrania Microsoft.NET Framework.

Vykreslenie priestorových údajov a analýz vo vizualizácii mapy vyžaduje priestorové údaje SQL Servera. S vizualizáciou mapy preto nie je možné pracovať, keď je SQL Server vaším zdrojom údajov. Aby to bolo jasné, bude to fungovať, ak je vaším zdrojom údajov databáza Azure SQL, pretože Power BI sa nepripája cez bránu.

Obrázky možno použiť na pridanie log alebo obrázkov do rozloženia zostavy. Keď obrázky súvisia s riadkami načítanými množinou údajov zostavy, máte dve možnosti:

  • Je možné, že údaje obrázkov je možné načítať aj zo zdroja údajov (ak sú už uložené v tabuľke).
  • Keď sú obrázky uložené na webovom serveri, môžete použiť dynamický výraz na vytvorenie URL adresy obrázka.

Ďalšie informácie a návrhy nájdete v téme Sprievodný materiál k obrázkom pre stránkované zostavy.

Nadbytočné načítanie údajov

Je možné, že zostava načíta nadbytočné údaje. Môže sa to stať, keď odstránite polia dotazu množiny údajov alebo zostava nemá nepoužívané množiny údajov. Vyhnite sa týmto situáciám, pretože nebudú zbytočne zaťažovať vaše zdroje údajov, sieť a prostriedky kapacity služby Power BI.

Odstránenie polí dotazu

Na stránke Polia v okne Vlastnosti množiny údajov je možné odstrániť polia dotazu množinyúdajov (polia dotazu sa priradia k stĺpcom načítaným dotazom množiny údajov). Zostavovač zostáv však neodstráni zodpovedajúce stĺpce z dotazu množiny údajov.

Ak potrebujete odstrániť polia dotazu z množiny údajov, odporúčame odstrániť zodpovedajúce stĺpce z dotazu množiny údajov. Zostavovač zostáv automaticky odstráni všetky nadbytočné polia dotazu. Ak ste odstránili polia dotazu, nezabudnite tiež upraviť príkaz dotazu množiny údajov na odstránenie stĺpcov.

Nepoužité množiny údajov

Po spustení zostavy sa vyhodnocujú všetky množiny údajov, aj keď nie sú viazané na objekty zostavy. Z tohto dôvodu nezabudnite pred publikovaním zostavy odstrániť všetky testovacie alebo vývojové množiny údajov.

Ďalšie informácie súvisiace s týmto článkom nájdete v nasledujúcich zdrojoch: