Informatie over rijcontext

Voltooid

Nu u berekende kolommen hebt gemaakt, kunt u leren hoe de bijbehorende formules worden geëvalueerd.

De formule voor een berekende kolom wordt geëvalueerd voor elke tabelrij. Daarnaast wordt deze geëvalueerd binnen de rijcontext, dat wil zeggen de huidige rij. Bekijk de berekende kolomdefinitie Einde fiscaal jaar:

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

Wanneer de formule wordt geëvalueerd voor elke rij, retourneert de kolomverwijzing 'Due Date'[Due Date] de kolomwaarde voor deze rij. U zult merken dat Microsoft Excel hetzelfde principe heeft voor werken met formules in Excel-tabellen.

Rijcontext gaat echter niet verder dan de tabel. Als de formule moet verwijzen naar kolommen in andere tabellen, hebt u twee opties:

  • Als de tabellen direct of indirect gerelateerd zijn, kunt u de RELATED DAX-functie of RELATEDTABLE gebruiken. De RELATED functie haalt de waarde op aan de een-kant van de relatie, terwijl de RELATEDTABLE waarden ophaalt aan de veel-zijde. De RELATEDTABLE functie retourneert een tabelobject.
  • Wanneer de tabellen niet zijn gerelateerd, kunt u de LOOKUPVALUE DAX-functie gebruiken.

Probeer over het algemeen waar mogelijk de RELATED functie te gebruiken. De functie presteert meestal beter dan de LOOKUPVALUE functie vanwege de manier waarop relatie- en kolomgegevens worden opgeslagen en geïndexeerd.

Voeg nu de volgende berekende kolomdefinitie toe aan de tabel Verkoop :

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

Met de definitie van de berekende kolom wordt de kolom Kortingsbedrag toegevoegd aan de tabel Verkoop . Power BI evalueert de formule van de berekende kolom voor elke rij van de tabel Sales . De waarden voor de kolommen Orderhoeveelheid en Verkoophoeveelheid worden opgehaald binnen de rijcontext. Omdat de kolom Catalogusprijs echter tot de tabel Product behoort, is de RELATED functie vereist om de catalogusprijswaarde voor het verkoopproduct op te halen.

Rijcontext wordt gebruikt wanneer berekende kolomformules worden geëvalueerd. Deze wordt ook gebruikt wanneer een functieklasse, iterator-functies genoemd, worden gebruikt. Iterator-functies bieden u de flexibiliteit om geavanceerde samenvattingen te maken. Iterator-functies worden beschreven in een latere module.