Novinky v tabulárnom modeli SSAS 2017

Microsoft pred pár dňami potvrdil, že koncom mája predstaví novú verziu SQL Servera, konkrétne SQL Server 2017. Aj keď dovtedy zostáva ešte jeden mesiac, tak sú už známe všetky novinky, ktoré budú v tabulárnych modeloch, resp. serverovom PowerPivote, a v Power BI. A okrem toho aj fakt, že odteraz bude SQL Server vychádzať častejšie ako raz za 2-3 roky. Poďme sa teda pozrieť na tieto novinky.

Aktualizácia 2.10.2017: SQL Server 2017 vyšiel až dnes. Dodatočné novinky v SSAS Tabular nájdete v tomto článku.

Podpora kódovacích hintov

Táto funkcionalita Vám asi nič nepovie, ak ste sa ešte nezaoberali optimalizáciou veľkých tabulárnych modelov, alebo ste neboli na našom Jedi Master kurze. V skratke ide o to, že keď si technológia VertiPaq pripravuje dáta v pamäti pre tabulárny model (a samozrejme aj pre PowerPivot a Power BI), tak sa doteraz sama rozhodovala, či ich prekóduje ako čísla alebo ako hashe. A okrem toho, že okrem pár trikov v podstate nebol spôsob, ako prinútiť server vybrať jeden alebo druhý (alebo ešte jeden skrytý tretí) spôsob, tak najmä hashe spotrebovávali veľké množstvo pamäte. Od tejto verzie SSAS sa to dá programátorsky nastaviť buď cez JSON, TMSL alebo TOM. Odkaz na príklad nájdete na konci tohto článku.

Nová verzia tabulárnych modelov

Modely vytvorené v tejto verzii majú internú verziu 1400, resp. 14,0. Sú spätne kompatibilné s predchádzajúcimi verziami, a upgrade sa vykonáva identicky ako aj v predchádzajúcich verziách.

Integrovaný server SSAS v SQL Server Data Tools

Približne od konca minulého roka je v aktuálnych Data Tools dostupná možnosť “Integrated workspace” pri vytváraní tabulárnych modelov. Výhodou je to, že nepotrebujete mať prístup k tabulárnemu serveru pri vývoji dátového modelu, pretože Data Tools naštartuje na pozadí 32-bitovú verziu najnovších SSAS. Jedinou nevýhodou je obmedzenie na 2 GB, resp. 3 GB dát (podľa nastavení Vášho operačného systému), ale to na základný vývoj zvyčajne stačí.

ppivot_novinky_ssas_2017_01

Moderný štýl importu dát

Data Tools odteraz používa moderný štýl importu dát, rovnaký ako Power BI. A okrem dizajnového potešenia je za tým skrytá obrovská novinka, uvedená hneď za touto.

ppivot_novinky_ssas_2017_02

Podpora jazyka M z Power Query, vrátane zdrojov dát aj transformácií dát

Toto je novinka roka, ktorú sem Microsoft prepašoval pravdepodobne kvôli podpore Power BI na vnútrofiremných serveroch. V najnovšej verzii SSAS totižto skryto pribudla podpora transformácií vo formáte skriptov pre jazyk M, ktorý možno poznáte z Power Query alebo Power BI. Bombastické na tomto je to, že odteraz nemusíte pripravovať dátový sklad dopredu, ale jednoducho si ho vytvoríte a naklikáte v tabulárnom modeli takmer identickým spôsobom, ako sa to robí v Power BI. Stránka tímu Analysis Services sľubuje plnú podporu jazyka M vo finálnej verzii SSAS. Ak to splnia, bude to doslova revolúcia vo “veľkom svete” BI. Okrem iného sľubujú, že vo finálnej verzii bude plná podpora všetkých dátových zdrojov rovnako ako v Power BI. Neskutočné. Zdá sa, že naše modlitby boli konečne vyslyšané 🙂

ppivot_novinky_ssas_2017_03

Podpora hierarchií s vynechanými členmi (ragged hierarchies)

Ak ste v tabulárnych modeloch pracovali s hierarchiami typu parent-child, tak ste pravdepodobne museli hackovať správanie SSAS zapnutím nedokumentovaných funkcií (ktoré tam už ale boli skryté od SSAS 2012 a ich zapínanie sa učí na Jedi Master kurze), aby ste pri rozbalení hierarchií na najnižšie úrovne skryli položky, pre ktoré nie sú žiadne údaje, resp. položky zo skrátených vetiev hierarchie. Po 5 rokoch sa Microsoft konečne osmelil, a túto možnosť dal už oficiálne do Data Tools. Každá hierarchia má teraz po novom vlastnosť “Hide Members“, ktorá sa dá nastaviť na “Default” (tak to fungovalo doteraz), alebo “Hide blank members” (toto skrýva položky z nekompletných vetiev hierarchie).

ppivot_novinky_ssas_2017_04

Podpora nastavenia rozkliku na detailné dáta

Ak ste v prechádzajúcich verziách PowerPivotu a tabulárnych modelov potrebovali spraviť rozklik na detailné dáta, tak ste jednoducho mali smolu, lebo rozklik v kontingenčke proste zobrazil všetky stĺpce z podkladovej tabuľky, odkiaľ pochádzalo príslušné merítko. Bez možnosti nastavenia, ako to poznajú kolegovia z klasických OLAP kociek. Odteraz sa to dá konečne nastaviť, a to dokonca osobitne pre každé merítko (!!!). Nastavuje sa to vo vlastnostiach merítka, cez vlastnosť “Detail rows expression“, pomocou DAX výrazu. Bravo Microsoft, vyzerá to, že program vývoju tabulárnych modelov konečne riadi niekto z praxe.

ppivot_novinky_ssas_2017_05

Takisto je možnosť nastaviť predvolený DAXový výraz pre rozklik na úrovni tabuľky, pre merítka ktoré nemajú zadefinovaný hore uvedený rozklikávací DAXový výraz. Nájdete to vo vlastnostiach tabuľky:

ppivot_novinky_ssas_2017_06

Zabezpečenie na úrovni tabuliek a stĺpcov

Ku zabezpečeniu na úrovni riadkov pribudlo aj zabezpečenie na úrovni tabuliek a stĺpcov. Najmä preto, aby sa nedalo cez metadáta zistiť, či daná tabuľka existuje alebo nie, aj keď z nej užívateľ nevidí žiadne riadky. A aj preto, aby sa dali skryť stĺpce, ktoré daná skupina užívateľov nemá vidieť. Momentálne sa to dá nastaviť iba programátorsky cez JSON, TMSL alebo TOM. Viac info v tomto článku.

Nové funkcie v DAXe

V DAXe pribudla nová funkcia DETAILROWS, ktorá funguje podobne ako funkcia DRILLTHROUGH v jazyku MDX.

A okrem iného pribudla podpora operátora IN, o ktorej sme už písali koncom minulého roka. Novinkou je podpora N-tíc hodnôt v operátore IN, čiže syntax v podobnom formáte, ako ju poznáte z relačných databáz:

ppivot_novinky_ssas_2017_07

Novinky v ostatných službách SQL Servera, týkajúce sa tabulárnych modelov

Podpora DAXu v Data Tools aj Report Builderi

Microsoft konečne pridal podporu DAXu do Data Tools (resp. Report Designera), a aj do Report Buildera. Takže konečne to už nemusíte obchádzať hackovaním akože cez DMX dotazy, a ručným písaním DAX dotazov v Management Studiu.

Hostovanie Power BI na vlastných serveroch

O tomto som napísal samostatný článok. Microsoft začiatkom roka totižto uvoľnil náhľad Power BI ako súčasť Reporting Services, zatiaľ len v obmedzenom móde. Umožní Vám to hostovať Power BI reporty na vlastných serveroch, bez potreby cloudu. Toto je funkcionalita, ktorú potrebovali finančné a poisťovacie spoločnosti ako soľ, pretože si nemohli dovoliť dať svoje dáta do cloudu. V tejto verzii treba ešte rátať s mnohými obmedzeniami, napr.:

  1. Reporting Services budú hostovať iba reportovaciu vrstvu Power BI
  2. Dátové zdroje sú obmedzené momentálne iba na živé pripojenie na SSAS. Do leta by sa situácia mala zlepšiť, minimálne pridaním podpory pre SQL Server a Oracle. Každopádne, hore uvedená podpora Power Query v najnovších SSAS to všetko umožní elegantne vyriešiť

Takže, vyzerá to tak, že Microsoft sa konečne pochlapil, a v relatívne krátkej dobe nám nadelil kopu užitočných noviniek. Vďaka! 🙂

Zdroje k článku:

https://docs.microsoft.com/en-us/sql/analysis-services/what-s-new-in-sql-server-analysis-services-vnext

https://blogs.msdn.microsoft.com/analysisservices/2016/12/16/introducing-a-modern-get-data-experience-for-sql-server-vnext-on-windows-ctp-1-1-for-analysis-services/

https://docs.microsoft.com/en-us/sql/reporting-services/what-s-new-in-sql-server-reporting-services-ssrs