A CALCULATE függvény megismerése

Befejeződött

A lecke végére alapos ismereteket szerezhet arról, hogy a CALCULATE függvény a Power BI egyik legsokoldalúbb függvénye.

Magas szinten szabályozhatja a sor- és szűrőkörnyezetet. A CALCULATE függvénnyel szűrőket adhat hozzá, leveheti őket, és frissítheti őket. Ez sok erő egy függvényben!

Szűrő hozzáadása a CALCULATE használatával

Először is, hogyan adhat hozzá szűrőt a CALCULATE függvénnyel.

Adattábla, amely a CALCULATE függvénnyel rendelkező szűrő hozzáadásakor lesz hivatkozva.

A teljes értékesítés az előző adattáblában található:

Total Sales = SUM( [Sales Amount] )

Emellett a teljes értékesítés szűrt verziója is elérhető, ahol kiértékeli a teljes értékesítést, és repülési szűrőkörnyezetet alkalmaz:

Airplane Sales = CALCULATE( [Total Sales], 'Product Details'[ItemGroup] = "Airplane" )

Tipp

KORRELÁCIÓ A TABLEAU-HOZ: Az alábbi kódrészlet bemutatja, hogyan végezheti el ugyanezt a számítást a Tableau-ban: Airplane Sales = IF [ItemGroup] = "Airplane" THEN SUM([Sales Amount] ELSE 0 END)

Szűrő figyelmen kívül hagyása a CALCULATE használatával

Ezután a CALCULATE függvénnyel figyelmen kívül hagyhat egy szűrőt.

Adattábla, amely akkor lesz hivatkozva, ha figyelmen kívül hagy egy szűrőt a CALCULATE függvénnyel.

Az előző adattáblában az összes értékesítés államonként egy oszlopban, a teljes értékesítés pedig a következő oszlopban lévő összes földrajzi hely szerint van meg. Ez az oszlop akkor hasznos, ha az egyes állapotok (vagy sorok) összegének százalékos arányát szeretné elemezni.

A DAX-ban az összeg százalékának leggyakoribb módja az ALL függvény használata.

Total Sales All Geo = CALCULATE( [Total Sales], ALL( Geography ) )

A fenti kódban a Geography táblát vizsgáljuk meg, és bele kell sorolni az összes értéket; ne szűkítse a szűrőkörnyezetet.

Tipp

KORRELÁCIÓ A TABLEAU-HOZ: Az alábbi kódrészlet bemutatja, hogyan végezheti el ugyanezt a számítást a Tableau-ban az EXCLUDE LOD kifejezés használatával: Total Sales All Geo = { EXCLUDE [State], [City] : SUM([Total Sales]) }

Egy másik figyelmen kívül hagyó szűrő példa az alábbihoz hasonlóan nézne ki:

Adattábla, amely a CALCULATE függvény szűrőinek figyelmen kívül hagyásakor lesz hivatkozva.

Az előző táblázatban a teljes értékesítést államonként, az összes földrajzi hely szerinti összes értékesítést (az összes földrajzi szűrő nélkül) tartalmazza, végül pedig az összes állam összes értékesítését, de a városszűrőt továbbra is alkalmazza.

A kép alapján Alexandria városa több államban is létezik. Tehát csak meg szeretné találni azoknak az államoknak a teljes értékesítését, amelyek alexandriai városként vannak jelen:

Total Sales All States = CALCULATE( [Total Sales], ALL( Geography[State] ) )

Tipp

KORRELÁCIÓ A TABLEAU-RA: Ezt a számítást így végezheti el a Tableau-ban az EXCLUDE LOD kifejezés használatával. Megfigyelheti, hogy ez a LOD-kifejezés a részletessége miatt különbözik a másiktól. Ezzel a kifejezéssel csak ki szeretné zárni az állapotot a nézetből az állam és a város helyett: Total Sales All States = { EXCLUDE [State] : SUM([Total Sales]) }

Szűrő frissítése a CALCULATE használatával

Végül a CALCULATE függvény hasznosságának kiemelésére szolgáló utolsó útmutató egy szűrő frissítésével lesz elérhető.

Adattábla, amelyre a CALCULATE függvénnyel végzett szűrő frissítésekor hivatkozni fog.

Az előző adattáblában a teljes értékesítés (az év figyelmen kívül hagyása) szerepel, a vizualizáció szeletelője által alkalmazott szűrőkörnyezetben vett teljes értékesítés, majd az utolsó oszlop csak a 2018-ra vonatkozó összes értékesítés.

A "2018 Sales" oszlop lekéréséhez a következőhöz hasonlót kell írnia:

2018 Sales = CALCULATE( [Total Sales], DATE[Year] = 2018 )

Tipp

KORRELÁCIÓ A TABLEAU-HOZ: Ez azért érdekes, mert úgy tűnik, hogy nincs közvetlen Tableau-összehasonlítás. Ehhez a Tableau-ban duplikálnia kell a mezőket, be kell állítania a kiegészítő adatforrásokat, vagy számításokat kell végeznie az egyes oszlopokon.

Tableau, jelenleg nem érhető el. A Power BI a CALCULATE függvénnyel frissíti a szűrőt, így szabályozhatja a szűrőkörnyezetet.

Foglaljuk össze az ebben a CALCULATE egységben áttekintett adatokat:

  • Bármely kifejezés elhelyezhető első argumentumként.

  • A kifejezés az oldalon található összes szűrőkörnyezetet (a vizualizáció szeletelőit) vizsgálja.

  • Ha szűrők vannak jelen, a rendszer hozzáadja azt.

  • Ha van olyan szűrő, amely már szerepel a szűrőlistában, és megegyezik a lapkörnyezettel, felülbírálja azt.

  • A fenti árnyalatok után végül kiértékeli a kifejezést.

Megjegyzés

Nyilvánvaló, hogy ez nem olyasmi, amit meg kellene tennie anélkül, hogy ellenőrizné a válaszokat, hogy valóban megértsék a műveleti sorrendet. Meg kell kérdezned magadtól: "Törölte-e a szűrőket, vagy nem?"