Zdieľať cez


Rozsah výrazov pre súčty, agregáty a vstavané kolekcie v stránkovanej zostave (Zostavovač zostáv Power BI)

VZŤAHUJE SA NA: Power BI Zostavovač zostáv Power BI Desktop

Pri písaní výrazov zistíte, že rozsah výrazu sa používa vo viacerých kontextoch v stránkovaných zostavách. Rozsah môže určiť údaje, ktoré sa majú použiť na vyhodnocovanie výrazu, množinu textových polí na vykreslenej strane, množinu položiek zostavy, ktoré možno zobraziť alebo skryť na základe prepínača. Rozsah výrazov uvidíte v témach, ktoré sa týkajú vyhodnocovania výrazov, syntaxe agregovaných funkcií, podmienenej viditeľnosti a tiež v chybových hláseniach súvisiacich s týmito oblasťami. Nasledujúce popisy použite ako pomôcku na odlíšenie toho , ktorý význam rozsahu sa uplatňuje:

  • Rozsah údajov Rozsah údajov je hierarchia rozsahov, ktoré procesor zostavy používa, keď kombinuje údaje zostavy a rozloženie zostavy a vytvára oblasti údajov, ako napríklad tabuľky a grafy, v ktorých sa majú údaje zobrazovať. Keď pochopíte rozsah údajov, budete môcť získavať požadované výsledky:

    • Zapisovať výrazy používajú ktoré používajú agregačné funkcie . Určujú, ktoré údaje sa majú agregovať. Umiestnenie výrazu v zostave ovplyvňuje to, ktoré údaje sú v rozsahu pre agregačné výpočty.

    • Pridanie kriviek do tabuľky alebo matice Zadajte minimálny a maximálny rozsah pre osi grafu na zarovnanie vnorených inštancií v tabuľke alebo matici.

    • Pridanie indikátorov do tabuľky alebo matice Zadajte minimálnu a maximálnu mierku pre mierku na zarovnanie vnorených inštancií v tabuľke alebo matici.

    • Zápis výrazov zoradenia: Zadajte rozsah, ktorý môžete použiť na synchronizáciu poradia zoradenia medzi viacerými súvisiacimi položkami zostavy.

  • Rozsah buniek Rozsah buniek je množina skupín riadkov a stĺpcov v oblasti údajov Tablix, do ktorej bunka patrí. Predvolene obsahuje každá bunka položky tablix textové pole. Hodnota textového poľa je výraz. Umiestnenie bunky nepriamo určuje rozsahy údajov, ktoré môžete zadať pre agregačné výpočty vo výraze.

  • Rozsah položky zostavy Rozsah položiek zostavy odkazuje na kolekciu položiek na vykreslenej strane zostavy. Procesor zostavy kombinuje údaje a prvky rozloženia zostavy a vytvorí definíciu kompilovanej zostavy. Počas tohto procesu sa oblasti údajov, ako napríklad tabuľky a matice, podľa potreby rozbalia a zobrazia sa všetky údaje zostavy. Kompilovaná zostava sa potom spracuje vykresľovačom zostavy. Vykresľovač zostáv určuje, ktoré položky zostavy sa zobrazia na jednotlivých stránkach. Na serveri zostáv sa každá strana vykreslí pri jej zobrazení. Pri exporte zostavy sa vykreslia všetky strany. Keď pochopíte rozsah položiek zostavy, získate požadované výsledky:

    • Pridať položky prepínača Zadajte textové pole, čím sa pridá prepínač, ktorý ovláda viditeľnosť položky zostavy. Prepínač môžete pridať iba do textových polí, ktoré sú v rozsahu položky zostavy, ktorú chcete prepnúť.

    • Zapisovať výrazy do hlavičiek a piat stránok Zadajte hodnoty vo výrazoch v textových poliach alebo iných položkách zostavy, ktoré sa zobrazujú na vykreslenej strane.

Pochopenie rozsahov vám pomáha úspešne písať výrazy, ktoré vám poskytnú požadované výsledky.

Vysvetlenie rozsahu údajov a hierarchie údajov

Rozsah údajov určuje množinu údajov zostavy. Rozsah údajov má prirodzenú hierarchiu s neodmysliteľným vzťahom obmedzenia. Rozsahy vyššie v hierarchii obsahujú rozsahy, ktoré sú v hierarchii nižšie. Nasledujúci zoznam rozsahov údajov popisuje hierarchiu v poradí od väčšiny údajov po najmenej údajov:

  • Množiny údajov po použití filtrov množiny údajov určuje množinu údajov zostavy prepojenú s oblasťou údajov alebo s položkou zostavy v tele zostavy. Údaje použité na agregáciu pochádzajú z množiny údajov zostavy po použití výrazov filtra množiny údajov. V prípade zdieľaných množín údajov to znamená, že filtre v definícii zdieľanej množiny údajov aj filtre v inštancii zdieľanej množiny údajov v zostave.

  • Oblasti údajov Určuje údaje z oblasti údajov po použití filtra a zoradenia výrazov oblasti údajov. Skupinové filtre sa nepoužívajú pri výpočte agregátov pre oblasti údajov.

  • Skupiny oblastí údajov po použití filtrov skupiny Určuje údaje po použití skupinových výrazov a filtrov skupín pre nadradené skupiny a podradené skupiny. V prípade tabuľky ide o skupiny riadkov a stĺpcov. V prípade grafu ide o skupiny radov a kategórií. Na účely identifikácie obmedzenia rozsahu obsahuje každá nadradená skupina svoje podradené skupiny.

  • Vnorené oblasti údajov Určuje údaje pre vnorenú oblasť údajov v kontexte bunky, do ktorej bola pridaná, a po použití filtra a zoradenia výrazov vnorenej oblasti údajov.

  • Skupiny riadkov a stĺpcov pre vnorené oblasti údajov Určuje údaje po použití vnorených výrazov skupiny údajov a filtrov skupín.

Pochopenie obsahu a obsiahnutých rozsahov je dôležité pri písaní výrazov, ktoré obsahujú agregačné funkcie.

Cell Scope a Expressions

Keď určíte rozsah, udávate procesoru zostavy, ktoré údaje použijete na agregovaný výpočet. V závislosti od výrazu a umiestnenia výrazu môžu byť platné rozsahy obsahujúce rozsahy, známe aj ako nadradené rozsahy alebo obsiahnuté rozsahy, známe aj ako podriadené alebo vnorené rozsahy. Vo všeobecnosti nie je možné v agregovanom výpočte určiť jednotlivé inštancie skupiny. Môžete zadať agregát pre všetky inštancie skupiny.

Keďže procesor zostavy kombinuje údaje z množiny údajov zostavy s oblasťou údajov tablix, vyhodnotí skupinové výrazy a vytvorí riadky a stĺpce, ktoré sú potrebné na znázornenie inštancií skupiny. Hodnota výrazov v textovom poli v každej bunke oblasti údajov Tablix sa vyhodnotí v kontexte rozsahu bunky. V závislosti od štruktúry položky tablix môže bunka patriť do viacerých skupín riadkov a skupín stĺpcov. V prípade agregačných funkcií môžete určiť rozsah, ktorý sa má použiť, pomocou niektorého z nasledujúcich rozsahov:

  • Predvolený rozsah Údaje, ktoré sú v rozsahu pre výpočty, keď procesor zostavy vyhodnotí výraz. Predvolený rozsah je najvnútornejšia množina skupín, do ktorých bunka alebo údajový bod patria. V prípade oblasti údajov Tablix môže množina obsahovať skupiny riadkov a stĺpcov. V prípade oblasti údajov grafu môže množina obsahovať skupiny kategórií a radov.

  • Pomenovaný rozsah Názov množiny údajov, oblasti údajov alebo skupiny oblastí údajov, ktorá je určená pre výraz. Pri agregačných výpočtoch môžete zadať rozsah, ktorý obsahuje. Pomenovaný rozsah nie je možné zadať pre skupinu riadkov aj skupinu stĺpcov v jednom výraze. Ak výraz nie je určený na agregáciu agregátu, nemôžete určiť obsiahnutý rozsah.

    Nasledujúci výraz vytvára ročné intervaly medzi hodnotami SellStartDate a LastReceiptDate. Tieto polia sa nachádzajú v dvoch rôznych množinách údajov, DataSet1 a DataSet2. Prvá funkcia (Zostavovač zostáv),ktorá je agreganou funkciou, vráti prvú hodnotu sellstartdate v množine údajov DataSet1 a prvú hodnotu LastReceiptDate v množine údajov DataSet2.

    =DATEDIFF("yyyy", First(Fields!SellStartDate.Value, "DataSet1"), First(Fields!LastReceiptDate.Value, "DataSet2"))
    
  • Rozsah domény Nazýva sa aj rozsah synchronizácie. Typ rozsahu údajov, ktorý sa vzťahuje na vyhodnocovanie výrazu pre vnorené oblasti údajov. Rozsah domény sa používa na určenie agregátov v rámci všetkých inštancií skupiny, aby sa vnorené inštancie mohli zarovnať a jednoducho porovnať. Môžete napríklad zarovnať rozsah a výšku kriviek vložených v tabuľke tak, aby sa hodnoty zarovnali.

V niektorých umiestneniach zostavy musíte zadať rozsah. Napríklad v prípade textového poľa v oblasti návrhu musíte zadať názov množiny údajov, ktorá sa má použiť: =Max(Fields!Sales.Value,"Dataset1"). Na iných miestach je implicitný predvolený rozsah. Ak napríklad nezadáte agregát pre textové pole v rozsahu skupiny, použije sa predvolená agregácia Prvá.

Každá téma agregácie funkcie uvádza rozsahy, ktoré sú platné na jej použitie. Ďalšie informácie nájdete v téme Referenčné informácie o agregačných funkciách (Power BI Zostavovač zostáv).

Príklad agregovaných výrazov pre oblasť tabuľkových údajov

Ak chcete písať výrazy, ktoré určujú predvolené rozsahy, je potrebné si prejsť určitú prax. Ak chcete lepšie pochopiť rôzne rozsahy, použite nasledujúci obrázok a tabuľku. Obrázok označuje každú bunku v tabuľke s informáciami o predaji, ktorá zobrazuje množstvo položiek predaných podľa roka a štvrťroka, a tiež podľa územia predaja. Všimnite si vizuálne upozornenia na rukoväte riadkov a rukoväte stĺpcov, ktoré zobrazujú štruktúru skupiny riadkov a stĺpcov a označujú vnorené skupiny. Tabuľka má nasledujúcu štruktúru:

  • Hlavička tabuľky obsahujúca rohovú bunku a tri riadky obsahujúce hlavičky skupiny stĺpcov.

  • Dve vnorené skupiny riadkov založené na kategórii s názvom Cat a podkategóriu s názvom SubCat.

  • Dve vnorené skupiny stĺpcov na základe roku s názvom Rok a štvrťrok s názvom Qtr.

  • Jeden stĺpec statických súčtov s označením Súčty.

  • Jedna susediaci skupina stĺpcov založená na území predaja s názvom Territory (Územie).

Hlavička stĺpca pre skupinu území bola rozdelená do dvoch buniek na účely zobrazenia. Prvá bunka zobrazuje názov územia a súčty a druhá bunka má zástupný text, ktorý vypočítal percentuálny príspevok pre každé územie k všetkým predajom.

Snímka obrazovky znázorňujúca príklad agregovaných výrazov pre oblasť údajov tabuľky.

Predpokladajme, že množina údajov sa nazýva DataSet1 a tabuľka sa nazýva Tablix1. Nasledujúca tabuľka obsahuje zoznam označení buniek, predvoleného rozsahu a príkladov. Hodnoty textu zástupného symbolu sa zobrazujú pomocou syntaxe výrazu.

Mobilný Predvolený rozsah Označenia zástupných symbolov Textové alebo zástupné hodnoty
C01 Tablix1 [Sum(Množstvo)] Agregáty a rozsah

=Sum(Fields!Qty.Value)
C02 Skupina vonkajšieho stĺpca "Year" [Rok]

([Množstvo za rok])
=Fields!Year.Value

=Sum(Fields!Qty.Value)
C03 Tablix1 [Sum(Množstvo)] Súčty

=Sum(Fields!Qty.Value)
C04 Skupina partnerských stĺpcov "Territory" (Územie) ([Spolu]) Territory

=Sum(Fields!Qty.Value)
C05 Vnútorná skupina "Qtr" [Qtr]

([QtrQty])
Q

=Fields!Qtr.Value

=Sum(Fields!Qty.Value)
C06 Skupina partnerských stĺpcov "Territory" (Územie) [Územie]

([Nočník])

[Pct]
=Fields!Territory.Value

=Sum(Fields!Qty.Value)

=FormatPercent(Sum(Fields!Qty.Value,"Territory")/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1")
C07 Skupina vonkajšieho riadka "Cat" [Mačka]

[Sum(Množstvo)]
=Fields!Cat.Value

=Sum(Fields!Qty.Value)
C08 Rovnaké ako C07
C09 Skupina vonkajších riadkov "Mačka" a vnútorná skupina stĺpcov "Qtr" [Sum(Množstvo)] =Sum(Fields!Qty.Value)
C10 Rovnaké ako C07 <<Expr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1")
C11 Skupina vonkajšieho riadka "Cat" a skupina stĺpcov "Territory" (Územie) <<Expr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Territory"),0) & " of " & Sum(Fields!Qty.Value,"Territory")
C12 Vnútorná skupina riadkov "Subcat" [Subcat]

[Sum(Množstvo)]
=Fields!SubCat.Value

=Sum(Fields!Qty.Value)
C13 Vnútorná skupina riadkov "Subcat" a vnútorná skupina stĺpcov "Qtr" [Sum(Množstvo)] =Sum(Fields!Qty.Value)
C14 Vnútorná skupina riadkov "Subcat" <<Expr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Cat"),0) & " of " & Sum(Fields!Qty.Value,"Cat")
C15 Vnútorná skupina riadkov "Subcat" a skupina stĺpcov "Territory" <<Expr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Code.CalcPercentage(Sum(Fields!Qty.Value),Sum(Fields!Qty.Value,"Cat")),0) & " of " & Sum(Fields!Qty.Value,"Cat")

Ďalšie informácie o týchto témach:

Synchronizácia mierok pre krivky

Ak chcete porovnať hodnoty v rámci času na vodorovnej osi pre krivkový graf, ktorý je vnorený v tabuľke alebo matici, môžete synchronizovať hodnoty skupiny kategórií. Nazýva sa to zarovnanie osí. Výberom možnosti zarovnať osi zostava automaticky nastaví minimálne a maximálne hodnoty pre os a zástupné symboly pre agregované hodnoty, ktoré neexistujú v každej kategórii. To spôsobí, že hodnoty v krivke sa zoradia v rámci každej kategórie a umožní vám porovnať hodnoty pre každý riadok agregovaných údajov. Výberom tejto možnosti meníte rozsah vyhodnocovania výrazu na rozsah domény. Nastavením rozsahu domény pre vnorený graf sa nepriamo ovláda priradenie farieb pre každú kategóriu v legende.

V krivke, ktorá zobrazuje týždenné trendy, napríklad predpokladajme, že jedno mesto malo údaje o predaji za 3 mesiace a iné mesto malo údaje o predaji za 12 mesiacov. Bez synchronizovaných mierok by krivka pre prvé mesto mala iba 3 pruhy a bola by oveľa širšia a obsadila rovnaký priestor ako 12-mesačná množina pruhov pre druhé mesto.

Ďalšie informácie nájdete v téme Zarovnanie údajov v grafe v tabuľke alebo matici (Power BI Zostavovač zostáv).

Synchronizácia rozsahov pre indikátory

Ak chcete určiť hodnoty údajov, ktoré sa majú použiť pre množinu indikátorov, musíte zadať rozsah. V závislosti od rozloženia oblasti údajov, ktorá obsahuje indikátor, určíte rozsah alebo rozsah, ktorý obsahuje. Napríklad v riadku hlavičky skupiny súvisiacej s predajom kategórie môže množina šípok (nahor, nadol, nabok) označovať hodnoty predaja vzhľadom k prahovej hodnote. Rozsah obsahu je názov tabuľky alebo matice, ktorá obsahuje indikátory.

Ďalšie informácie nájdete v téme Nastavenie rozsahu synchronizácie (Zostavovač zostáv Power BI).

Zadanie rozsahov v hlavičke stránky alebo päte strany

Ak chcete zobraziť údaje, ktoré sa líšia na každej strane zostavy, pridajte výrazy do položky zostavy, ktorá sa musí nachádzať na vykreslenej strane. Keďže zostava sa rozdelí na strany počas jej vykreslenia, iba počas vykresľovania možno určiť, ktoré položky na strane existujú. Napríklad bunka v riadku podrobností má textové pole, ktoré má mnoho inštancií na strane.

Na tento účel existuje globálna kolekcia s názvom ReportItems. Toto je množina textových polí na aktuálnej strane.

Ďalšie informácie nájdete v téme Hlavičky a päty stránok (Zostavovač zostáv Power BI) a Odkazy na kolekciu ReportItems (Power BI Zostavovač zostáv).

Zadanie prepínača položky pre prechod na detaily a podmienenú viditeľnosť

Prepínače sú znamienko plus alebo mínus, ktoré sa pridajú do textového poľa a ktoré môže používateľ vybrať na zobrazenie alebo skrytie iných položiek zostavy. Pre väčšinu vlastností položky zostavy môžete na stránke Viditeľnosť určiť, do ktorej položky zostavy sa má prepínač pridať. Prepínač položky musí mať vyšší rozsah obmedzenia ako položka na zobrazenie alebo skrytie.

Ak chcete v oblasti údajov tablix vytvoriť efekt prechodu na detaily, v ktorom výberom textového poľa rozbalíte tabuľku a zobrazí sa viac údajov, musíte nastaviť vlastnosť Visibility v skupine a vybrať ako prepínač textového poľa v hlavičke skupiny, ktorá je priradená k obsahujúcej skupine.

Ďalšie informácie nájdete v téme Pridanie akcie rozbalenia alebo zbalenia do položky (Zostavovač zostáv Power BI).

Zadanie výrazu zoradenia na synchronizáciu poradia zoradenia

Keď do stĺpca tabuľky pridáte tlačidlo interaktívneho zoradenia, môžete synchronizovať zoradenie pre viaceré položky, ktoré majú spoločný rozsah obsahujúci. Môžete napríklad pridať tlačidlo zoradenia na hlavičku stĺpca v matici a určiť, ktorý rozsah obsahuje, ako názov množiny údajov naviazanej na maticu. Keď používateľ vyberie tlačidlo na zoradenie, zoradia sa nielen riadky matice, ale aj skupiny grafov a grafov, ktoré sú viazané na rovnakú množinu údajov. Týmto spôsobom sa môžu všetky oblasti údajov, ktoré sú závislé od danej množiny údajov, synchronizovať a zobraziť rovnaký spôsob zoradenia.

Ďalšie informácie nájdete v téme Filtrovanie, zoskupovanie a zoradenie údajov (Power BI Zostavovač zostáv).

Potlačenie hodnoty null alebo nulových hodnôt v bunke

V prípade mnohých zostáv môžu výpočty, ktoré sú obmedzené na skupiny, vytvoriť veľa buniek, ktoré majú nulu (0) alebo hodnoty null. Ak chcete zmenšiť počet nepotrebných položiek v zostave, pridajte výraz, ktorý vráti prázdne hodnoty v prípade, že agregovaná hodnota je 0. Ďalšie informácie nájdete v téme Príklady, ktoré potláčajú hodnotu null alebo nulové hodnoty, v príkladoch výrazu (Zostavovač zostáv Power BI).

Ďalšie kroky