A sorkörnyezet megismerése

Befejeződött

A számított oszlopok létrehozása után most megtanulhatja, hogyan vannak kiértékelve azok képletei.

Egy számított oszlop képlete a tábla összes sorára ki van értékelve. Továbbá a sor környezetében van kiértékelve, ami az aktuális sort jelenti. Figyelje meg a Due Fiscal Year számított oszlop definícióját:

Due Fiscal Year =
"FY"
    & YEAR('Due Date'[Due Date])
        + IF(
            MONTH('Due Date'[Due Date]) <= 6,
            1
        )

A képlet soronkénti kiértékelése során a 'Due Date'[Due Date] oszlophivatkozás az oszlopnak az ehhez a sorhoz tartozó értékét adja vissza. Mint látni fogja, a Microsoft Excel is ugyanezt az elvet alkalmazza az Excel-táblázatok képleteire.

A sorkörnyezet azonban nem terjed ki a táblán túlra. Ha a képletnek más táblák oszlopaira kell hivatkoznia, akkor két lehetősége van:

  • Ha a táblák közvetlenül vagy közvetve kapcsolódnak, használhatja a vagy RELATEDTABLE a RELATED DAX függvényt. A RELATED függvény lekéri az értéket a kapcsolat egy oldalán, míg a RELATEDTABLE többoldalas értékeket. A RELATEDTABLE függvény egy táblaobjektumot ad vissza.
  • Ha a táblák nem kapcsolódnak, használhatja a DAX függvényt LOOKUPVALUE .

Általában próbálja meg használni a függvényt RELATED , amikor csak lehetséges. Általában jobb teljesítményt nyújt, mint a LOOKUPVALUE függvény, mivel a kapcsolat- és oszlopadatokat a rendszer tárolja és indexeli.

Most adja hozzá a következő számított oszlopdefiníciót a Sales táblához:

Discount Amount =
(
    Sales[Order Quantity]
        * RELATED('Product'[List Price])
) - Sales[Sales Amount]

A számított oszlopdefiníció hozzáadja a Kedvezmény összege oszlopot a Sales táblához. A Power BI a Sales tábla minden sorához kiértékeli a számított oszlop képletét. Az Order Quantity és a Sales Amount oszlopokból a sor környezetén belül vannak lekérve az értékek. Mivel azonban a Listaár oszlop a Product táblához tartozik, a RELATED függvénynek le kell kérnie az értékesítési termék listaár-értékét.

A sorkörnyezet a számított oszlopok képleteinek kiértékelésekor használatos. Ez használatos az úgynevezett iterátorfüggvények osztályának használatakor is. Az iterátorfüggvények biztosítják a kifinomult összesítések létrehozásához szükséges rugalmasságot. Az iterátorfüggvényeket egy későbbi modul ismerteti.