Finančné funkcie z Excelu pribudli do jazyka DAX

Do jazyka DAX v Power BI Desktope a SSAS Tabulare 2019 pribudla dnes poriadna dávka nových funkcií. Tentokrát sa Microsoft hecol a pridal tam takmer všetky finančné funkcie z Excelu. Našťastie iba po anglicky.

Nových funkcií je až 49, a dokonca bola pre ne vytvorená nová kategória funkcií v rámci oficiálnej dokumentácie k jazyku DAX. Úplne nečakane sa nazýva “Finančné funkcie”, a celý zoznam aj s ich dokumentáciou nájdete na tomto odkaze.

Finančné funkcie z Excelu

Doteraz boli dostupné v DAX-e tieto finančné funkcie:

  • XIRR
  • XNPV

Pribudlo týchto 49 funkcií:

  • ACCRINT
  • ACCRINTM
  • AMORDEGRC
  • AMORLINC
  • COUPDAYBS
  • COUPDAYS
  • COUPDAYSNC
  • COUPNCD
  • COUPNUM
  • COUPPCD
  • CUMIPMT
  • CUMPRINC
  • DB
  • DDB
  • DISC
  • DOLLARDE
  • DOLLARFR
  • DURATION
  • EFFECT
  • FV
  • INTRATE
  • IPMT
  • ISPMT
  • MDURATION
  • NOMINAL
  • NPER
  • ODDFPRICE
  • ODDFYIELD
  • ODDLPRICE
  • ODDLYIELD
  • PDURATION
  • PMT
  • PPMT
  • PRICE
  • PRICEDISC
  • PRICEMAT
  • PV
  • RATE
  • RECEIVED
  • RRI
  • SLN
  • SYD
  • TBILLEQ
  • TBILLPRICE
  • TBILLYIELD
  • VDB
  • YIELD
  • YIELDDISC
  • YIELDMAT

Príklad

Ak chceme napríklad spočítať výšku splátky hypotéky, kde výška hypotéky je 200 000 EUR, ročná úroková miera je 1% a splatnosť je 30 rokov, tak môžeme vytvoriť napr. takéto merítko:

Splátka = PMT(0,01/12; 30*12; 200000)

Výsledok bude takýto:

Finančné funkcie z Excelu v jazyku DAX - ukážka

Výsledok je vrátený ako negatívna hodnota, a jej absolútna hodnota predstavuje výšku mesačnej splátky hypotéky uvedenej vyššie. Zároveň sa z toho dá ľahko vypočítať, o koľko preplatíte hypotéku, resp. koľko je úrok za celých 30 rokov. Stačí absolútnu hodnotu prenásobiť počtom splátok, a vyjde vám suma 231 580,80 EUR. Po odpočítaní pôvodnej sumy 200 000 EUR je úrok 31 580,80 EUR.

Sú užitočné?

Väčšina týchto funkcií bude určite užitočná vo finančníctve a poisťovníctve. Niektoré z funkcií však mohli podľa môjho názoru nazvať inak – napr. funkcie DB, DURATION, PRICE, YIELD, RATE či RECEIVED majú príliš všeobecný názov na to, aby bolo z ich názvu jasné, že sa jedná o finančné funkcie a funkcionalitu súvisiacu s počítaním úrokov. Napr. funkcia DB evokuje funkciu, ktorá vráti názov databázy, a funkcia DURATION zasa láka k tomu, že počíta časový rozdiel (na čo máme už funkciu DATEDIFF). Keďže je ale Office dlhodobo najziskovejším produktom Microsoftu, tak sa mu musia podriadiť aj ostatné produkty. A nielen v DAX-e, ale aj v napr. v Power BI Desktope to vidno na kope funkcionalít, ktoré by fungovali lepšie, ak by nemuseli zrkadliť Excel. Ale tak to je, a to už nezmeníme.

Každopádne, potešiteľný fakt je ten, že jazyk DAX stále zostáva iba v angličtine, a ani tieto funkcie sa (vraj zatiaľ!) neplánujú implementovať preložené do iných jazykov. Tým je zatiaľ potvrdené, že peklo s funkciami z Excelu v DAX-e nehrozí. Ale kto vie, možno inženýři z NDR dostanú nápad, a budúci mesiac budeme mať funkcie ako AK alebo KDYŽ 🙂 Pri dnešnom rýchlom tempe vývoja a neoznamovaní väčšiny zmien dopredu je to síce malá, ale aj tak teoretická možnosť. Ktorá dúfajme že zostane len mokrým snom tímu MS Office.

Takže toto sú nové finančné funkcie z Excelu doplnené do jazyka DAX. A niektoré výpočty sa znova budú robiť ľahšie 🙂