Row context ir Filter context – du kertiniai DAX principai.
Kodėl ta pati formulė kartais rodo skirtingus rezultatus? Atsakymą rasi žemiau šiame straipsnyje.
Jei dar tik pradedate su DAX, pirmiausia verta suprasti pagrindus: įvadas į DAX .
Taip pat rekomenduojama peržiūrėti: pilną Power BI gidą , kuriame visas procesas paaiškintas nuo pradžių iki galo.
DAX formulės nėra tik matematiniai veiksmai – jų rezultatas priklauso nuo konteksto.
Kas yra Row context
Row context reiškia, kad skaičiavimas vyksta kiekvienai eilutei atskirai.
Pelnas = Pardavimai[Pajamos] - Pardavimai[Sąnaudos]
Row context dažniausiai naudojamas:
- calculated columns
- X funkcijose (SUMX, COUNTX ir pan.)
Plačiau apie iteratorius: DAX X funkcijos
Kas yra Filter context
Filter context nusako, kurios eilutės dalyvauja skaičiavime.
Pardavimai = SUM(Pardavimai[Suma])
Jis atsiranda iš:
- slicerių
- vizualų
- filtrų
Plačiau apie filtrų valdymą: ALL, REMOVEFILTERS ir KEEPFILTERS
Pagrindinis skirtumas
- Row context – kaip skaičiuoti
- Filter context – ką skaičiuoti
Šis palyginimas padeda aiškiai suprasti skirtumą tarp šių kontekstų.
Kaip jie veikia kartu
Praktikoje jie dažnai veikia kartu.
Bendras pelnas = SUM(Pardavimai[Pelnas])
CALCULATE ir konteksto keitimas
CALCULATE leidžia keisti filtrų kontekstą.
Pardavimai Vilniuje =
CALCULATE(
SUM(Pardavimai[Suma]),
Pardavimai[Miestas] = "Vilnius"
)
Plačiau: DAX CALCULATE funkcija
Dažniausios klaidos
- Calculated column naudojamas vietoje measure
- Nesuprantamas kontekstas
- Netinkamai naudojamas CALCULATE
- Row context = eilutės lygis
- Filter context = duomenų atranka
- CALCULATE = keičia filtrus
Ką skaityti toliau
Išvada
Row context ir filter context yra pagrindas visam DAX.
Supratus šiuos principus, Power BI skaičiavimai tampa aiškesni ir prognozuojami.
Power Query atmintinė: automatizuok ataskaitą
Pagrindiniai žingsniai, 5 dažnos klaidos ir kada verta automatizuoti ataskaitą.
- PDF · 2 psl., praktiška
- Be spam'o — tik nauda
