čtvrtek 26. srpna 2010

Nastavení jiného než aktuálního měsíce v dashboard promptu

Setkal jsem se s požadavkem, aby v dashboard promptu pro výběr měsíce, byly hodnoty měsíce zobrazeny sestupně od měsíce aktuálního, ale aby výchozí hodnotou promptu nebyl měsíc aktuální, nýbrž měsíc, který mu bezprostřeně předchází. Data za aktuální měsíc totiž ještě nejsou definitivní, nicméně je třeba mít přístup i k ním.

Na příklad - nyní v srpnu 2010 - má prompt nabízet měsíce 2010/08, 2010/07, ..., ale výchozí hodnotou však má být 2008/07.


Řešení je založeno na použití dvou proměnných úložiště. V repository jsem si vytvořil dva inicializační bloky aktualni_mesic a aktualni_mesic_1. Každý blok obsahuje jednu proměnnou a to mesic_aktual a mesic_aktual_1.



Použité SQL příkazy jsou:
select to_char(sysdate, ‘YYYY/MM’) from dual

respektive
select to_char (add_months(sysdate, -1), ‘YYYY/MM’) from dual


Pak už zbývá vytvořit pouze samotný prompt



V poli „Zobrazit“ zvolíme „Výsledky SQL“ a vložíme následující příkaz:
SELECT TIME."Měsíc" saw_0 FROM DWH WHERE TIME."Měsíc" <= VALUEOF("mesic_aktual") ORDER BY saw_0 DESC


V poli „Výchozí hodnota“ opět zvolíme „Výsledky SQL“ a vložíme příkaz
SELECT TIME."Měsíc" saw_0 FROM DWH WHERE TIME."Měsíc" = VALUEOF("mesic_aktual_1")

Je zřejmé, že DWH je zde názvem prezentačního katalogu.

Uvedené řešení zajistí to, že se výběr měsíce v promptu nastaví na měsíc bezprostředně předcházející měsíci aktuálnímu jako na výchozí hodnotu (tedy v našem příkladě 2010/07), ale uživateli umožňuje vybrat i měsíc aktuální (2010/08). Protože řešení využívá systémového data, výchozí hodnota se automaticky posouvá každý měsíc.


Jiří Doubravský (Pike Electronic)

Žádné komentáře: