Zdieľať cez


VŠETKY

Vzťahuje sa na:Vypočítaný stĺpecVypočítaná tabuľkaVýpočet vizuálu mierky

Vráti všetky riadky v tabuľke alebo všetky hodnoty v stĺpci, pričom sa ignorujú všetky filtre, ktoré mohli byť použité. Táto funkcia je užitočná na vymazanie filtrov a vytváranie výpočtov so všetkými riadkami v tabuľke.

Syntax

ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )  

Parametre

Obdobie Definícia
table Tabuľka, v ktorú chcete vymazať filtre.
stĺpec Stĺpec, v rámci ktorému chcete vymazať filtre.

Argument funkcie ALL musí byť odkaz na základnú tabuľku alebo odkaz na základný stĺpec. S funkciou ALL nie je možné použiť výrazy tabuľky ani výrazy stĺpca.

Vrátená hodnota

Tabuľka alebo stĺpec s odstránenými filtrami.

Poznámky

  • Táto funkcia sa nepoužíva samostatne, ale slúži ako pomocná funkcia, ktorá sa dá použiť na zmenu množiny výsledkov, pre ktorú sa vykoná iný výpočet.

  • Normálnym správaním výrazov DAX obsahujúcich funkciu ALL() je ignorovať všetky použité filtre. Existuje však niekoľko scenárov, v ktorých to tak nie je. Príčinou je technológia auto-exist jazyka DAX, ktorá optimalizuje filtrovanie s cieľom znížiť množstvo spracovania požadovaného pre určité dotazy DAX. Ak auto-exist a funkcia ALL() poskytnú neočakávané výsledky, príkladom je filtrovanie dvoch alebo viacerých stĺpcov rovnakej tabuľky (napríklad pri použití rýchlych filtrov) a v tejto tabuľke používanej funkciou ALL() existuje miera. V tomto prípade auto-exist zlúči viaceré filtre do jedného a bude filtrovať len existujúce kombinácie hodnôt. Z dôvodu tohto zlúčenia sa miera vypočíta z existujúcich kombinácií hodnôt a výsledok bude založený na filtrovaných hodnotách a nie na všetkých hodnotách tak, ako sa očakáva. Ďalšie informácie o technológii auto-exist a jej vplyve na výpočty nájdete v článku MVP spoločnosti Microsoft Alberta Ferrariho Understanding DAX Auto-Exist (Informácie o technológii Auto-Exist jazyka DAX) na lokalite sql.bi.com.

  • V nasledujúcej tabuľke sú popísané možnosti použitia funkcií ALL a ALLEXCEPT v rôznych scenároch.

    Funkcia a použitie Description
    ALL() Odstráni všade všetky filtre. Funkciu ALL() možno použiť iba na vymazanie filtrov, ale nie na vrátenie tabuľky.
    ALL(tabuľka) Odstráni všetky filtre zo zadanej tabuľky. V skutočnosti funkcia ALL(tabuľka) vráti všetky hodnoty v tabuľke, čím odstráni všetky filtre z kontextu, ktoré inak mohli byť použité. Táto funkcia je užitočná, keď pracujete s mnohými úrovňami zoskupenia a chcete vytvoriť výpočet, ktorý vytvorí pomer agregovanej hodnoty k celkovej hodnote. Tento scenár ukazuje prvý príklad.
    ALL (Stĺpec[, Stĺpec[, ...]]) Odstráni všetky filtre zo zadaných stĺpcov v tabuľke; stále však budú použité všetky ostatné filtre v ostatných stĺpcoch v tabuľke. Všetky argumenty stĺpcov musia pochádzať z rovnakej tabuľky. Variant ALL(Stĺpec) je užitočný, keď chcete odstrániť kontextové filtre pre jeden alebo viac konkrétnych stĺpcov a zachovať všetky ostatné kontextové filtre. Druhý a tretí príklad ukazujú tento scenár.
    ALLEXCEPT(Tabuľka, Stĺpec1 [,Stĺpec2]...) Odstráni všetky kontextové filtre v tabuľke okrem filtrov, ktoré sú použité v zadaných stĺpcoch. Toto je praktická skratka pre situácie, v ktorých chcete odstrániť filtre v mnohých, ale nie všetkých stĺpcoch v tabuľke.
  • Táto funkcia nie je podporovaná na použitie v režime DirectQuery, keď sa používa vo vypočítaných stĺpcoch alebo v pravidlách zabezpečenia na úrovni riadkov (RLS).

Príklad č. 1

Výpočet pomeru predaja v kategórii k celkovému predaju

Predpokladajme, že chcete vyhľadať sumu predaja pre aktuálnu bunku v kontingenčnej tabuľke, vydelenú celkovým predajom pre všetkých predajcov. Definujete vzorec, ktorý pomocou funkcie ALL vytvorí správny celkový súčet, čím zabezpečíte, že menovateľ bude rovnaký bez ohľadu na to, akým spôsobom používateľ kontingenčnej tabuľky filtruje alebo zoskupuje údaje.

V nasledujúcej tabuľke sa zobrazujú výsledky, keď je pomocou vzorca uvedeného v časti s kódom vytvorená nová miera Pomer predaja všetkých predajcov. Ak chcete zistiť, ako to funguje, pridajte pole KalendárnyRok do oblasti Označenia riadkov kontingenčnej tabuľky a pole NázovKategórieProduktov do oblasti Označenia stĺpcov . Potom presuňte mieru Pomer predaja všetkých predajcov do oblasti Hodnoty kontingenčnej tabuľky. Ak chcete zobraziť výsledky ako percentá, pomocou excelových funkcií formátovania použite formát percentuálneho čísla na bunky, ktoré obsahujú mieru.

Označenia riadkov Príslušenstvo Bicykle Oblečenie Súčasti Celkový súčet
2005 0.02% 9.10% 0.04% 0.75% 9.91%
2006 0.11% 24.71% 0.60% 4.48% 29.90%
2007 0.36% 31.71% 1.07% 6.79% 39.93%
2008 0.20% 16.95% 0.48% 2.63% 20.26%
Celkový súčet 0.70% 82.47% 2.18% 14,65 % 100,00 %

Vzorec

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  

Vzorec je zostavený takto:

  1. Čitateľ SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])je súčet hodnôt v ResellerSales_USD[SalesAmount_USD] pre aktuálnu bunku v kontingenčnej tabuľke s kontextovými filtrami použitými na stĺpce KalendárnyRok a NázovKategórieProduktov.

  2. Menovateľ určíte tak, že zadáte tabuľku, ResellerSales_USD a pomocou funkcie ALL odstránite všetky kontextové filtre v tabuľke.

  3. Potom použite funkciu SUMX na sčítanie hodnôt v stĺpci ResellerSales_USD[SalesAmount_USD]. Inými slovami, získate súčet ResellerSales_USD[SalesAmount_USD] pre predaj všetkých predajcov.

Príklad č. 2

Výpočet pomeru predaja produktov k celkovému predaju počas aktuálneho roka

Predpokladajme, že chcete vytvoriť tabuľku, ktorá zobrazuje porovnanie percent predaja v priebehu rokov pre každú kategóriu produktov (NázovKategórieProduktov). Ak chcete získať percento na každý rok na každú hodnotu NázovKategórieProduktov, musíte vydeliť súčet predaja na daný konkrétny rok a kategóriu produktov súčtom predaja na rovnakú kategóriu produktov za všetky roky. Inými slovami, ponecháte filter na názveKategórieProduktov, ale pri výpočte menovateľa percenta odstránite filter na roku.

Nasledujúca tabuľka ukazuje výsledky, keď je pomocou vzorca uvedeného v časti s kódom vytvorená nová miera Rok predaja predajcov. Ak chcete zistiť, ako to funguje, pridajte pole KalendárnyRok do oblasti Označenia riadkov kontingenčnej tabuľky a pole NázovKategórieProduktov do oblasti Označenia stĺpcov . Ak chcete zobraziť výsledky ako percentá, pomocou excelových funkcií formátovania použite formát percentuálneho čísla na bunky, ktoré obsahujú mieru Rok predaja predajcov.

Označenia riadkov Príslušenstvo Bicykle Oblečenie Súčasti Celkový súčet
2005 3.48% 11.03% 1.91% 5.12% 9.91%
2006 16.21% 29.96% 27.29% 30.59% 29.90%
2007 51.62% 38.45% 48.86% 46.36% 39.93%
2008 28.69% 20.56% 21.95% 17.92% 20.26%
Celkový súčet 100,00 % 100,00 % 100,00 % 100,00 % 100,00 %

Vzorec

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))  

Vzorec je zostavený takto:

  1. Čitateľ SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])je súčet hodnôt v ResellerSales_USD[SalesAmount_USD] pre aktuálnu bunku v kontingenčnej tabuľke s kontextovými filtrami použitými na stĺpce KalendárnyRok a NázovKategórieProduktov.

  2. Pre menovateľ odstránite existujúci filter v stĺpci KalendárnyRok pomocou funkcie ALL(Stĺpec). Takto sa vypočíta súčet zostávajúcich riadkov v tabuľke ResellerSales_USD po použití existujúcich kontextových filtrov z označení stĺpcov. Čistým efektom je, že pre menovateľ sa súčet vypočíta v rámci vybratej položky NázovKategórieProduktov (odvodený kontextový filter) a pre všetky hodnoty v roku.

Príklad č. 3

Výpočet príspevku kategórií produktov k celkovému predaju za rok

Predpokladajme, že chcete vytvoriť tabuľku, ktorá zobrazuje percento predaja jednotlivých kategórií produktov podľa jednotlivých rokov. Ak chcete získať percento pre každú kategóriu produktov v určitom roku, musíte vypočítať súčet predaja pre konkrétnu kategóriu produktu (NázovKategórieProduktov) v roku n a potom vydeliť výslednú hodnotu súčtom predaja za rok n vo všetkých kategóriách produktov. Inými slovami, ponecháte filter na roku, ale pri výpočte menovateľa percenta odstránite filter z položky NázovKategórieProduktov.

Nasledujúca tabuľka ukazuje výsledky, keď je pomocou vzorca uvedeného v časti s kódom vytvorená nová miera Predaj predajcov NázovKategórie. Ak chcete zistiť, ako to funguje, pridajte pole KalendárnyRok do oblasti Označenia riadkov kontingenčnej tabuľky a pole NázovKategórieProduktov do oblasti Označenia stĺpcov . Potom pridajte novú mierku do oblasti Hodnoty kontingenčnej tabuľky. Ak chcete zobraziť výsledky ako percentá, pomocou excelových funkcií formátovania použite formát percentuálneho čísla na bunky, ktoré obsahujú novú mieru Predaj predajcov NázovKategórie.

Označenia riadkov Príslušenstvo Bicykle Oblečenie Súčasti Celkový súčet
2005 0.25% 91.76% 0.42% 7.57% 100,00 %
2006 0.38% 82.64% 1.99% 14.99% 100,00 %
2007 0.90% 79.42% 2.67% 17.01% 100,00 %
2008 0.99% 83.69% 2.37% 12.96% 100,00 %
Celkový súčet 0.70% 82.47% 2.18% 14,65 % 100,00 %

Vzorec

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))  

Vzorec je zostavený takto:

  1. Čitateľ SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])je súčet hodnôt v ResellerSales_USD[SalesAmount_USD] pre aktuálnu bunku v kontingenčnej tabuľke s kontextovými filtrami použitými na polia KalendárnyRok a NázovKategórieProduktov.

  2. Pre menovateľ odstránite filter na karte NázovKategórieProduktov pomocou funkcie ALL(Stĺpec) a vypočítate súčet zostávajúcich riadkov v tabuľke ResellerSales_USD po použití existujúcich kontextových filtrov z označení riadkov. Čistým efektom je, že pre menovateľ sa súčet vypočíta v rámci vybratého roka (odvodený kontextový filter) a pre všetky hodnoty položky NázovKategórieProduktov.

Funkcie filtrovania
Funkcia ALL
Funkcia ALLEXCEPT
Funkcia FILTER