V DAXu se samozřejmě dají, stejně jako v jiných jazycích, používat proměnné. I když, popravdě řečeno, v DAXu se bez nich, na rozdíl od jiných jazyků, můžeme ve většině případů obejít.

Proměnné ale mohou zápis vzorců zjednodušit.

Pár dalších informací k proměnným v DAXu:

  • Proměnné mohou odkazovat na jiné proměnné
  • Proměnná se v průběhu zápisu nemůže měnit (takže to vlastně, upřímně řečeno, vlastně není proměnná…)
  • Proměnné se spočtou na začátku, před příkazem RETURN – a pak se jejich výstupy mohou použít v průběhu výpočtu opakovaně. Znovu už se nepočítají – takže se tím dá trochu zrychlit výpočet.
  • Proměnná může obsahovat jak jedno číslo, tak tabulku.

Zápis je jednoduchý. Proměnná se definuje, pak se napíše RETURN a pokračujeme zápisem, ve kterém je proměnná použitá.

Ukázka proměnné obsahující jednu hodnotu:

  • TotalSales =
       VAR total_sales = SUM(‘original data'[Revenue])
    RETURN
       total_sales

Ukázka proměnné obsahující tabulku:

  • ResultTable =
       VAR mytable = FILTER(‘original data’;’original data'[Goods category]=”Fruit”)
    RETURN
       mytable

Praktické použití proměnné

Odebereme z původní tabulky duplicity a z výsledku odebereme položku “Rat”.

Jedna možnost zápisu (spočte se proměnná, ze které se rovnou počítá výsledek):

  • Animal species without rat = 
       VAR species = distinct(Animal_table[Animal]) 
       VAR species_without_rat = FILTER(species,Animal_table[Animal]<>”Rat”) 
    RETURN /
       species_without_rat 

Druhá možnost zápisu (spočte se jedna proměnná, z té se spočte druhá proměnná, a ta už se jen zobrazí:

  • Animal species without rat =
       VAR species = distinct(Animal_table[Animal])
    RETURN
       FILTER(species,Animal_table[Animal]<>”Rat”)