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:
Okomentovat