Oracle Business Intelligence

blog związany z Business Intelligence, używanie, wdrażanie, doświadczenia

OBI EE Zmienne repozytorium reprezentujące czas c.d.

Posted by Marek Gregor on Styczeń 5th, 2010

W poprzednim wpisie (czyli tutaj) opisałem zmienne jakie stosuję w naszym systemie BI celem ułatwienia życia sobie i użytkownikom. Teraz może króciutki wpis jak zrobić zestaw takich zmiennych.
Wystarczy krótki SQL zapiąć do bloku inicjalizującego.
SQL wygląda tak (dla DB ORACLE):

SELECT
TRUNC (ADD_MONTHS (CURRENT_DATE, -12)) data12mago,
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), ‘YYYY-MM’)||’01′,’YYYY-MM-DD’) first12mago ,
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -12))) LAST12mago,
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), ‘YYYY-MM’) RM12mago,
TRUNC (ADD_MONTHS (CURRENT_DATE, -6)) data6mago,
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -6)), ‘YYYY-MM’)||’01′,’YYYY-MM-DD’) first6mago ,
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -6))) LAST6mago,
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -6)), ‘YYYY-MM’) RM6mago,
TRUNC (ADD_MONTHS (CURRENT_DATE, -3)) data3mago,
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -3)), ‘YYYY-MM’)||’01′,’YYYY-MM-DD’) first3mago ,
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -3))) LAST3mago,
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -3)), ‘YYYY-MM’) RM3mago,
TRUNC (ADD_MONTHS (CURRENT_DATE, -2)) data2mago,
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), ‘YYYY-MM’)||’01′,’YYYY-MM-DD’) first2mago ,
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -2))) LAST2mago,
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -2)), ‘YYYY-MM’) RM2mago,
TRUNC (ADD_MONTHS (CURRENT_DATE, -1)) data1mago,
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), ‘YYYY-MM’)||’01′,’YYYY-MM-DD’) first1mago ,
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -1))) LAST1mago,
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -1)), ‘YYYY-MM’) RM1mago,
TRUNC (ADD_MONTHS (CURRENT_DATE, -0)) data0mago,
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -0)), ‘YYYY-MM’)||’01′,’YYYY-MM-DD’) first0mago ,
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -0))) LAST0mago,
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -0)), ‘YYYY-MM’) RM0mago,
TO_DATE(TO_CHAR(CURRENT_DATE,’YYYY’)||’-01-01′,’YYYY-MM-DD’) FirstOfYear,
TRUNC (CURRENT_DATE-1) data1dago
FROM DUAL

Jak widać ten SQL zwraca jeden wiersz z preparowanymi na podstawie dzisiejszej daty różnymi wariacjami dat.

Teraz wystarczy tylko poszczególnym kolumnom zwróconym przez blok inicjalizacyjny podpiąć odpowiednie nazwy zmiennych jak we wpisie poprzednim (oczywiście można użyć dowolnej nazwy :) )
z21

Nie zapomnijmy ustaiwić odświeżania tego bloku przynajmniej 1 raz dziennie

z22

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>