Applies ToExcel pre Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Tabuľky dátumov v doplnku Power Pivot sú nevyhnutné na priebežné prehľadávanie a výpočet údajov. Tento článok obsahuje podrobné informácie o tabuľkách dátumov a možnostiach ich vytvárania v doplnku Power Pivot. Tento článok sa zaoberá týmito oblasťami:

  • dôležitosťou tabuľky dátumov pri prehľadávaní a výpočte údajov podľa dátumov a času,

  • pridaním tabuľky dátumov do dátového modelu pomocou doplnku Power Pivot,

  • vytvorením nových stĺpcov dátumu do tabuľky dátumov, napríklad Rok, Mesiac a Obdobie,

  • vytvorením vzťahov medzi tabuľkami dátumov a tabuľkami faktov,

  • prácou s časom.

Tento článok je určený pre používateľov, ktorí Power Pivot používajú prvýkrát. Je však dôležité, aby ste už dobre pochopili importovanie údajov, vytváranie vzťahov a vytváranie vypočítaných stĺpcov a mierok.

Tento článok nepopisuje , ako používať funkcie Time-Intelligence JAZYKA DAX vo vzorcoch mierok. Ďalšie informácie o vytváraní mierok pomocou funkcií časovej inteligencie jazyka DAX nájdete v téme Časová inteligencia v doplnku Power Pivot v Exceli.

Poznámka: V doplnku Power Pivot sú názvy „miera“ a „vypočítavané pole“ synonymné. V tomto článku používame mierku názvov. Ďalšie informácie nájdete v téme Mierky v doplnku Power Pivot.

Obsah

Informácie o tabuľkách dátumov

Takmer každá analýza údajov zahŕňa prehľadávanie a porovnávanie údajov s rôznym dátumom a časom. Môžete napríklad chcieť sčítať objemy predaja za uplynulý fiškálny štvrťrok a potom tieto celkové hodnoty porovnať s ostatnými štvrťrokmi alebo môžete chcieť vypočítať zostatok na konte na konci mesiaca. V každom z týchto prípadov pomocou dátumov zoskupujete transakcie predaja alebo zostatky v určitom časovom období a vytvárate ich súhrn.

Zostava funkcie Power View

Kontingenčná tabuľka celkového predaja podľa fiškálneho štvrťroka

Tabuľka dátumov môže obsahovať mnoho rôznych vyjadrení dátumov a času. Tabuľka dátumov napríklad často obsahuje stĺpce Fiškálny rok, Mesiac, Štvrťrok alebo Obdobie, ktoré môžete vybrať ako polia v zozname polí pri používaní rýchlych filtrov a filtrovaní údajov v kontingenčných tabuľkách alebo zostavách funkcie Power View.

Zoznam polí funkcie Power View

Zoznam polí funkcie Power View

Aby mohli stĺpce dátumu, napríklad Rok, Mesiac a Štvrťrok, obsahovať všetky dátumy v rámci príslušného rozsahu, musí tabuľka dátumov obsahovať aspoň jeden stĺpec s množinou za sebou nasledujúcich dátumov. Znamená to, že stĺpec musí obsahovať jeden riadok pre každý deň každého roka, ktorý je súčasťou tabuľky dátumov.

Ak napríklad údaje, ktoré chcete prehľadávať, obsahujú dátumy od 1. februára 2010 do 30. novembra 2012 a zostavujete kalendárny rok, budete chcieť vytvoriť tabuľku dátumov s rozsahom dátumov od 1. januára 2010 do 31. decembra 2012. Každý rok v tabuľke dátumov musí obsahovať všetky dni pre každý rok. Ak budete pravidelne obnovovať údaje novšími údajmi, možno budete chcieť spustiť koncový dátum o rok alebo dva, takže tabuľku dátumov nemusíte priebežne aktualizovať.

Tabuľka dátumov s množinou dátumov nasledujúcich za sebou

Tabuľka dátumov s dátumami nasledujúcimi za sebou

Ak zostavujete fiškálny rok, môžete vytvoriť tabuľku dátumov s množinou dátumov nasledujúcich za sebou pre každý fiškálny rok. Ak sa napríklad fiškálny rok začína 1. marca a máte údaje pre fiškálne roky 2010 až do aktuálneho dátumu (napríklad vo fr. 2013), môžete vytvoriť tabuľku dátumov, ktorá začína 1. 3. 2009 a zahŕňa aspoň každý deň každého fiškálneho roka až do posledného dátumu fiškálneho roka 2013.

Ak budete potrebovať zostavu na úrovni kalendárneho aj fiškálneho roka, nie je nutné vytvárať osobitné tabuľky dátumov. Jedna tabuľka dátumov môže obsahovať stĺpce pre kalendárny rok, fiškálny rok a dokonca kalendár s trinástimi štvortýždňovými obdobiami. Dôležité je, aby tabuľka dátumov obsahovala množinu dátumov nasledujúcich za sebou pre všetky zahrnuté roky.

Pridanie tabuľky dátumov do dátového modelu

Tabuľku dátumov možno do dátového modelu pridať viacerými spôsobmi:

  • import z relačnej databázy alebo iného zdroja údajov,

  • vytvorenie tabuľky dátumov v Exceli a jej následné skopírovanie alebo prepojenie s novou tabuľkou v doplnku Power Pivot,

  • import zo služby Microsoft Azure Marketplace.

Pozrime sa na každú z týchto možností podrobne.

Import z relačnej databázy

Ak importujete časť alebo všetky údaje zo skladu údajov alebo iného typu relačnej databázy, pravdepodobne už existuje tabuľka dátumov a vzťahy medzi ňou a ostatnými importovanými údajmi. Dátumy a formát sa budú pravdepodobne zhodovať s dátumami v údajoch faktov a dátumy budú pravdepodobne začínať v dostatočnom časovom predstihu v minulosti a budú pokračovať do ďalekej budúcnosti. Tabuľka dátumov, ktorú chcete importovať, môže byť veľmi veľká a obsahovať rozsah dátumov, ktoré už nepotrebujete zahrnúť do dátového modelu. Pomocou funkcií spresneného filtrovania Sprievodcu importom tabuľky v doplnku Power Pivot môžete vybrať iba tie dátumy a konkrétne stĺpce, ktoré skutočne potrebujete. Môže sa tak podstatne znížiť veľkosť zošita a zvýšiť výkon.

Sprievodca importom tabuľky

Dialógové okno Sprievodca importom tabuľky

Vo väčšine prípadov nebude potrebné vytvárať žiadne ďalšie stĺpce, napríklad Fiškálny rok, Týždeň, Názov mesiaca atď., pretože už budú existovať v importovanej tabuľke. V niektorých prípadoch však po importovaní tabuľky dátumov do dátového modelu bude potrebné vytvoriť ďalšie stĺpce dátumu, a to v závislosti od potrieb konkrétnej zostavy. Vďaka jazyku DAX je to však jednoduché. Ďalšie informácie o vytváraní polí tabuľky dátumov získate nižšie. Každé prostredie je odlišné. Ak si nie ste istí, či je pre vaše zdroje údajov k dispozícii súvisiaca tabuľka dátumov alebo kalendára, obráťte sa na správcu databázy.

Vytvorenie tabuľky dátumov v Exceli

K dispozícii je možnosť vytvoriť tabuľku dátumov v Exceli a následne ju skopírovať do novej tabuľky v dátovom modeli. Tento postup je skutočne veľmi jednoduchý a poskytne vám veľkú flexibilitu.

Pri vytváraní tabuľky dátumov v Exceli začnete jedným stĺpcom s rozsahom dátumov nasledujúcich za sebou. Potom môžete v excelovom hárku vytvoriť ďalšie stĺpce, napríklad Rok, Štvrťrok, Mesiac, Fiškálny rok, Obdobie atď., a to pomocou excelových vzorcov alebo (po skopírovaní tabuľky do dátového modelu) tak, že ich vytvoríte ako vypočítavané stĺpce. Vytváranie ďalších stĺpcov dátumu v doplnku Power Pivot je popísané v časti Pridanie nových stĺpcov dátumu do tabuľky dátumov nižšie v tomto článku.

Postup: Vytvorenie tabuľky dátumov v Exceli a jej skopírovanie do dátového modelu

  1. V Exceli zadajte do bunky A1 v prázdnom hárku názov hlavičky stĺpca na identifikáciu rozsahu dátumov. Zvyčajne to budeniečo ako Dátum, DátumAČas alebo FormátDátumu.

  2. Do bunky A2 zadajte počiatočný dátum. Príklad: 1/1/2010.

  3. Kliknite na rukoväť výplne a presuňte ju nadol na číslo riadka, ktoré obsahuje koncový dátum. Príklad: 31/12/2016.

    Stĺpec dátumu v Exceli

  4. Vyberte všetky riadky v stĺpci Dátum (vrátane názvu hlavičky v bunke A1).

  5. V skupine Štýly kliknite na položku Formátovať ako tabuľku a potom vyberte štýl.

  6. V dialógovom okne Formátovať ako tabuľku kliknite na tlačidlo OK.

    Stĺpec Dátum v doplnku Power Pivot

  7. Skopírujte všetky riadky vrátane hlavičky.

  8. V doplnku Power Pivot kliknite na karte Domov na položku Prilepiť.

  9. Do poľa Prilepiť ukážku > názov tabuľky zadajte názov, napríklad Dátum alebo Kalendár. Ponechajte políčko Použiť prvý riadok ako hlavičky stĺpcovzačiarknuté a potom kliknite na tlačidlo OK.

    Ukážka prilepenia

    Nová tabuľka dátumov (v tomto príklade s názvom Kalendár) v doplnku Power Pivot vyzerá takto:

    Tabuľka dátumov v doplnku Power Pivot

    Poznámka: K dispozícii je tiež možnosť vytvoriť prepojenú tabuľku pomocou príkazu Pridať do modelu údajov. Pri použití tejto možnosti sa však zošit zbytočne zväčší, pretože bude obsahovať dve verzie tabuľky dátumov – jednu v Exceli a jednu v doplnku Power Pivot..

Poznámka: Názov dátum predstavuje v doplnku Power Pivot kľúčové slovo. Ak pomenujete tabuľku vytvorenú v doplnku Power Pivot Dátum, potom bude nutné vo všetkých vzorcoch jazyka DAX odkazujúcich na ňu v argumente uviesť názov tabuľky v jednoduchých úvodzovkách. Na všetkých obrázkoch a vo všetkých vzorcoch, ktoré slúžia ako príklady v tomto článku, sa odkazuje na tabuľku dátumov vytvorenú v doplnku Power Pivot, ktorá má názov Kalendár.

Teraz máte k dispozícii tabuľku dátumov v dátovom modeli. Pomocou jazyka DAX môžete pridať nové stĺpce dátumu, napríklad Rok, Mesiac atď.

Pridanie nových stĺpcov dátumu do tabuľky dátumov

Tabuľka dátumov s jedným stĺpcom dátumu, ktorá obsahuje jeden riadok pre každý deň každého roka, je dôležitá na definovanie všetkých dátumov v rozsahu dátumov. Je tiež nevyhnutná na vytvorenie vzťahu medzi tabuľkou faktov a tabuľkou dátumov. Tento jeden stĺpec dátumu s jedným riadkom pre každý deň však nie je možné využiť pri analýze dátumov v kontingenčnej tabuľke alebo zostave funkcie Power View. Budete potrebovať tabuľku dátumov obsahujúcu stĺpce, ktoré umožňujú zobraziť súhrn údajov pre rozsah alebo skupinu dátumov. Môžete napríklad chcieť sčítať objemy predaja podľa mesiaca alebo štvrťroka alebo vytvoriť mierku, ktorá vypočíta medziročný rast. V každom z týchto prípadov musí tabuľka dátumov obsahovať stĺpce roka, mesiaca alebo štvrťroka, ktoré umožňujú zobrazenie súhrnu údajov za dané obdobie.

Ak ste importovali tabuľku dátumov z relačného zdroja údajov, môže už obsahovať rôzne typy stĺpcov dátumu, ktoré chcete. V niektorých prípadoch pravdepodobne budete chcieť niektoré z týchto stĺpcov upraviť alebo vytvoriť ďalšie stĺpce dátumu. Platí to najmä vtedy, keď vytvoríte svoju vlastnú tabuľku dátumov v Exceli a skopírujete ju do dátového modelu. Vytváranie nových stĺpcov dátumov v doplnku Power Pivot je našťastie pomocou funkcií dátumu a času v jazyku DAX pomerne jednoduché.

Tip: Ak ste ešte nepracovali s jazykom DAX, skvelým miestom, kde sa môžete začať učiť, je rýchla konfigurácia : Naučte sa základy jazyka DAX o 30 minút na Office.com.

Funkcie dátumu a času jazyka DAX

Ak ste niekedy pracovali s funkciami dátumu a času vo vzorcoch Excelu, pravdepodobne poznáte funkcie dátumu a času. Hoci sú tieto funkcie podobné zodpovedajúcim funkciám v Exceli, existuje niekoľko dôležitých rozdielov:

  • funkcie dátumu a času jazyka DAX používajú typ údajov Dátum a čas,

  • môžu použiť hodnoty zo stĺpca ako argument,

  • môžu sa použiť na vrátenie hodnôt dátumu alebo prácu s nimi.

Tieto funkcie sa často používajú pri vytváraní vlastných stĺpcov dátumu v tabuľke dátumov, a preto je dôležité sa s nimi oboznámiť. Mnohé z týchto funkcií použijeme na vytvorenie stĺpcov Rok, Štvrťrok, FiškálnyMesiac atď.

Poznámka: Funkcie dátumu a času v jazyku DAX nie sú to isté ako funkcie časovej inteligencie. Ďalšie informácie o časovej inteligencii v doplnku Power Pivot v Exceli.

Jazyk DAX zahŕňa nasledujúce funkcie dátumu a času:

Vo vzorcoch môžete použiť aj mnoho ďalších funkcií jazyka DAX. Mnohé vzorce popísané v tejto téme napríklad používajú matematické a trigonometrické funkcie , ako napríklad MOD a TRUNC, logické funkcie , ako napríklad IF, a textové funkcie , ako napríklad FORMAT . Ďalšie informácie o iných funkciách jazyka DAX nájdete v časti Ďalšie zdroje ďalej v tomto článku.

Príklady vzorcov kalendárneho roka

Nasledujúce príklady znázorňujú vzorce používané na vytvorenie ďalších stĺpcov v tabuľke dátumov s názvom Kalendár. K dispozícii už je jeden stĺpec (s názvom Dátum), ktorý obsahuje rozsah dátumov nasledujúcich za sebou od 1/1/2010 do 31/12/2016.

Rok

=YEAR([dátum])

V tomto vzorci funkcia YEAR vráti rok z hodnoty v stĺpci Dátum. Keďže je hodnota v stĺpci Dátum typom údajov datetime, funkcia YEAR ju rozpozná a vráti jej prostredníctvom rok.

Stĺpec Rok

Mesiac

=MONTH([dátum])

V tomto vzorci, podobne ako pri funkcii YEAR, môžeme jednoducho použiť funkciu MONTH na vrátenie hodnoty mesiaca zo stĺpca Dátum.

Stĺpec Mesiac

Štvrťrok

=INT(([Mesiac]+2)/3)

V tomto vzorci použijeme funkciu INT na vrátenie hodnoty dátumu ako celého čísla. Argument, ktorý zadáme pre funkciu INT, je hodnota zo stĺpca Month (Mesiac), pridajte hodnotu 2 a potom ju vydelíte číslom 3, aby sme získali štvrťrok od 1 do 4.

Stĺpec Štvrťrok

Názov mesiaca

=FORMAT([dátum],"mmmm")

V tomto vzorci na získanie názvu mesiaca použijeme funkciu FORMAT na konverziu číselnej hodnoty zo stĺpca Dátum na text. Ako prvý argument určíme stĺpec Dátum a potom formát. chceme, aby náš názov mesiaca zobrazoval všetky znaky, takže používame "mmmm". Výsledok vyzerá takto:

Stĺpec Názov mesiaca

Ak chceme, aby sa vrátil názov mesiaca skrátený na tri písmená, použijeme v argumente formátu reťazec „mmm“.

Deň v týždni

=FORMAT([dátum],"ddd")

V tomto vzorci pomocou funkcie FORMAT získame názov dňa. Keďže chceme zobraziť iba skrátený názov dňa, v argumente formátu zadáme reťazec „ddd“.

Stĺpec Deň v týždni
Vzorová kontingenčná tabuľka

Keď máte k dispozícii polia dátumov, napríklad Rok, Štvrťrok, Mesiac atď., môžete ich použiť v kontingenčnej tabuľke alebo zostave. Nasledujúci obrázok napríklad znázorňuje pole Objem predaja z tabuľky faktov Predaj v časti HODNOTY a rok a štvrťrok z tabuľky dimenzie Kalendár v RIADKOCH. Objem predaja je zhrnutý v kontexte roka a štvrťroka.

Vzorová kontingenčná tabuľka

Príklady vzorcov fiškálneho roka

Fiškálny rok

=IF([Mesiac]<= 6,[Rok],[Rok]+1)

V tomto príklade sa fiškálny rok začína 1. júla.

Neexistuje žiadna funkcia, ktorá dokáže získať fiškálny rok z hodnoty dátumu, pretože počiatočné a koncové dátumy fiškálneho roka sa často líšia od týchto dátumov kalendárneho roka. Ak chcete získať fiškálny rok, najprv použijeme funkciu IF na testovanie toho, či je hodnota pre mesiac menšia alebo rovná 6. Ak je hodnota mesiaca menšia ako alebo sa rovná 6, v druhom argumente sa určuje, že sa má vrátiť hodnota zo stĺpca Rok. V opačnom prípade sa vráti hodnota zo stĺpca Rok a pripočíta sa 1.

Stĺpec Fiškálny rok

Ďalším spôsobom, ako určiť hodnotu fiškálneho roka na konci mesiaca, je vytvoriť mierku, ktorá jednoducho určuje mesiac. Napríklad FYE:=6. Potom môžete namiesto čísla mesiaca odkazovať na názov mierky. Napríklad =IF([Mesiac]<=[FYE],[Rok],[Rok]+1). To poskytuje väčšiu flexibilitu pri odkazovaní na koncový mesiac fiškálneho roka vo viacerých rôznych vzorcoch.

Fiškálny mesiac

=IF([Mesiac]<= 6, 6+[Mesiac], [Mesiac]- 6)

V tomto vzorci určíme, že ak je hodnota [Mesiac] menšia ako alebo sa rovná 6, potom sa k číslu 6 pripočíta hodnota zo stĺpca Mesiac. V opačnom prípade sa odpočíta 6 od hodnoty zo stĺpca [Mesiac].

Stĺpec Fiškálny mesiac

Fiškálny štvrťrok

=INT(([FiškálnyMesiac]+2)/3)

Vzorec, ktorý použijeme pre stĺpec FiškálnyŠtvrťrok, je veľmi podobný vzorcu pre stĺpec Štvrťrok v kalendárnom roku. Jediným rozdielom je, že namiesto hodnoty [Mesiac] určíme [Fiškálny mesiac].

Stĺpec Fiškálny štvrťrok

Sviatky alebo špeciálne dátumy

Niekedy môžete chcieť pridať stĺpec dátumu, ktorý indikuje, že určité dátumy predstavujú sviatky alebo ide o iný špeciálny dátum. Môžete napríklad chcieť sčítať objemy predaja počas novoročného dňa pridaním poľa Sviatok ako filtra alebo rýchleho filtra do kontingenčnej tabuľky. V iných prípadoch možno budete chcieť tieto dátumy vylúčiť z iných stĺpcov dátumu alebo mierky.

Zahrnutie sviatkov alebo špeciálnych dní je skutočne jednoduché. K dispozícii je možnosť vytvoriť tabuľku v Exceli obsahujúcu dátumy, ktoré chcete zahrnúť. Potom ju môžete skopírovať alebo použiť príkaz Pridať do modelu údajov a pridať ju do dátového modelu ako prepojenú tabuľku. Vo väčšine prípadov nie je nutné vytvárať vzťah medzi tabuľkou a tabuľkou Kalendár. Všetky vzorce, ktoré na ňu odkazujú, môžu na vrátenie hodnôt použiť funkciu LOOKUPVALUE .

Nižšie je uvedený príklad tabuľky vytvorenej v Exceli. Tabuľka zahŕňa sviatky, ktoré sa majú pridať do tabuľky dátumov:

Dátum

Sviatok

1/1/2010

Nový rok

25/11/2010

Deň vďakyvzdania

25/12/2010

Prvý sviatok vianočný

1/1/2011

Nový rok

24/11/2011

Deň vďakyvzdania

25/12/2011

Prvý sviatok vianočný

1/1/2012

Nový rok

22/11/2012

Deň vďakyvzdania

25/12/2012

Prvý sviatok vianočný

1/1/2013

Nový rok

28/11/2013

Deň vďakyvzdania

25/12/2013

Prvý sviatok vianočný

27/11/2014

Deň vďakyvzdania

25/12/2014

Prvý sviatok vianočný

1/1/2014

Nový rok

27/11/2014

Deň vďakyvzdania

25/12/2014

Prvý sviatok vianočný

1/1/2015

Nový rok

26/11/2014

Deň vďakyvzdania

25/12/2015

Prvý sviatok vianočný

1/1/2016

Nový rok

24/11/2016

Deň vďakyvzdania

25/12/2016

Prvý sviatok vianočný

V tabuľke dátumov vytvoríme stĺpec s názvom Sviatok a použijeme vzorec v tomto tvare:

=LOOKUPVALUE(Sviatky[Sviatok],Sviatky[dátum],Kalendár[dátum])

Pozrime sa na tento vzorec bližšie.

Pomocou funkcie LOOKUPVALUE získame hodnoty zo stĺpca Sviatok v tabuľke Sviatky. V prvom argumente určíme stĺpec, v ktorom sa bude nachádzať naša výsledná hodnota. Určíme stĺpec Sviatok v tabuľke Sviatky, pretože chceme, aby sa vrátila táto hodnota.

=LOOKUPVALUE(Sviatky[Sviatok],Sviatky[dátum],Kalendár[dátum])

Potom určíme druhý argument – stĺpec vyhľadávania, ktorý obsahuje hľadané dátumy. Určíme stĺpec Dátum v tabuľke Sviatky tak, ako je znázornené tu:

=LOOKUPVALUE(Sviatky[Sviatok],Sviatky[dátum],Kalendár[dátum])

Nakoniec určíme stĺpec v našej tabuľke Kalendár obsahujúci dátumy, ktoré chceme vyhľadať v tabuľke Sviatok. Ide samozrejme o stĺpec Dátum v tabuľke Kalendár.

=LOOKUPVALUE(Sviatky[Sviatok],Sviatky[dátum],Kalendár[dátum])

Stĺpec Sviatok vráti názov sviatku pre každý riadok obsahujúci hodnotu dátumu, ktorá sa zhoduje s dátumom v tabuľke Sviatky.

Tabuľka Sviatok

Vlastný kalendár – trinásť štvortýždňových období

Niektoré organizácie, ako napríklad maloobchodné alebo potravinárske služby, často uvádzajú rôzne obdobia, napríklad trinásť štvortýždňových období. V kalendári s trinástimi štvortýždňovými obdobiami je každé obdobie 28 dní. každé obdobie preto obsahuje štyri pondelky, štyri utorky, štyri stredy a tak ďalej. Každé obdobie obsahuje rovnaký počet dní a sviatky zvyčajne spadajú do rovnakého obdobia každého roka. Môžete začať obdobie v ľubovoľný deň v týždni. Rovnako ako v prípade dátumov v kalendárnom alebo fiškálnom roku, môžete pomocou jazyka DAX vytvoriť ďalšie stĺpce s vlastnými dátumami.

V príkladoch uvedených nižšie sa prvé celé obdobie začína prvou nedeľou fiškálneho roka. V tomto prípade sa fiškálny rok začína 1. 7. 2010.

Týždeň

Táto hodnota nám poskytuje číslo týždňa začínajúce prvým celým týždňom vo fiškálnom roku. V tomto príklade sa prvý celý týždeň začína v nedeľu, takže prvý celý týždeň v prvom fiškálnom roku v tabuľke Kalendár sa v skutočnosti začína 4. 7. 2010 a pokračuje posledným celým týždňom v tabuľke Kalendár. Aj keď táto hodnota sama o sebe nie je až také užitočná pri analýze, je potrebné ju vypočítať na použitie vo vzorcoch s 28-dňovým obdobím.

=INT([dátum]-40356)/7)

Pozrime sa na tento vzorec bližšie.

Najskôr vytvoríme vzorec, ktorý vráti hodnoty zo stĺpca Dátum ako celé číslo. Vzorec bude vyzerať takto:

=INT([dátum])

Potom chceme vyhľadať prvú nedeľu v prvom fiškálnom roku. Vidíme, že je 4. 7. 2010.

Stĺpec Týždeň

Teraz od tejto hodnoty odpočítame 40356 (celé číslo pre 27. 6. 2010 – poslednú nedeľu predchádzajúceho fiškálneho roka), aby sme získali počet dní od prvého dňa v našej tabuľke Kalendár, a to takto:

=INT([dátum]-40356)

Potom výsledok vydelíme číslom 7 (počet dní v týždni), a to takto:

=INT(([dátum]-40356)/7)

Výsledok vyzerá takto:

Stĺpec Týždeň

Obdobie

Obdobie v tomto vlastnom kalendári obsahuje 28 dní a vždy sa bude začínať v nedeľu. Tento vzorec vráti číslo obdobia od prvej nedele prvého fiškálneho roka.

=INT(([Týždeň]+3)/4)

Pozrime sa na tento vzorec bližšie.

Najskôr vytvoríme vzorec, ktorý vráti hodnotu zo stĺpca Týždeň ako celé číslo. Vzorec bude vyzerať takto:

=INT([Týždeň])

Potom k tejto hodnote pripočítame 3, a to takto:

=INT([Týždeň]+3)

Potom výsledok vydelíme číslom 4 takto:

=INT(([Týždeň]+3)/4)

Výsledok vyzerá takto:

Stĺpec Obdobie

Obdobie fiškálneho roka

Táto hodnota vráti obdobie fiškálneho roka.

=INT(([Obdobie]+12)/13)+2008

Pozrime sa na tento vzorec bližšie.

Najskôr vytvoríme vzorec, ktorý vráti hodnotu zo stĺpca Obdobie a pripočíta 12:

= ([Obdobie]+12)

Výsledok vydelíme číslom 13, pretože fiškálny rok obsahuje 13 28-dňových období:

=(([Obdobie]+12)/13)

Pripočítame 2010, pretože ide o prvý rok v tabuľke:

=(([Obdobie]+12)/13)+2010

Nakoniec pomocou funkcie INT odstránime z výsledku všetky zlomky. Vráti sa celé číslo po vydelení číslom 13:

=INT(([Obdobie]+12)/13)+2010

Výsledok vyzerá takto:

Stĺpec Obdobie fiškálneho roka

Obdobie vo fiškálnom roku

Táto hodnota vráti číslo obdobia (1 až 13) od prvého celého obdobia (so začiatkom v nedeľu) každého fiškálneho roka.

=IF(MOD([Obdobie],13), MOD([Obdobie],13),13)

Tento vzorec je trochu zložitejší, a preto ho najskôr opíšeme v jazyku, ktorý ovládame lepšie. Tento vzorec hovorí: vydeľ hodnotu zo stĺpca [Obdobie] číslom 13, čím získaš číslo obdobia (1 až 13) v roku. Ak je toto číslo 0, potom vráť 13.

Najskôr vytvoríme vzorec, ktorý vráti zvyšok hodnoty z hodnoty Obdobie do 13. Mod ( matematické a trigonometrické funkcie) môžeme použiť takto:

=MOD([Obdobie],13)

Z väčšej časti nám to poskytne požadovaný výsledok, s výnimkou prípadov, keď je hodnota pre obdobie 0, pretože tieto dátumy nespadajú do prvého fiškálneho roka, ako napríklad v prvých piatich dňoch našej vzorovej tabuľky dátumov kalendára. Môžeme sa o to postarať pomocou funkcie IF. V prípade, že náš výsledok je 0, vrátime číslo 13 takto:

=IF(MOD([Obdobie],13),MOD([Obdobie],13),13)

Výsledok vyzerá takto:

Stĺpec Obdobie vo fiškálnom roku

Vzorová kontingenčná tabuľka

Obrázok nižšie znázorňuje kontingenčnú tabuľku s poľom ObjemPredaja z tabuľky faktov Predaj v časti HODNOTY a poľami ObdobieFiškálnehoRoka a ObdobieVoFiškálnomRoku z tabuľky dimenzie dátumov Kalendár v RIADKOCH. Objem predaja sa sčíta pre kontext podľa fiškálneho roka a 28-dňového obdobia vo fiškálnom roku.

Vzorová kontingenčná tabuľka pre fiškálny rok

Vzťahy

Po vytvorení tabuľky dátumov v dátovom modeli môžete začať prehľadávať údaje v kontingenčných tabuľkách a zostavách a získať súhrn údajov na základe stĺpcov v tabuľke dimenzie dátumov až po vytvorení vzťahu medzi tabuľkou faktov s údajmi transakcií a tabuľkou dátumov.

Keďže je nutné vytvoriť vzťah na základe dátumov, budete sa chcieť uistiť, že vytvoríte vzťah medzi stĺpcami, ktorých hodnoty majú typ údajov Dátum a čas (Dátum).

Pre každú hodnotu dátumu v tabuľke faktov musí súvisiaci stĺpec vyhľadávania v tabuľke dátumov obsahovať zodpovedajúce hodnoty. Riadok (záznam transakcie) v tabuľke faktov Predaj s hodnotou 15/8/2012 00:00 v stĺpci Formát dátumu napríklad musí mať zodpovedajúcu hodnotu v súvisiacom stĺpci Dátum v tabuľke dátumov (s názvom Kalendár). Toto je jeden z najdôležitejších dôvodov, prečo potrebujete stĺpec dátumu v tabuľke dátumov, ktorý obsahuje rozsah dátumov nasledujúcich za sebou, pričom zahŕňa každý prípustný dátum v tabuľke faktov.

Vzťahy v zobrazení diagramu

Poznámka: Zatiaľ čo stĺpce dátumu v každej tabuľke musia mať rovnaký typ údajov (Dátum), formát jednotlivých stĺpcov nie je dôležitý.

Poznámka: Ak vám doplnok Power Pivot nepovolí vytvorenie vzťahov medzi dvomi tabuľkami, v poliach dátumu pravdepodobne nie je uložený dátum a čas s rovnakou úrovňou presnosti. V závislosti od formátovania stĺpca môže byť vzhľad hodnôt rovnaký, ale môžu byť uložené inak. Získajte ďalšie informácie o práci s časom.

Poznámka: Vo vzťahoch nepoužívajte náhradné celočíselné kľúče. Pri importe údajov z relačného zdroja údajov sú stĺpce dátumu a času často vyjadrené pomocou náhradného kľúča, ktorý predstavuje stĺpec celých čísel používaný na vyjadrenie jedinečného dátumu. V doplnku Power Pivot by ste nemali vytvárať vzťahy pomocou kľúčov celočíselného dátumu/času, ale použiť stĺpce, ktoré obsahujú jedinečné hodnoty s typom údajov date. Hoci sa použitie náhradných kľúčov považuje za osvedčený postup v tradičných skladoch údajov, použitie týchto kľúčov v doplnku Power Pivot nie je potrebné a môže sťažiť zoskupenie hodnôt v kontingenčných tabuľkách podľa rôznych časových období.

Ak sa pri pokuse o vytvorenie vzťahu vyskytne chyba nezhody typov, pravdepodobne je to preto, že typ údajov stĺpca v tabuľke faktov nie je Dátum. Môže sa to stať v prípade, že doplnok Power Pivot nedokáže automaticky konvertovať iný typ údajov ako Dátum (zvyčajne typ údajov Text) na typ údajov Dátum. Stĺpec je možné použiť v tabuľke faktov, údaje však bude nutné skonvertovať pomocou vzorca jazyka DAX v novom vypočítavanom stĺpci. Prečítajte si časť Konverzia dátumov s typom údajov Text na typ údajov Dátum v dodatku.

Viaceré vzťahy

V niektorých prípadoch môže byť potrebné vytvoriť viaceré vzťahy alebo viaceré tabuľky dátumov. Ak napríklad tabuľka faktov Predaj obsahuje viaceré polia dátumu, napríklad FormátDátumu, DátumOdoslania a DátumVrátenia, všetky tieto polia môžu byť vo vzťahu k poľu Dátum v tabuľke dátumov Kalendár, ale iba jeden z týchto vzťahov môže byť aktívny. Keďže v tomto prípade FormátDátumu vyjadruje dátum transakcie, a teda najdôležitejší dátum, najužitočnejšie by bolo, keby bol aktívny tento vzťah. Vzťahy ostatných polí sú neaktívne.

Nasledujúca kontingenčná tabuľka vypočítava celkový predaj podľa fiškálneho roka a fiškálneho štvrťroka. Mierka s názvom Celkový predaj so vzorcom Celkový predaj:=SUM([ObjemPredaja]) sa umiestni do hodnôt a polia FiškálnyRok a FiškálnyŠtvrťrok z tabuľky dátumov Kalendár sa umiestnia do RIADKOV.

Kontingenčná tabuľka celkového predaja podľa fiškálneho štvrťroka Zoznam polí kontingenčnej tabuľky

Táto jednoduchá kontingenčná tabuľka funguje správne, pretože chceme získať súčet celkového predaja podľa dátumutransakcie v poli FormátDátumu. Naša mierka Celkový predaj používa dátumy v formáte DateKey a je sčítaná podľa fiškálneho roka a fiškálneho štvrťroka, pretože existuje vzťah medzi formátom DateKey v tabuľke Predaj a stĺpcom Dátum v tabuľke dátumov Kalendár.

Neaktívne vzťahy

Ale čo ak by sme chceli sčítať celkový predaj nie podľa dátumu transakcie, ale podľa dátumu odoslania? Potrebujeme vzťah medzi stĺpcom ShipDate v tabuľke Predaj a stĺpcom Dátum v tabuľke Kalendár. Ak tento vzťah nevytvoríme, naše agregácie sú vždy založené na dátume transakcie. Môžeme však mať viacero vzťahov, aj keď iba jeden môže byť aktívny, a pretože dátum transakcie je najdôležitejší, získa aktívny vzťah s tabuľkou Kalendár.

V tomto prípade má shipdate neaktívny vzťah, takže každý vzorec mierky vytvorený na agregáciu údajov na základe dátumov odoslania musí zadať neaktívny vzťah pomocou funkcie USERELATIONSHIP .

Keďže napríklad existuje neaktívny vzťah medzi stĺpcom ShipDate v tabuľke Predaj a stĺpcom Dátum v tabuľke Kalendár, môžeme vytvoriť mierku, ktorá sčíta celkový predaj podľa dátumu odoslania. Na určenie vzťahu, ktorý sa má použiť, použijeme tento vzorec:

Celkový predaj podľa dátumu odoslania:=CALCULATE(SUM(Predaj[ObjemPredaja]), USERELATIONSHIP(Predaj[DátumOdoslania], Kalendár[Dátum]))

Tento vzorec jednoducho hovorí: Vypočítaj súčet pre ObjemPredaja, ale na filtrovanie použi vzťah medzi stĺpcom DátumOdoslania v tabuľke Predaj a stĺpcom Dátum v tabuľke Kalendár.

Ak teraz vytvoríme kontingenčnú tabuľku a mierku Celkový predaj podľa dátumu odoslania do hodnôt a fiškálny rok a fiškálny štvrťrok do RIADKOV, vidíme rovnaký celkový súčet, ale všetky ostatné čiastky súčtov pre fiškálny rok a fiškálny štvrťrok sa líšia, pretože sú založené na dátume odoslania, a nie na dátume transakcie.

Kontingenčná tabuľka celkového predaja podľa dátumu odoslania Zoznam polí kontingenčnej tabuľky

Používanie neaktívnych vzťahov umožňuje použiť iba jednu tabuľku dátumov, ale vyžaduje, aby všetky mierky (napríklad Celkový predaj podľa dátumu odoslania) odkazujú na neaktívny vzťah vo vzorci. Existuje aj ďalšia alternatíva, a tou je použitie viacerých tabuliek dátumov.

Viaceré tabuľky dátumov

Ďalším spôsobom, ako možno pracovať s viacerými stĺpcami dátumu v tabuľke faktov, je vytvorenie viacerých tabuliek dátumov a následné vytvorenie osobitných aktívnych vzťahov medzi nimi. Pozrime sa znova na vzorovú tabuľku Predaj. K dispozícii máme tri stĺpce s dátumami, podľa ktorých môžeme zhrnúť údaje:

  • stĺpec FormátDátumu s dátumom predaja pre každú transakciu,

  • stĺpec DátumOdoslania s dátumom a časom odoslania predaných položiek zákazníkovi,

  • Dátum návratu s dátumom a časom prijatia jednej alebo viacerých vrátených položiek.

Pole FormátDátumu s dátumom transakcie je najdôležitejšie. Väčšina našich súhrnov bude založená na týchto dátumoch, a preto budeme určite potrebovať vzťah medzi týmto poľom a stĺpcom Dátum v tabuľke Kalendár. Ak nechceme vytvoriť neaktívne vzťahy medzi poľami ShipDate a ReturnDate a Date v tabuľke Kalendár, čo si vyžaduje špeciálne vzorce mierky, môžeme vytvoriť ďalšie tabuľky dátumov pre dátum odoslania a dátum návratu. Potom môžeme medzi nimi vytvoriť aktívne vzťahy.

Vzťahy s viacerými tabuľkami dátumov v zobrazení diagramu

V tomto príklade sme vytvorili ďalšiu tabuľku dátumov s názvom KalendárOdoslania. To samozrejme znamená aj vytvorenie ďalších stĺpcov dátumu a keďže sa tieto stĺpce dátumu nachádzajú v inej tabuľke dátumov, pomenujeme ich spôsobom, ktorý ich odlíši od rovnakých stĺpcov v tabuľke Kalendár. Vytvorili sme napríklad stĺpce s názvami RokOdoslania, MesiacOdoslania, ŠtvrťrokOdoslania atď.

Ak vytvoríme kontingenčnú tabuľku a mierku Celkový predaj v časti HODNOTY a do riadkov ShipFiscalQuarter a ShipFiscalQuarter,uvidíme rovnaké výsledky, ako sme videli pri vytváraní neaktívneho vzťahu a špeciálneho vypočítavaného poľa Celkový predaj podľa dátumu odoslania.

Kontingenčná tabuľka celkového predaja podľa dátumu odoslania s kalendárom odoslania Zoznam polí kontingenčnej tabuľky

Každý z týchto postupov vyžaduje dôkladné uváženie. Pri používaní viacerých vzťahov s jednou tabuľkou dátumov možno budete musieť vytvoriť špeciálne mierky, ktoré prejdú neaktívnymi vzťahmi pomocou funkcie USERELATIONSHIP. Vytvorenie viacerých tabuliek dátumov môže byť na druhej strane komplikované v zozname polí a keďže dátový model obsahuje viac tabuliek, bude sa vyžadovať viac pamäte. Skúste experimentovať a vyberte si najvhodnejšiu možnosť.

Vlastnosť tabuľky dátumov

Vlastnosť tabuľky dátumov nastavuje metaúdaje, ktoré sú nevyhnutné na správnu činnosť funkcií časovej inteligencie, napríklad TOTALYTD, PREVIOUSMONTH a DATESBETWEEN. Keď sa spustí výpočet pomocou niektorej z týchto funkcií, mechanizmus vzorca doplnku Power Pivot bude vedieť, z ktorého zdroja získa potrebné dátumy.

Upozornenie: Ak táto vlastnosť nie je nastavená, mierky používajúci Time-Intelligence funkcie jazyka DAX nemusia vrátiť správne výsledky.

Pri nastavovaní vlastnosti tabuľky dátumov určíte tabuľku dátumov a stĺpec dátumu, ktorý obsahuje typ údajov Dátum (Dátum a čas).

Dialógové okno Označiť ako tabuľku s dátumom

Postup: Nastavenie vlastnosti tabuľky dátumov

  1. V okne doplnku PowerPivot vyberte tabuľku Kalendár.

  2. Na karte Návrh kliknite na položku Označiť ako tabuľku s dátumom.

  3. V dialógovom okne Označiť ako tabuľku s dátumom vyberte stĺpec s jedinečnými hodnotami a typ údajov Dátum.

Práca s časom

Všetky hodnoty dátumu s typom údajov Dátum v Exceli alebo serveri SQL Server predstavujú číslo. Súčasťou tohto čísla sú číslice, ktoré označujú čas. V mnohých prípadoch je tento čas v každom riadku polnoc. Ak napríklad pole FormátDátumuAČasu v tabuľke faktov Predaj obsahuje hodnoty ako 19/10/2010 00:00:00, znamená to presnosť hodnôt na úrovni dní. Ak je súčasťou hodnôt poľa FormátDátumuAČasu čas, napríklad 19/10/2010 08:44:00, znamená to presnosť hodnôt na úrovni minút. Presnosť hodnôt tiež môže mať úroveň hodín alebo dokonca sekúnd. Úroveň presnosti časovej hodnoty bude mať značný dosah na spôsob vytvorenia tabuľky dátumov a vzťahy medzi ňou a tabuľkou faktov.

Je nutné určiť, či chcete získať súhrn údajov s presnosťou na úrovni dní alebo na úrovni času. Inak povedané, v tabuľke dátumov môžete použiť stĺpce Dopoludnie, Odpoludnie alebo Hodina ako polia dátumu a času v oblastiach riadkov, stĺpcov alebo filtrov kontingenčnej tabuľky.

Poznámka: Dni sú najmenšou jednotkou času, s ktorou môžu pracovať funkcie časovej inteligencie jazyka DAX. Ak nepotrebujete pracovať s hodnotami času, mali by ste znížiť presnosť údajov tak, aby bol najmenšou jednotkou deň.

Ak chcete získať súhrn údajov na úrovni času, tabuľka dátumov bude musieť obsahovať stĺpec dátumu, ktorého súčasťou bude čas. Znamená to, že bude musieť obsahovať stĺpec dátumu s jedným riadkom pre každú hodinu alebo dokonca každú minútu každého dňa každého roka v rozsahu dátumov. Je to preto, že na vytvorenie vzťahu medzi stĺpcom FormátDátumuAČasu v tabuľke faktov a stĺpcom dátumu v tabuľke dátumov musia existovať zhodné hodnoty. Je zrejmé, že ak zahrniete veľa rokov, môže vzniknúť veľmi veľká tabuľka dátumov.

Vo väčšine prípadov však budete chcieť získať súhrn údajov iba na úrovni dní. Inak povedané, použijete stĺpce Rok, Mesiac, Týždeň alebo Deň v týždni ako polia v oblastiach riadkov, stĺpcov alebo filtrov kontingenčnej tabuľky. V tomto prípade bude stĺpec dátumu v tabuľke dátumov musieť obsahovať iba jeden riadok pre každý deň v roku tak, ako je to opísané vyššie.

Ak stĺpec dátumu obsahuje presnosť na úrovni času, ale budete chcieť získať súhrn iba na úrovni dní, na vytvorenie vzťahu medzi tabuľkou faktov a tabuľkou dátumov pravdepodobne bude nutné upraviť tabuľku faktov tak, že vytvoríte nový stĺpec, ktorý skráti hodnoty v stĺpci dátumu na hodnotu dňa. Inak povedané, skonvertujte hodnotu v tvare 19/10/2010 08:44:00 na 19/10/2010 00:00:00. Potom môžete vytvoriť vzťah medzi týmto novým stĺpcom a stĺpcom dátumu v tabuľke dátumov, pretože hodnoty sa budú zhodovať.

Pozrime sa na príklad. Na tomto obrázku je zobrazený stĺpec FormátDátumuAČasu v tabuľke faktov Predaj. Všetky agregácie pre údaje v tejto tabuľke musia byť len na úrovni dňa, a to pomocou stĺpcov v tabuľke dátumov kalendára, ako napríklad Rok, Mesiac, Štvrťrok atď. Čas zahrnutý v hodnote nie je relevantný, iba skutočný dátum.

Stĺpec FormátDátumuAČasu

Keďže tieto údaje nepotrebujeme analyzovať na úrovni času, nepotrebujeme, aby stĺpec Dátum v tabuľke dátumov Kalendár obsahoval riadok pre každú hodinu a každú minútu každého dňa v každom roku. Stĺpec Dátum v našej tabuľke dátumov teda vyzerá nasledovne:

Stĺpec Dátum v doplnku Power Pivot

Ak chcete vytvoriť vzťah medzi stĺpcom FormátDátumuAČasu v tabuľke Predaj a stĺpcom Dátum v tabuľke Kalendár, môžeme vytvoriť nový vypočítaný stĺpec v tabuľke faktov Predaj a pomocou funkcie TRUNC skrátiť hodnotu dátumu a času v stĺpci FormátDátumuAČasu na hodnotu dátumu, ktorá zodpovedá hodnotám v stĺpci Dátum v tabuľke Kalendár. Vzorec vyzerá takto:

=TRUNC([FormátDátumuAČasu],0)

Získame tak nový stĺpec (s názvom FormátDátumu) s dátumom zo stĺpca FormátDátumuAČasu a časom 00:00:00 pre každý riadok:

Stĺpec FormátDátumu

Teraz môžeme vytvoriť vzťah medzi týmto novým stĺpcom (FormátDátumu) a stĺpcom Dátum v tabuľke Kalendár.

Rovnako môžeme vytvoriť vypočítavaný stĺpec v tabuľke Predaj, ktorý zníži presnosť času v stĺpci FormátDátumuAČasu na úroveň hodín. V tomto prípade bude funkcia TRUNC neúčinná, môžeme však použiť iné funkcie dátumu a času jazyka DAX, a tak extrahovať a znova zreťaziť novú hodnotu na presnosť na úrovni hodín. Môžeme použiť takýto vzorec:

= DATE (YEAR([FormátDátumuAČasu]), MONTH([FormátDátumuAČasu]), DAY([FormátDátumuAČasu]) ) + TIME (HOUR([FormátDátumuAČasu]), 0, 0)

Náš nový stĺpec vyzerá takto:

Stĺpec FormátDátumuAČasu

Za predpokladu, že stĺpec Dátum v tabuľke dátumov obsahuje hodnoty s presnosťou na úrovni hodín, môžeme medzi nimi vytvoriť vzťah.

Lepšie využitie dátumov

Mnohé stĺpce dátumu, ktoré vytvoríte v tabuľke dátumov, sú nevyhnutné pre iné polia, ale nie sú veľmi užitočné na analýzu. Pole FormátDátumu v tabuľke Predaj, na ktoré sme odkazovali a ktoré sme znázorňovali v celom tomto článku, je napríklad dôležité pre každú transakciu, pretože existencia tejto transakcie sa zaznamenáva v konkrétnom dátume a čase. Z hľadiska analýzy a vytvárania zostáv však nie je veľmi dôležité, pretože ho nemôžeme použiť ako riadok, stĺpec či pole filtra v kontingenčnej tabuľke alebo zostave.

Stĺpec Dátum v tabuľke Kalendár v našom príklade je rovnako užitočný (či dokonca nevyhnutný), ale nemožno ho použiť ako dimenziu v kontingenčnej tabuľke.

Ak chcete, aby boli tabuľky a stĺpce v nich čo najužitočnejšie a aby bola navigácia v zoznamoch polí kontingenčných tabuliek alebo zostáv funkcie Power View jednoduchšia, je dôležité skryť zbytočné stĺpce v klientskych nástrojoch. Pravdepodobne budete chcieť skryť aj určité tabuľky. Tabuľka Sviatky znázornená vyššie obsahuje dátumy sviatkov dôležité pre určité stĺpce v tabuľke Kalendár, samotné stĺpce Dátum a Sviatok v tabuľke Sviatky však nemôžete použiť ako polia v kontingenčnej tabuľke. Ak chcete zjednodušiť navigáciu v zoznamoch polí, opäť môžete skryť celú tabuľku Sviatky.

Ďalšou dôležitou súčasťou práce s dátumami sú zásady pomenovania. Tabuľky a stĺpce v doplnku Power Pivot môžete pomenovať ľubovoľne. Nezabúdajte však (najmä ak budete zošit zdieľať s inými používateľmi), že vhodná zásada pomenovania zjednodušuje identifikáciu tabuliek a dátumov, a to nielen v zoznamoch polí, ale aj v doplnku Power Pivot a vo vzorcoch jazyka DAX.

Po vytvorení tabuľky dátumov v dátovom modeli môžete začať vytvárať mierky, ktoré vám pomôžu naplno využívať údaje. Niektoré môžu jednoducho sčítavať objemy predaja za aktuálny rok, zatiaľ čo iné môžu byť zložitejšie a môže sa vyžadovať použitie filtra na určitý rozsah jedinečných dátumov. Ďalšie informácie nájdete v časti Mierky v doplnku Power Pivot a vo funkciách časovej inteligencie.

Dodatok

Konverzia dátumov s typom údajov Text na typ údajov Dátum

V niektorých prípadoch môže tabuľka faktov s údajmi transakcií obsahovať dátumy s typom údajov Text. Znamená to, že dátum, ktorý sa zobrazuje ako 2012-12-04T11:47:09, v skutočnosti nepredstavuje dátum alebo minimálne typ dátumu, ktorý Power Pivot dokáže rozpoznať. Skutočne ide iba o text, ktorý má tvar dátumu. Na vytvorenie vzťahu medzi stĺpcom dátumu v tabuľke faktov a stĺpcom dátumu v tabuľke dátumov musí byť typ údajov v obidvoch stĺpcoch Dátum.

Pri pokuse o zmenu typu údajov v stĺpci dátumov s typom údajov Text na typ údajov Dátum dokáže Power Pivot zvyčajne dátumy interpretovať a vykonať konverziu na skutočný typ údajov Dátum automaticky. Ak Power Pivot nedokáže skonvertovať typ údajov, zobrazí sa chyba nezhody typov.

Dátumy však môžete skonvertovať na skutočný typ údajov Dátum. Môžete vytvoriť nový vypočítaný stĺpec a použiť vzorec DAX na analýzu roka, mesiaca, dňa, času atď. z textových reťazcov a potom ho znova zreťaziť tak, aby ho Power Pivot čítal ako skutočný dátum.

V tomto príklade sme importovali tabuľku faktov s názvom Predaj do doplnku Power Pivot. Obsahuje stĺpec s názvom DátumAČas. Hodnoty sa zobrazujú takto:

Stĺpec DátumAČas v tabuľke faktov.

Ak sa pozrieme na typ údajov v skupine Formátovanie na karte Domov doplnku Power Pivot, zistíme, že typ údajov je Text.

Typ údajov na páse s nástrojmi

Nemôžeme vytvoriť vzťah medzi stĺpcom DátumAČas a stĺpcom Dátum v tabuľke dátumov, pretože typy údajov sa nezhodujú. Ak sa pokúsime zmeniť typ údajov na Dátum, zobrazí sa chyba nezhody typov:

Chyba nezhody

V tomto prípade Power Pivot nedokázal skonvertovať typ údajov z textu na dátum. Tento stĺpec môžeme použiť, ak ho však chceme skonvertovať na typ údajov skutočného dátumu, je nutné vytvoriť nový stĺpec, ktorý analyzuje text a premení ho na hodnotu, ktorú Power Pivot dokáže interpretovať ako typ údajov Dátum.

Nezabudnite, že v časti Práca s časom vyššie v tomto článku sa uvádza, že ak nie je nevyhnutná analýza s presnosťou na úrovni času počas dňa, dátumy v tabuľke faktov by ste mali skonvertovať s presnosťou na úrovni dní. Preto chceme, aby bola presnosť hodnôt v našom novom stĺpci na úrovni dní (s vylúčením času). K dispozícii máme možnosť skonvertovať hodnoty v stĺpci DátumAČas na typ údajov Dátum aj odstrániť presnosť na úrovni času pomocou nasledujúceho vzorca:

=DATE(LEFT([DátumAČas],4), MID([DátumAČas],6,2), MID([DátumAČas],9,2))

Získame tak nový stĺpec (v tomto prípade s názvom Dátum). Power Pivot dokonca zistí, že hodnoty predstavujú dátumy a automaticky nastaví typ údajov na hodnotu Dátum.

Stĺpec Dátum v tabuľke faktov

Ak chceme zachovať presnosť na úrovni času, jednoducho rozšírime vzorec tak, aby sa zahrnuli hodiny, minúty a sekundy.

=DATE(LEFT([DátumAČas],4), MID([DátumAČas],6,2), MID([DátumAČas],9,2)) +

TIME(MID([DátumAČas],12,2), MID([DátumAČas],15,2), MID([DátumAČas],18,2))

Teraz máme k dispozícii stĺpec Dátum s typom údajov Dátum, a tak môžeme vytvoriť vzťah medzi ním a stĺpcom dátumu v dátume.

Ďalšie zdroje informácií

Dátumy v doplnku Power Pivot

Výpočty v doplnku Power Pivot

QuickStart: Oboznámenie sa so základmi jazyka DAX za 30 minút

Referenčné informácie k výrazom analýzy údajov

DAX Resource Center

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.