<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oracle Business Intelligence</title>
	<atom:link href="http://obiee.pl/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://obiee.pl</link>
	<description>blog związany z Business Intelligence, używanie, wdrażanie, doświadczenia</description>
	<lastBuildDate>Fri, 12 Feb 2010 09:57:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OBI EE &#8211; Sortowanie raportów przez użytkownika na pulpicie</title>
		<link>http://obiee.pl/?p=250</link>
		<comments>http://obiee.pl/?p=250#comments</comments>
		<pubDate>Thu, 04 Feb 2010 09:00:21 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Answers]]></category>
		<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=250</guid>
		<description><![CDATA[Chciałbym przedstawić po krótce (a może przypomnieć) o sortowaniu raportów. Otóż jasnym jest że możemy wstępnie posortować raport jeszcze w fazie przygotowania

Stosując widok tabelki możemy zezwolić sobie/użytkownikowi (przyzwyczajonemu do łatwych przesortowań kolumn w excelach) do stosowania własnych sortowań poprzez kliknięcie w kolumnę tabeli. Wykonuje się to w opcjach widoku tabeli


Teraz mamy możliwość przesortowania raportu bezpośrednio [...]]]></description>
			<content:encoded><![CDATA[<p>Chciałbym przedstawić po krótce (a może przypomnieć) o sortowaniu raportów. Otóż jasnym jest że możemy wstępnie posortować raport jeszcze w fazie przygotowania<br />
<a href="http://obiee.pl/wp-content/uploads/2010/02/sort11.png" ><img class="alignnone size-full wp-image-251" title="sort1" src="http://obiee.pl/wp-content/uploads/2010/02/sort11.png" alt="" width="673" height="217" /></a><br />
Stosując widok tabelki możemy zezwolić sobie/użytkownikowi (przyzwyczajonemu do łatwych przesortowań kolumn w excelach) do stosowania własnych sortowań poprzez kliknięcie w kolumnę tabeli. Wykonuje się to w opcjach widoku tabeli<br />
<a href="http://obiee.pl/wp-content/uploads/2010/02/sort2.png" ><img class="alignnone size-full wp-image-251" title="sort1" src="http://obiee.pl/wp-content/uploads/2010/02/sort2.png" alt="" /></a><br />
<a href="http://obiee.pl/wp-content/uploads/2010/02/sort31.png" ><img class="alignnone size-full wp-image-253" title="sort3" src="http://obiee.pl/wp-content/uploads/2010/02/sort31.png" alt="" width="619" height="449" /></a><br />
Teraz mamy możliwość przesortowania raportu bezpośrednio na pulpicie po prostu klikając w nazwę kolumny oczywiście wielokrotne kliknięcie zmieni nam porządek sortowania a fakt posortowania odznaczy się małym trójkącikiem obok nazwy kolumny<br />
<a href="http://obiee.pl/wp-content/uploads/2010/02/sort41.png" ><img src="http://obiee.pl/wp-content/uploads/2010/02/sort41.png" alt="" title="sort4" width="794" height="479" class="alignnone size-full wp-image-254" /></a><br />
Wszystko fajnie a co jeśli chcielibyśmy osiągnąć sortowanie po kilku kolumnach naraz np:malejąco po numerze pracownika i rosnąco po numerze zamówienia -w taki sposób</p>
<p><a href="http://obiee.pl/wp-content/uploads/2010/02/sort51.png" ><img src="http://obiee.pl/wp-content/uploads/2010/02/sort51.png" alt="" title="sort5" width="791" height="567" class="alignnone size-full wp-image-255" /></a><br />
Okazuje się że jest to możliwe aczkolwiek w instrukcji zapomniano o tym wspomnieć.</p>
<p>Wystarczy użyć klawisza <strong>CTRL</strong> i po kliknięciu i przesortowaniu pierwszej kolumny &#8220;doklikiwać&#8221; z CTRLem kolejne sortowania</p>
<p>Bardzo miłe i użyteczne a tak jakby ukryte <img src='http://obiee.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=250</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OBI EE Zmienne repozytorium reprezentujące czas c.d.</title>
		<link>http://obiee.pl/?p=237</link>
		<comments>http://obiee.pl/?p=237#comments</comments>
		<pubDate>Tue, 05 Jan 2010 06:52:27 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Administracja]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=237</guid>
		<description><![CDATA[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)), &#8216;YYYY-MM&#8217;)&#124;&#124;&#8217;01&#8242;,&#8217;YYYY-MM-DD&#8217;) first12mago    ,
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, [...]]]></description>
			<content:encoded><![CDATA[<p>W poprzednim wpisie (czyli <a title="tutaj" href="../?p=223">tutaj</a>) 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.<br />
Wystarczy krótki SQL zapiąć do bloku inicjalizującego.<br />
SQL wygląda tak (dla DB ORACLE):</p>
<blockquote><p>SELECT<br />
TRUNC (ADD_MONTHS (CURRENT_DATE, -12)) data12mago,<br />
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), &#8216;YYYY-MM&#8217;)||&#8217;01&#8242;,&#8217;YYYY-MM-DD&#8217;) first12mago    ,<br />
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -12))) LAST12mago,<br />
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), &#8216;YYYY-MM&#8217;) RM12mago,<br />
TRUNC (ADD_MONTHS (CURRENT_DATE, -6)) data6mago,<br />
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -6)), &#8216;YYYY-MM&#8217;)||&#8217;01&#8242;,&#8217;YYYY-MM-DD&#8217;) first6mago    ,<br />
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -6))) LAST6mago,<br />
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -6)), &#8216;YYYY-MM&#8217;) RM6mago,<br />
TRUNC (ADD_MONTHS (CURRENT_DATE, -3)) data3mago,<br />
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -3)), &#8216;YYYY-MM&#8217;)||&#8217;01&#8242;,&#8217;YYYY-MM-DD&#8217;) first3mago    ,<br />
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -3))) LAST3mago,<br />
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -3)), &#8216;YYYY-MM&#8217;) RM3mago,<br />
TRUNC (ADD_MONTHS (CURRENT_DATE, -2)) data2mago,<br />
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), &#8216;YYYY-MM&#8217;)||&#8217;01&#8242;,&#8217;YYYY-MM-DD&#8217;) first2mago    ,<br />
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -2))) LAST2mago,<br />
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -2)), &#8216;YYYY-MM&#8217;) RM2mago,<br />
TRUNC (ADD_MONTHS (CURRENT_DATE, -1)) data1mago,<br />
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -12)), &#8216;YYYY-MM&#8217;)||&#8217;01&#8242;,&#8217;YYYY-MM-DD&#8217;) first1mago    ,<br />
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -1))) LAST1mago,<br />
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -1)), &#8216;YYYY-MM&#8217;) RM1mago,<br />
TRUNC (ADD_MONTHS (CURRENT_DATE, -0)) data0mago,<br />
TO_DATE(TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -0)), &#8216;YYYY-MM&#8217;)||&#8217;01&#8242;,&#8217;YYYY-MM-DD&#8217;) first0mago    ,<br />
LAST_DAY(TRUNC (ADD_MONTHS (CURRENT_DATE, -0))) LAST0mago,<br />
TO_CHAR (TRUNC (ADD_MONTHS (CURRENT_DATE, -0)), &#8216;YYYY-MM&#8217;) RM0mago,<br />
TO_DATE(TO_CHAR(CURRENT_DATE,&#8217;YYYY&#8217;)||&#8217;-01-01&#8242;,&#8217;YYYY-MM-DD&#8217;) FirstOfYear,<br />
TRUNC (CURRENT_DATE-1) data1dago<br />
FROM   DUAL</p></blockquote>
<p>Jak widać ten SQL zwraca jeden wiersz z preparowanymi na podstawie dzisiejszej daty różnymi wariacjami dat.</p>
<p>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 <img src='http://obiee.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )<br />
<img class="alignnone size-full wp-image-243" title="z21" src="http://obiee.pl/wp-content/uploads/2010/01/z21.png" alt="z21" width="517" height="486" /></p>
<p>Nie zapomnijmy ustaiwić odświeżania tego bloku przynajmniej 1 raz dziennie</p>
<p><img class="alignnone size-full wp-image-243" title="z22" src="http://obiee.pl/wp-content/uploads/2010/01/z22.png" alt="z22" width="517" height="486" /></p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=237</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OBI EE Filtrowanie po datach użycie zmiennych repozytorium predefiniowanych</title>
		<link>http://obiee.pl/?p=223</link>
		<comments>http://obiee.pl/?p=223#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:25:37 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Administracja]]></category>
		<category><![CDATA[Answers]]></category>
		<category><![CDATA[zmienne]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=223</guid>
		<description><![CDATA[Wpis ten potraktuję jako pomoc użytkownikom w mojej firmie ale można go też potraktować jako good practice.
So, go on&#8230;.
Bardzo często filtrujemy po datach i bardzo dobrze po to są. Więc tworzymy mozolnie raport, robimy skomplikowane funkcje, przestawiamy to wszystko w tabelach przestawnych, robimy super kolorowe wykresy i&#8230; dodajemy filtr na daty tak aby pokazać wynik [...]]]></description>
			<content:encoded><![CDATA[<p>Wpis ten potraktuję jako pomoc użytkownikom w mojej firmie ale można go też potraktować jako <em>good practice.</em></p>
<p>So, go on&#8230;.</p>
<p>Bardzo często filtrujemy po datach i bardzo dobrze po to są. Więc tworzymy mozolnie raport, robimy skomplikowane funkcje, przestawiamy to wszystko w tabelach przestawnych, robimy super kolorowe wykresy i&#8230; dodajemy filtr na daty tak aby pokazać wynik za poprzedni miesiąc czyli np filtrujemy jakies pole aby zawierało się w datach 2009-11-01 do 2009-11-30. Zapisujemy ten raport na pulpicie i już mamy  gotowca którego możemy oglądać codziennie i cieszyć się dobrymi wynikami ale&#8230;. tylko przez miesiąc za miesiąc musimy wejść i przestawić datę i tak co miesiąc. Jeszcze gorzej jest gdy mamy raport filtrowany datą dzienną czyli załóżmy zawsze na wczoraj. Jakie jest rozwiązanie</p>
<p>1. Filtrować funkcją opartą na dacie (nie o tym ten topik ale pokażę) czyli np zamiast filtrować na sztywno w raporcie  Data=&#8217;2009-11-16&#8242; robimy filtr na funkcji która wygląda następująco:</p>
<blockquote><p>Data=TIMESTAMPDIFF(SQL_TSI_DAY,Current_Date,1)</p></blockquote>
<p>O funkcjach na datach zrobię osobny wpis</p>
<p>2. Użyć zmiennych przedefiniowanych przez administratora (czyli w VB Leasing przeze mnie <img src='http://obiee.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Otóż<br />
Zrobiłem na potrzeby użytkowników szereg zmiennych tzw repozytorium które zwracają różne daty ustalane na podstawie bieżącej daty.<br />
Oto lista tych zmiennych wraz z komentarzem i przykładem co zwróci taka zmienna zakładając że wykonana jest w dniu zrobienia tego wpisu tj w dniu: <strong>2009-12-16</strong></p>
<table style="border-collapse: collapse; width: 446pt;" border="0" cellspacing="0" cellpadding="0" width="594">
<col style="width: 107pt;" width="142"></col>
<col style="width: 182pt;" width="243"></col>
<col style="width: 157pt;" width="209"></col>
<tbody>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #4f81bd none repeat scroll 0% 0%; height: 14.25pt; width: 107pt; font-size: 10pt; color: white; font-weight: 700; text-decoration: none; font-family: Arial;" width="142" height="19">Nazwa zmiennej</td>
<td class="xl69" style="background: #4f81bd none repeat scroll 0% 0%; width: 182pt; font-size: 10pt; color: white; font-weight: 700; text-decoration: none; font-family: Arial;" width="243">Opis</td>
<td class="xl70" style="background: #4f81bd none repeat scroll 0% 0%; width: 157pt; font-size: 10pt; color: white; font-weight: 700; text-decoration: none; font-family: Arial;" width="209">Przykład (dla dnia 2009-12-16)</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19"></td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;"></td>
<td class="xl70" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;"></td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData1dago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">wczorajsza data</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-12-15</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19"></td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;"></td>
<td class="xl70" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;"></td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData0mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">dzisiejsza data</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-12-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData1mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">data miesiąc   temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-11-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData2mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">2 miesiące temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-10-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData3mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">3 miesiące temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-09-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData4mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">4 miesiące temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-08-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData5mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">5 miesiące temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-07-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData6mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">6 miesiące temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-06-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varData12mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">12 miesiące   temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2008-12-16</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19"></td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;"></td>
<td class="xl70" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;"></td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirstCurrent</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzien   bieżącego miesiąca</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-12-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirst1mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzień 1 miesiąc temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-11-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirst2mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzień   2 miesiąc temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-10-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirst3mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzień 3 miesiąc temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-09-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirst4mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzień   4 miesiąc temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-08-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirst5mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzień 5 miesiąc temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-07-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirst6mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzień   6 miesiąc temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-06-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varFirst12mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">pierwszy dzień 12 miesiąc temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2008-12-01</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19"></td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;"></td>
<td class="xl70" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;"></td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLastCurrent</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzien bieżącego miesiąca</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-12-31</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLast1mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień 1   miesiąc temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-11-30</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLast2mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień 2 miesiąc temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-10-31</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLast3mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień 3   miesiąc temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-09-30</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLast4mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień 4 miesiąc temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-08-31</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLast5mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień 5   miesiąc temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-07-31</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLast6mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień 6 miesiąc temu</td>
<td class="xl71" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-06-30</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLast12mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień   12 miesiąc temu</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2008-12-31</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19"></td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;"></td>
<td class="xl70" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;"></td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varRMcurrent</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">Rok miesiąć   dzisiejszej daty</td>
<td class="xl72" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-12</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varRM1mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">Rok miesiąć 1 miesiąc temu</td>
<td class="xl72" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-11</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varRM2mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">Rok miesiąć 2   miesiące temu</td>
<td class="xl72" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-10</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varRM3mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">Rok miesiąć 3 miesiące temu</td>
<td class="xl72" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-09</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varRM6mago</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">Rok miesiąć 6   miesięcy temu</td>
<td class="xl72" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-06</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varRM12mago</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">Rok miesiąć 12 miesięcy temu</td>
<td class="xl72" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2008-12</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19"></td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;"></td>
<td class="xl70" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;"></td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varRcurrent</td>
<td class="xl69" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">bieżący rok</td>
<td class="xl70" style="font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009</td>
</tr>
<tr style="height: 14.25pt;" height="19">
<td class="xl68" style="background: #dbe5f1 none repeat scroll 0% 0%; height: 14.25pt; font-size: 10pt; color: black; font-weight: 700; text-decoration: none; font-family: Arial;" height="19">varLastCurrent</td>
<td class="xl69" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium medium 0.5pt none none solid -moz-use-text-color -moz-use-text-color #95b3d7;">ostatni dzień   bieżącego roku</td>
<td class="xl71" style="background: #dbe5f1 none repeat scroll 0% 0%; font-size: 10pt; color: black; font-weight: 400; text-decoration: none; font-family: Arial; border: medium 0.5pt 0.5pt medium none solid solid none -moz-use-text-color #95b3d7 #95b3d7 -moz-use-text-color;">2009-12-31</td>
</tr>
</tbody>
</table>
<p>Tak więc użycie tak więc użycie takiej zmiennej i dynamiiczne filtrowanie danych będzie polegało na zastąpieniu statycznie wprowadzonej daty zmienną repozytorium.</p>
<p>Przykład:</p>
<p>Tworzymy raport z polem daty do filtrowania i filtrujemy</p>
<p><img class="alignnone size-full wp-image-209" title="filtrpofaktach10" src="http://obiee.pl/wp-content/uploads/2009/12/z1.png" alt="zmienne 1" /></p>
<p>Wybieramy zmienną serwera<br />
<img class="alignnone size-full wp-image-209" title="filtrpofaktach10" src="http://obiee.pl/wp-content/uploads/2009/12/z2.png" alt="zmienne 2" /></p>
<p>Wpisujemy zmienną z tabeli wyzej (na przykłądzie chce pokazac raport z dnia wczorajszego więc użyję zmiennej <strong>varData1dago</strong>)<br />
<img class="alignnone size-full wp-image-209" title="filtrpofaktach10" src="http://obiee.pl/wp-content/uploads/2009/12/z3.png" alt="zmienne 3" /></p>
<p>i cieszymy się wynikiem<br />
<img class="alignnone size-full wp-image-209" title="filtrpofaktach10" src="http://obiee.pl/wp-content/uploads/2009/12/z4.png" alt="zmienne 4" /></p>
<p>Dodano 2010-01-05</p>
<p>Dodałem jeszcze parę zmiennych do tego zestawu tj<br />
tj zestaw zwracający daty od 13 do 24 miesięcy wstecz<br />
<strong>varData13mago</strong></p>
<p><strong>varData14mago</strong></p>
<p><strong>varData15mago</strong></p>
<p><strong>varData16mago</strong></p>
<p><strong>varData17mago</strong></p>
<p><strong>varData18mago</strong></p>
<p><strong>varData19mago</strong></p>
<p><strong>varData20mago</strong></p>
<p><strong>varData20mago</strong></p>
<p><strong>varData20mago</strong></p>
<p><strong>varData20mago</strong></p>
<p><strong><br />
</strong></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=223</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prezentacja wdrożenia BI w VB Leasing Polska</title>
		<link>http://obiee.pl/?p=213</link>
		<comments>http://obiee.pl/?p=213#comments</comments>
		<pubDate>Sun, 13 Dec 2009 14:24:35 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=213</guid>
		<description><![CDATA[Dnia 9.12.2009 zaproszono nas na konferencję organizowaną przez Oracle Polska dla firm z sektora finansowego. Na konferencji tej pt: &#8221; Trzeci wymiar integracji&#8221; zaprezentowaliśmy wdrożenie jakie przeprowadziliśmy w naszej firmie. Prezentację (ponieważ była przewidziana dla ludzi z biznesu) przygotowaliśmy w formie jak było przed i jak jest teraz w wybranych działach naszej firmy. Troszkę się [...]]]></description>
			<content:encoded><![CDATA[<p>Dnia 9.12.2009 zaproszono nas na konferencję organizowaną przez Oracle Polska dla firm z sektora finansowego. Na konferencji tej pt: &#8221; Trzeci wymiar integracji&#8221; zaprezentowaliśmy wdrożenie jakie przeprowadziliśmy w naszej firmie. Prezentację (ponieważ była przewidziana dla ludzi z biznesu) przygotowaliśmy w formie jak było przed i jak jest teraz w wybranych działach naszej firmy. Troszkę się &#8220;rozpływaliśmy&#8221; na temat Oracle Business Intelligence &#8211; no ale cóż jakby ta technologia nas nie zafascynowała to dziś by tego blogu nie było. Myślę że wypadliśmy nieźle &#8211; byliśmy przerywnikiem od mocno techniczno-informatycznych wystąpień poprzedników.<br />
Konkluzja z naszej prezentacji jest taka:</p>
<ul>
<li>udało nam się bardzo szybko pokazać wyniki tj po miesiącu od rozpoczęcia wdrożenia  można już było analizować dane w rewolucyjny jak dla naszego biznesu  sposób (wcześniej dominował Excel).</li>
<li>udał nam się odejść od nieszczęśliwego Excela -użytkownik biznesowy nie szuka już wartości analizująć pojedyńcze transakcję w Excelu tj filtrując i sumując wyciągając komórkę nr H:45678 w której ma jakiś tam wynik oznaczony kolorem zielonym. Teraz użytkownik ma jak na talerzu podaną tę &#8220;zieloną&#8221; wartość wartość na której trzeba skupić uwagę  jako pierwszą i jeśli będzie chciał to używając drill-down i nawigacji kierowanej będzie mógł analizować szczegóły.</li>
<li>W końcu jest jeden spójny obraz na firmę i że użytkownik może zrobić dosłownie wszystko samemu.</li>
<li>Drastycznie wzrosła &#8220;kultura&#8221; raportowa użytkownika w naszej firmie.</li>
<li>Na raporty się nie czeka (max 3 min ) a większość tj 90% casz oczekiwania wynosi 0 -10 sek (oczywiście po &#8220;scaschowaniu&#8221;) wogóle się nie czeka.</li>
<li>No i IT ma mniej roboty <img src='http://obiee.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>Jednocześnie nasz zarząd pojechał na Leasing Forum do Wiednia gdzie spotkały się wszystkie spółki holdingu. Przedstawiono tam BI wdrożony w polskiej spółce  a w zasadzie sposób zarządzania firmą poprzez Buisniess Intelligence. Pokaz live przygotowany specjalnie na maszynie wirtualnej &#8211; najpierw myśleliśmy o roamingu iPlusa i VPN do siedziby w Posce ale cena 100kb transmisji pakietowej  w roamingu nas powaliła &#8211; ok 1 EURO ). Trochę obawialiśmy się o tę maszynę wirtualną (baza, serwer aplikacj, serwer BI) czy zarząd poradzi sobie z uruchomieniem (szczególnie w przypadku problemów z uruchomieniem VM). Na szczęście tego dnia nie dostaliśmy SMSó ani telefonów w stylu: &#8220;nie działa&#8221;. Dostaliśmy jedynie takiego: &#8220;cytat po prezentacji: &#8220;<em>Polacy przesiedli się z furmanki do Ferrari-</em> <em>gratulacje&#8221;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=213</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Raport filtrowany wstępnie po faktach</title>
		<link>http://obiee.pl/?p=199</link>
		<comments>http://obiee.pl/?p=199#comments</comments>
		<pubDate>Fri, 13 Nov 2009 21:01:09 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Answers]]></category>
		<category><![CDATA[Podstawy analizy]]></category>
		<category><![CDATA[OBI EE]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=199</guid>
		<description><![CDATA[W mojej codziennej pracy spotykam się z wieloma problemami i pytaniami dotyczącymi tworzenia raportów. Jednym z nich dość ciekawym było pytanie: Dlaczego raport nie filtruje chociaż filtr ustawiony jest dość jasno a raport jest dość prosty. Po isię raportowi okazało się że użytkownik chciał pokazać sumę sprzedaży różnych oddziałów ale tylko takich produktów gdzie sprzedaż [...]]]></description>
			<content:encoded><![CDATA[<p>W mojej codziennej pracy spotykam się z wieloma problemami i pytaniami dotyczącymi tworzenia raportów. Jednym z nich dość ciekawym było pytanie: Dlaczego raport nie filtruje chociaż filtr ustawiony jest dość jasno a raport jest dość prosty. Po isię raportowi okazało się że użytkownik chciał pokazać sumę sprzedaży różnych oddziałów ale tylko takich produktów gdzie sprzedaż była znaczna tzn powyżej jakiejś wartości. Oto odwzorowanie tego problemu na schemacie SH. Załóżmy że chcemy zrobić raport sprzedaży dla regiony Ameryka dla produktów o znacznej sprzedaży tzn takich których suma sprzedaży w tych regionach przekroczyła 100000$ (nie interesuje nas drobnica). Na początek sprawdźmy jaka jest sprzedaż całkowita dla regionu Ameryki</p>
<p><img class="alignnone size-full wp-image-202" title="filtrpofaktach3" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach3.png" alt="filtrpofaktach3" width="387" height="276" /></p>
<p>i wynik</p>
<p><img class="alignnone size-full wp-image-201" title="filtrpofaktach2" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach2.png" alt="filtrpofaktach2" width="273" height="199" /></p>
<p>Zróbmy więc raport z filtrem 100000$ :</p>
<p><img class="alignnone size-full wp-image-200" title="filtrpofaktach1" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach1.png" alt="filtrpofaktach1" width="377" height="311" /></p>
<p>Na pierwszy rzut oka wydawałoby się że  to jest to o co nam chodzi -  sprawdźmy wynik:</p>
<p><img class="alignnone size-full wp-image-201" title="filtrpofaktach2" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach2.png" alt="filtrpofaktach2" width="273" height="199" /></p>
<p>Taki sam jak poprzednio &#8211; czy filtr nie działa? Oczywiście działa lecz ponieważ filtrujemy fakt to tak naprawdę najpierw dokonywana jest grupowanie szczegółów dla regionu ameryki a potem odfiltrowywane są te regiony które mają sprzedaż poniżej 100000$ (tutaj takich nie ma więc nic nie zostało odfiltrowane).</p>
<p>Aby zrobić poprawnie raport na filtrowanych wstępnie faktach mamy dwie metody:</p>
<p>1) użyć tabel przestawnych ( dobry ale czasami  otrzemy się o  limit rekordów dla tabel przestawnych)</p>
<p>2) użyć mechanizmu podraportów</p>
<p><strong>Metoda 1</strong></p>
<p>Wyciągamy szczegół na którego poziomie miałby byc zastosowany filtr dla sumy sprzedaży ( w naszym wypadku jak powiedzieliśmy wcześniej nie chcemy produktów gdzie sprzedaż była mniejsza niż 100000$ a więc jest to Nazwa produktu)</p>
<p><img class="alignnone size-full wp-image-203" title="filtrpofaktach4" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach4.png" alt="filtrpofaktach4" width="400" height="271" /></p>
<p>jak widać na wyniku odfiltrowaliśmy sprzedaż gdzie suma była mniejsza niż 100000$</p>
<p><img class="alignnone size-full wp-image-204" title="filtrpofaktach5" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach5.png" alt="filtrpofaktach5" width="455" height="632" /></p>
<p>ok ale my chcieliśmy tylko prosty wynik w postaci sumy całości a nie szczegóły. Sprawę załatwia prosty Pivot table czyli po naszemu tabela przestawna</p>
<p><img class="alignnone size-full wp-image-205" title="filtrpofaktach6" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach6.png" alt="filtrpofaktach6" width="645" height="405" /></p>
<p>Tak więc w ten prosty sposób uzyskaliśmy to o co nam chodziło &#8211; sumę sprzedaży dla regionu Ameryki produktów których wartość sprzedaży była większa niż 1000000$</p>
<p><strong>Metoda 2</strong></p>
<p>Tworzymy prosty raport z  filtrami jak powyżej i zostawiamy tylko kolumnę nazwa produktu</p>
<p><img class="alignnone size-full wp-image-206" title="filtrpofaktach7" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach7.png" alt="filtrpofaktach7" width="391" height="349" /></p>
<p>zapisujemy go pod dowolną nazwą i przystępujemy do stworzenia raportu końcowego:</p>
<p>w którym filtrujemy nazwę produktu na podstawie wcześniej stworzonego wstępnego raportu w którym określiliśmy już kryteria filtrowania. Filtrowanie na podstawie zapisanego raportu można dokonać w okienku Filtrowania pod przyciskiem &#8220;Zaawansowane&#8221; &#8211; wybieramy raport i kolumnę której dotyczy filtrowanie</p>
<p><img class="alignnone size-full wp-image-207" title="filtrpofaktach8" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach8.png" alt="filtrpofaktach8" width="594" height="300" /></p>
<p>ostatecznie mamy</p>
<p><img class="alignnone size-full wp-image-208" title="filtrpofaktach9" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach9.png" alt="filtrpofaktach9" width="576" height="384" /></p>
<p>i poprawny wynik</p>
<p><img class="alignnone size-full wp-image-209" title="filtrpofaktach10" src="http://obiee.pl/wp-content/uploads/2009/11/filtrpofaktach10.png" alt="filtrpofaktach10" width="261" height="208" /></p>
<p>Jak widać drugą metodą osiągnęliśmy ten sam rezultat . Użycie tabel przestawnych jest w zasadzie szybsze ale spotkałem się z sytuacją że analizowane były poszczególne transakcje które były filtrowane po fakcie i po odfiltrowaniu zostało ich tak wiele iż użytkownik otrzymał komunikat o przekroczeniu limitu rekordów ustawionego dla tabel przestawnych (które są notabene miniaturowymi kostkami OLAP) i w takim przypdku pozostało użycie metody 2.</p>
<p>Jeśli często filtrujemy po jakimś fakcie na poziomie wymiaru należało by sie zastanowić czy nie przeprojektować hurtownię/ repozytorium OBI EE (a w zasadzie jednego z jej wymiarów) tak by w tabeli wymiarów dla każdego rekordu przechowywać zagregowany na odpowiednim poziomie dany fakt  po którym w łatwy sposób będzie można filtrować. W tym momencie ten sam fakt będziemy mieć w tabeli wymiarów (jako  zagregowanie) i w tabeli faktów jako policzalny/sumowalny  fakt .</p>
<p>Czuwaj</p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=199</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OBIEE Debugowanie BI Publisher</title>
		<link>http://obiee.pl/?p=190</link>
		<comments>http://obiee.pl/?p=190#comments</comments>
		<pubDate>Wed, 28 Oct 2009 20:29:08 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[BI Publisher]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=190</guid>
		<description><![CDATA[Deprymującym jest fakt iż w przypadku wystąpienia błędu przy użytkowaniu BI publishera ne mamy łatwej możliwości podejrzenia co idzie nie tak (błędne SQLe, zmienne,templatey itp) zamiast tego mamy wątpliwej jakości komunikaty typu &#8220;error&#8221; bądź &#8220;skontaktuj się z administratorem&#8221; (sprawdzałem to nic nie daje). Od razu widać że BI Publsher i BI Server pochodzą pierwotnie od [...]]]></description>
			<content:encoded><![CDATA[<p>Deprymującym jest fakt iż w przypadku wystąpienia błędu przy użytkowaniu BI publishera ne mamy łatwej możliwości podejrzenia co idzie nie tak (błędne SQLe, zmienne,templatey itp) zamiast tego mamy wątpliwej jakości komunikaty typu &#8220;error&#8221; bądź &#8220;skontaktuj się z administratorem&#8221; (sprawdzałem to nic nie daje). Od razu widać że BI Publsher i BI Server pochodzą pierwotnie od różnych producentów. W BI Server mamy przynajmniej mozliwość włączenia logowania dla userów i debugowana błędów na róznm poziomie szczegółowości.</p>
<p>Możemy jadnak właczyć debugowanie BI Publishaera w tym celu należy zlokalizować na serwerze aplikacji udostępniającym Publishera scieżkę gdzie zainstalowano  Java SE Development Kit (JDK) Dla systemu windows moze to być np:</p>
<blockquote><p>c:\Program Files\Java\jdk1.6.0_10\jre\lib\xdodebug.cfg&#8221;</p></blockquote>
<p>(jak się dowiedziałem ostatnio z metalinka OBIEE nie supportuje Javyw wersji 1.6 ale nie mówcie o tym nikomu)</p>
<p>tworzymy plik <em>xdodebug.cfg</em> w poniższej scieżce:</p>
<blockquote><p>c:\Program Files\Java\jdk1.6.0_10\jre\lib\xdodebug.cfg&#8221;</p></blockquote>
<p>Do pliku tego wpisujemy co następuje:</p>
<blockquote><p>LogLevel=STATEMENT<br />
LogDir=c:\OracleBI\xmldebug</p></blockquote>
<p>Gdzie LogDir to katalog gdzie będziemy się składować logi ( w szczególności plik xdo.log &#8211; który zawiera SQLe wysyłane do bazy). Oczywiście taki katalog musi istnieć na serwerze.<br />
Przeładowywujemy serwer aplikacji (OAS,OC4J) i powtarzamy błąd w BI Publisher by po chwili wychwycić go w logach, naprawić, poprawić i zapomnieć.</p>
<p>Znalazłem jeszcz następujący opis plików dostępnych w katalogu logowania:</p>
<blockquote><p>xdo.log : główny plik logu<br />
xdo_&#8230;xsl : XSL-FO wersja templateu RTF<br />
xdo_&#8230;xml : Dane w postaci XML uzyte w raporcie<br />
xdo_&#8230;fo : temporary file created by the FO Engine (only RTF / XSL templates)<br />
xdo_&#8230;out : output file (may not exist in case of complete failure)</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=190</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OBI EE Raporty -Selektor kolumn potężna funkcjonalność -brakujące możliwości</title>
		<link>http://obiee.pl/?p=168</link>
		<comments>http://obiee.pl/?p=168#comments</comments>
		<pubDate>Wed, 21 Oct 2009 17:12:42 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Answers]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Answe]]></category>
		<category><![CDATA[Raporty]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=168</guid>
		<description><![CDATA[Selektor kolumn &#8211; bardzo użyteczne narzędzie pozwalające wymienić dowolną kolumne na inną oszczędzając nam miejsce na pulpicie i pozwalające prezentować dowolny zestaw raportów za pomoca kilku selektorów i jednego widoku. W szczególności zestaw 3 selektorów kolumn i tabeli przestawnej pozwoli nam zbudować raport który użytkownik będzie mógł wybrać dowolną miarę w kolumnie, dowolną miarę w [...]]]></description>
			<content:encoded><![CDATA[<p>Selektor kolumn &#8211; bardzo użyteczne narzędzie pozwalające wymienić dowolną kolumne na inną oszczędzając nam miejsce na pulpicie i pozwalające prezentować dowolny zestaw raportów za pomoca kilku selektorów i jednego widoku. W szczególności zestaw 3 selektorów kolumn i tabeli przestawnej pozwoli nam zbudować raport który użytkownik będzie mógł wybrać dowolną miarę w kolumnie, dowolną miarę w wierszu i dowolny fakt na przecięciu.<br />
Zróbmy przykładowy raport (prosty pivot ze schematu obszaru Sample Sales)</p>
<p><img class="alignnone size-full wp-image-170" title="columnselector1" src="http://obiee.pl/wp-content/uploads/2009/10/columnselector1.png" alt="columnselector1" width="508" height="315" /></p>
<p>Jak widać wstawiłem dwa wymiary i kilka faktów w tym jeden jest faktem obliczanym z formułą:</p>
<p>Zróbmy z tego pivota używając do tego dostępnych na raporcie miar i jednego z faktów</p>
<p><img class="alignnone size-full wp-image-171" title="columnselector2" src="http://obiee.pl/wp-content/uploads/2009/10/columnselector2.png" alt="columnselector2" width="788" height="615" /></p>
<p>i już mamy gotowy raport pokazujący zyski każdego sklepu w poszczególnych miesiącach 2008 roku.</p>
<p>I teraz sedno sprawy</p>
<p>Dodajmy do raportu selektor kolumn &#8211; jeśli dodamy selektor do obu wymiarów i faktu będziemy mieli (a w zasadzie użytkownik końcowy będzie miał) możliwość dowolnego wyboru co ma być w kolumnie rzędzie i jaki fakt ma być na przecięciu</p>
<p><img class="alignnone size-full wp-image-173" title="columnselector3" src="http://obiee.pl/wp-content/uploads/2009/10/columnselector3.png" alt="columnselector3" width="832" height="414" /></p>
<p>Od tej chwili użytkownik na pulpicie może dowolnie wybierać dane wyświetlane w tabelce (na jednej stronie pulpitu &#8211; zamiast na kilu podstronach). Oczywiście możliwość wyboru ograniczoną tylko do kolumn zdefiniowanych w selekorze.</p>
<p>np zysk w podziale obszar na typ klienta</p>
<p><img class="alignnone size-full wp-image-174" title="columnselector4" src="http://obiee.pl/wp-content/uploads/2009/10/columnselector4.png" alt="columnselector4" width="738" height="297" /></p>
<p>lub ten sam przekrój ale inny fakt to jest Ilosc wyfakturowaną</p>
<p><img class="alignnone size-full wp-image-175" title="columnselector5" src="http://obiee.pl/wp-content/uploads/2009/10/columnselector5.png" alt="columnselector5" width="742" height="314" /></p>
<p>Jak widać do selektora kolumn możemy dodać dowolną z kolumn dostępną w repozytorium &#8211; nie musi być ona składową pierwotnego raportu możemy wybrać dowolną kolumnę z repozytorium</p>
<p>Ale&#8230;&#8230;&#8230;</p>
<p>No właśnie czy czegoś wam tu nie brakuje &#8211; a co z kolumnami które z tak mozolnie wyliczamy na raporcie ( różnymi Case&#8217;mi filtrami mnożeniami dodawaniami potęgowaniami i czym tam można sobie jeszcze wyobrazić)</p>
<p>Teoretycznie na pierwszy rzut oka nie można &#8230; a jednak od czegóż pocciwy XML dostępny poprzez zaawansowane funkcje raportu (przepraszam &#8220;moich&#8221; użytkowników &#8211; wiem że nie widzicie tej zakładki)</p>
<p>Zróbmy więc mały example i wystawmy możliwość przełączenia faktu z zysku (Revenue) na kolumnę obliczaną w raporcie którą jest Avg revenue będące ilorazem revenue przez quantity</p>
<p>Na początek wyciągnijmy sobie XMLa z zawansowanych do jakiegoś edytora najlepiej z podświetlaną składnią XML.</p>
<p>Szukamy składni odpowiedzialnej za kolumn selektor czyli:</p>
<p><img class="alignnone size-full wp-image-182" title="columnselectorxml1" src="http://obiee.pl/wp-content/uploads/2009/10/columnselectorxml1.png" alt="columnselectorxml1" width="1128" height="465" /></p>
<p>Doklejamy (lub przerabiamy dotychczasową kolumnę) nowy fakt który ma formułe obliczaną</p>
<p><img class="alignnone size-full wp-image-183" title="columnselectorxml2" src="http://obiee.pl/wp-content/uploads/2009/10/columnselectorxml2.png" alt="columnselectorxml2" width="998" height="108" /></p>
<p>wklejamy z powrotem w zakładce zaawansowane nie zapominając kliknąć guziczka ustaw XML &#8211; który zwaliduje nam XMLa</p>
<p>i oglądamy wynik</p>
<p><img class="alignnone size-full wp-image-184" title="columnselector8" src="http://obiee.pl/wp-content/uploads/2009/10/columnselector8.png" alt="columnselector8" width="197" height="135" /></p>
<p>I co widzimy &#8211; Można już wybrać fakt obliczany na podstawie wzoru i faktycznie pokaże nam się średnia wartość zysku dla wymiarów jednakże opis w wyborze faktu jest niezadawalający ( być może tu tego nie widać ale w przypadku stosowania składni CASE we wzorze obliczeniowym nazwa ta będzie zupełnie nieczytelna). Wymieńmy ją więc na dowolną nazwę. Dokonamy tego oczywiście przez dalszą edycję XMLA i dodamy składnię odpowiedzialną za nazwę wybieranej kolumny:</p>
<p>Musimy dodać do XMLa w odpowiednim miejscu następujące znaczniki:</p>
<p><img class="alignnone size-full wp-image-185" title="columnselectorxml3" src="http://obiee.pl/wp-content/uploads/2009/10/columnselectorxml3.png" alt="columnselectorxml3" width="593" height="69" /></p>
<p>i mamy to co chcieliśmy czyli mozłiwość wybrania obliczenej kolumny z dowolną nazwą w selektorze wyboru.</p>
<p>W podobny sposób możemy przeprowadzić formatowanie tak wybranej kolumn (kolorki, miejsca po przecinku itp, itd)</p>
<p>Jednakże jak zwykle uważam że w nowej wersji Colum Selector powinien być wzbogacony o wybór formatu i możliwość wprowadzenia funkcji.</p>
<p>Bezt Regardz</p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=168</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OBIEE &#8211; zawijanie wierszy (white-space: nowrap)</title>
		<link>http://obiee.pl/?p=158</link>
		<comments>http://obiee.pl/?p=158#comments</comments>
		<pubDate>Wed, 26 Aug 2009 13:39:11 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Answers]]></category>

		<guid isPermaLink="false">http://obiee.pl/index.php/2009/08/26/obiee-zawijanie-wierszy/</guid>
		<description><![CDATA[Załóżmy że chcemy przedstawić liczby  z &#8220;polskim&#8221; separatorem tysiąca czyli spacją

Jednakże wynik moze nam sie leciutko &#8220;rojechać&#8221; tzn liczba będzie zawinięta.

Dzieje się tak gdzyż taka jest natura HTMLa który traktuje spacje jako potencjalne rozdzielenie tekstu i pozwala sobie na zawijanie liczb
Aby uniknąć zawijania oczywiście możemy
a)wyłączyć pokazywanie separatora tysięcy &#8211; wrócimy do punktu wyjścia &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Załóżmy że chcemy przedstawić liczby  z &#8220;polskim&#8221; separatorem tysiąca czyli spacją</p>
<p><img class="alignnone size-full wp-image-161" title="p2" src="http://obiee.pl/wp-content/uploads/2009/08/p2.png" alt="p2" width="467" height="407" /></p>
<p>Jednakże wynik moze nam sie leciutko &#8220;rojechać&#8221; tzn liczba będzie zawinięta.</p>
<p><img class="alignnone size-full wp-image-160" title="p1" src="http://obiee.pl/wp-content/uploads/2009/08/p1.png" alt="p1" width="146" height="142" /></p>
<p>Dzieje się tak gdzyż taka jest natura HTMLa który traktuje spacje jako potencjalne rozdzielenie tekstu i pozwala sobie na zawijanie liczb</p>
<p>Aby uniknąć zawijania oczywiście możemy</p>
<p>a)wyłączyć pokazywanie separatora tysięcy &#8211; wrócimy do punktu wyjścia &#8211; liczba będzie znów nieczytelna</p>
<p><img class="alignnone size-full wp-image-162" title="p3" src="http://obiee.pl/wp-content/uploads/2009/08/p3.png" alt="p3" width="163" height="148" /></p>
<p>b) zastosować separator w postaci np kropki &#8211; jak ktoś lubi</p>
<p>c) <strong>użyś styli CSS</strong></p>
<p>w tym celu należy we właściwościach kolumny w sekcji niestandardowe style CSS wpisać poniższy tekst</p>
<blockquote><p>white-space: nowrap</p></blockquote>
<p><img class="alignnone size-full wp-image-163" title="p4" src="http://obiee.pl/wp-content/uploads/2009/08/p4.png" alt="p4" width="484" height="554" /></p>
<p>i mamy sformatowany tekst bez zawijania na spacjach</p>
<p><img class="alignnone size-full wp-image-164" title="p5" src="http://obiee.pl/wp-content/uploads/2009/08/p5.png" alt="p5" width="160" height="131" /></p>
<p>Użyteczne chociaż moim zdaniem w OBIEE powinnien byc dostepna wlasciwość rodzaju (checkbox) : nie zawijaj tekstu</p>
<p>CU</p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=158</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>OBIEE Nawigacja kierowana &#8211; jeden pulpit różne raporty</title>
		<link>http://obiee.pl/?p=140</link>
		<comments>http://obiee.pl/?p=140#comments</comments>
		<pubDate>Tue, 18 Aug 2009 12:15:41 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Answers]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=140</guid>
		<description><![CDATA[Wyobraźmy sobie taką sytuację iż mamy personel na poziomie centrali który monitoruje pracę w oddziałach oraz managerów tychże oddziałów. Celem jest stworzenie pulpitu wspólnego dla menadżerów zarówno w centrali jak i w oddziałach. Problem jest w tym ze menadżerowie w centrali chcą widzieć w pierwszej kolejności wyniki oddziałów, natomiast menedżerowie oddziałów chcą widzieć wyniki za [...]]]></description>
			<content:encoded><![CDATA[<p>Wyobraźmy sobie taką sytuację iż mamy personel na poziomie centrali który monitoruje pracę w oddziałach oraz managerów tychże oddziałów. Celem jest stworzenie pulpitu wspólnego dla menadżerów zarówno w centrali jak i w oddziałach. Problem jest w tym ze menadżerowie w centrali chcą widzieć w pierwszej kolejności wyniki oddziałów, natomiast menedżerowie oddziałów chcą widzieć wyniki za które to oni są odpowiedzialni czyli: swoich sklepów/ pracowników itp/itd<br />
W przykładach oprę się na  schemacie Sample Sales dostarczany przez Oracla</p>
<p>A więc w schemacie tym mamy wymiar sklepu &#8220;Market&#8221;</p>
<p><img class="alignnone size-full wp-image-145" title="market" src="http://obiee.pl/wp-content/uploads/2009/08/market.jpg" alt="market" width="208" height="408" /></p>
<p>Jak widać mamy tutaj Distrykty (nazwijmy je Oddziałami) oraz sklepy. Załóżmy że pracownik centrali chce obserwować wyniki na poziomie oddziałów  zaś kierownicy oddziałów chcą obserwowac wyniki swoich sklepów. Jak napisałem wyżej chcemy aby odbyło sie to na wspólnym dla wszystkich pulpicie pt: Dochody</p>
<p>W tym celu musimy (o ile juz nie mamy) przypisac poszczególnych kierowników Oddziałów do wspolnej grupy  która nazwiemy <strong>Oddzialy</strong></p>
<p>na potrzeby tego tematu założę użytkownika Oddziału 1 o nazwie: <strong>Adam.Nowak</strong></p>
<p>Dodam też tego uzytkownika grupy <strong>ODDZIALY</strong></p>
<p><img class="alignnone size-full wp-image-151" title="user-nowak" src="http://obiee.pl/wp-content/uploads/2009/08/user-nowak.jpg" alt="user-nowak" width="403" height="342" /></p>
<p>Stwórzmy dwa raporty jeden na potrzeby pracownika centrali  &#8211; nazwiemy go <em>Dochody w oddziałach</em></p>
<p><img class="alignnone size-full wp-image-143" title="dochody_w_oddzialach" src="http://obiee.pl/wp-content/uploads/2009/08/dochody_w_oddzialach.jpg" alt="dochody_w_oddzialach" width="395" height="120" /></p>
<p>Drugi na potrzeby Oddziału 1 &#8211; nazwiemy go <em>Dochody oddzału 1</em></p>
<p><em><img class="alignnone size-full wp-image-144" title="dochody_oddzialu_1" src="http://obiee.pl/wp-content/uploads/2009/08/dochody_oddzialu_1.jpg" alt="dochody_oddzialu_1" width="465" height="254" /></em></p>
<p>Dodatkowo zróbmy prosty raport który będzie zwracał wynik o ile zaloguje się ktoś z oddziału</p>
<p>W tym celu użyjemy zmiennej <strong>GROUP</strong> która wyświetla nam do jakich grup prynależy uzytkownik oraz funkcji <strong>LOCATE</strong> która jest podobna do Funkcji INSTR znanej z wielu języków (w tym SQL) i  zwraca numer znaku szukanego ciągu</p>
<p>Nasza funkcja wyglądać będzie następująco</p>
<p><code>LOCATE(VALUEOF(NQ_SESSION.GROUP),'ODDZIALY')</code></p>
<p>a cały raport tak:</p>
<p><img class="alignnone size-full wp-image-146" title="raport_warunkowy" src="http://obiee.pl/wp-content/uploads/2009/08/raport_warunkowy.jpg" alt="raport_warunkowy" width="544" height="308" /></p>
<p>Nieważna jest zawartość takiego raportu ważne że zwróci on wiersze wyłacznie gdy uzytkownik będzie należał do grupy ODDZIALY w innym pryzpadku funkcja LOCATE zwróci zero i rekordy zostaną odfiltrowane (brak wyników)</p>
<p>Raport ten posłuży nam jako raport warunkowy nawigacji sterowanej sekcji na pulpicie.</p>
<p>Stwórzmy więc pulpit o nazwie DOCHODY. Jak wspomniałem idea tego pulpitu że jest to jeden wspólny dla całej firmy pulpit do monitorowania dochodów lecz zależnie od stopnia manadżera widzi on różne raporty (bardziej szczegółowe dla manadżera oddziału , mniej szczegółowe dla manadżera w centrali.</p>
<p>Umieśćmy na tym pulpicie dwie sekcje i rozmieśćmy oba raporty: <em>Dochody w oddziałach i </em> <em>Dochody oddzału 1 &#8211; </em>każdy w osobnej sekcji.</p>
<p>Teraz każdą z sekcji oznaczamy iż ma byś sterowana poprzez funkcję <strong>Nawigacji Sterowanej</strong>. Jako raport sterujący wybieramy raport z funkcją LOCATE utworzony poprzednio i dla pierwszej sekcji oznaczamy iż sekcja ma się pokazywać gdy raport nie zwaraca żadnych wierszy</p>
<p><img src="file:///C:/DOCUME%7E1/gregor/USTAWI%7E1/Temp/moz-screenshot-3.png" alt="" /><img class="alignnone size-full wp-image-147" title="sekcja_nawigacja1" src="http://obiee.pl/wp-content/uploads/2009/08/sekcja_nawigacja1.jpg" alt="sekcja_nawigacja1" width="1153" height="411" /></p>
<p>Natomiast w drugiej sekcji  ustawmy odwrotnie czyli opcję <em>Jeśli raport zwraca wiersze</em></p>
<p>Teraz możemy przetestować pulpit. Logując się jako użytkownik nie należący do grupy ODDZIALY zobaczymy pulpit z raportem przeznaczonym dla centrali:</p>
<p><img class="alignnone size-large wp-image-149" title="pulpity_centrala" src="http://obiee.pl/wp-content/uploads/2009/08/pulpity_centrala-1024x568.jpg" alt="pulpity_centrala" width="1024" height="568" /></p>
<p>Natomiast logując się jako pracownik Oddziału Adam Nowak widzimy pulpit z raportem przygotowanym dla oddziału:</p>
<p><img class="alignnone size-full wp-image-152" title="pulpit_oddzial" src="http://obiee.pl/wp-content/uploads/2009/08/pulpit_oddzial.jpg" alt="pulpit_oddzial" width="1064" height="767" /></p>
<p>Zauważmy że raport przeznaczony dla oddziału wstępnie przefiltrowaliśmy dla oddziału 1 &#8211; oczywiście powiiniśmy zastosować dynamiczne filtrowanie w zależnośći z jakiego oddziału pochodzi uzytkownik logujący się do OBI &#8211; tak aby Manager Oddziału 1 widział dane Oddziału 1, Manager oddziału 2 &#8211; dane oddziału 2 itd. Zagadnienie to jest szczegółowo poruszone w tutorianu dostępnym na OTN ie &#8211; Ja też za parę dni sprobuję pokazać/ przypomnieć jak dla naszego stworzonego pulpitu filtrować dane dynamicznie.</p>
<p>Uff &#8211; cięzko mi idzie ale mam nadzieję że się rozkręcę</p>
<p><em><br />
</em></p>
<p><em><br />
</em></p>
<p><img src="file:///C:/DOCUME~1/gregor/USTAWI~1/Temp/moz-screenshot.png" alt="" /></p>
<p><img src="file:///C:/DOCUME%7E1/gregor/USTAWI%7E1/Temp/moz-screenshot-1.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=140</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obsługa dat w BI &#8211; funkcje, konwersje, analizy po datach nie posiadających hierarchii</title>
		<link>http://obiee.pl/?p=49</link>
		<comments>http://obiee.pl/?p=49#comments</comments>
		<pubDate>Fri, 05 Jun 2009 07:51:28 +0000</pubDate>
		<dc:creator>Marek Gregor</dc:creator>
				<category><![CDATA[Answers]]></category>
		<category><![CDATA[Podstawy analizy]]></category>

		<guid isPermaLink="false">http://obiee.pl/?p=49</guid>
		<description><![CDATA[Postanowiłem że opiszę jak stosować daty w szczególności w aplikacji Answers.
Być może temat ten nie zainteresuje zaawansowanych użytkowników dobrze obeznanych z funkcjami w BI jednak pomyślałem że blog ten może być świetną formą szkolenia dla pracowników naszej firmy używających BI do bieżącej pracy &#8211; tym bardziej że brak jest jakichkolwiek podręczników a i szkoleń firmowych [...]]]></description>
			<content:encoded><![CDATA[<p>Postanowiłem że opiszę jak stosować daty w szczególności w aplikacji Answers.<br />
Być może temat ten nie zainteresuje zaawansowanych użytkowników dobrze obeznanych z funkcjami w BI jednak pomyślałem że blog ten może być świetną formą szkolenia dla pracowników naszej firmy używających BI do bieżącej pracy &#8211; tym bardziej że brak jest jakichkolwiek podręczników a i szkoleń firmowych też nie za dużo.<br />
Postaram się więc wyjaśnić w prosty sposób i na przykładach to co jest sednem rożnych systemó BI &#8211; czyli grupowanie i agregowanie &#8220;w locie&#8221; a zrobię to na przykładzie dat.<br />
Często wynika potrzeba grupowania czegoś po częściach dat (roku, miesiącu ). Dla podstawowej daty (będącej <strong>wymiarem</strong>) takie rozbicie jest wykonane w systemie &#8211; stworzona jest też do takiej miary hierarchia (np taka: <em>Rok-&gt;Kwartał-&gt;Miesiąc-&gt;Dekada-Dzień</em> lub w skromniejszej formie: <em>Rok -&gt; Miesiąc -&gt; Dzień</em> &#8211; komplet takich atrybutów stanowi tzw: <strong>Wymiar czasu</strong> i można tworzyć raporty po dowolnym elemencie z tego wymiaru agregując fakty do poziomu np miesiąca,qwartału czy roku. W systemie występje jednak więcej niż jedna data. Np może wystąpić data sprzedaży (która będzie wymiarem czasu) ale może także wystąpić np data odbioru, data płatnośći która jest atrybutem i która występuje w systeme tylko i wyłącznie w postaci YYYY-MM-DD (np. 2009-05-20). Oczywiśćie grupowanie po częściach składowych tej daty jest w aplikacji Answers jak najbardziej możliwe. Przejdźmy jednak do przykładów<br />
Weźmy sobie dla przykładu atrybut daty jakim jest data faktury oraz ilość takich faktur (UWAGA: <em>Dane są fikcyjne </em>)<br />
<img class="alignnone size-full wp-image-54" title="daty_p1" src="http://obiee.pl/wp-content/uploads/2009/06/daty_p1.png" alt="daty_p1" width="481" height="250" /></p>
<p><span id="more-49"></span><br />
Wynik dla takiego zapytanie (ograniczonego do dwóch lat) jest mało satysfakcjonujący:<br />
<img class="alignnone size-full wp-image-62" title="2009-06-04_2218521" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_2218521.png" alt="2009-06-04_2218521" width="271" height="457" /><br />
<img class="alignnone size-full wp-image-63" title="2009-06-04_2220161" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_2220161.png" alt="2009-06-04_2220161" width="256" height="427" /><br />
A gdybyśmy chcieli sprawdzić ile było takich faktur w poszczególnym roku (2007,2008)<br />
No dobrze ale przecież nie mamy wyciągniętych przez IT pól &#8220;Rok daty faktur&#8221; ani innych jak &#8220;Miesiąc daty faktury&#8221;. Stwórzmy je sobie więc sami stosując funkcję</p>
<p>(dla przypomnienia funkcję wpisujemy stosując ten przycisk na kolumnie:)<br />
<img class="alignnone size-full wp-image-68" title="2009-06-04_funkcje1" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_funkcje1.png" alt="2009-06-04_funkcje1" width="198" height="92" /><br />
A funkcja pobierająca rok z pola daty wygląda następująco:</p>
<blockquote><p>YEAR(<em>data</em>)</p></blockquote>
<p><img class="alignnone size-full wp-image-67" title="2009-06-04_year1" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_year1.png" alt="2009-06-04_year1" width="589" height="402" /><br />
Nie zapomnijmy kliknąć w pole nagłówek niestandardowy i zmienić nazwę na krótką i treściwą (Kółka na czerwono) &#8211; gdy tego nie zrobimy to nagłowkiem kolumny będzie nieczytelna cała funkcja.<br />
Zgrupowany po roku wynik <img class="alignnone size-full wp-image-71" title="2009-06-04_wynikrok" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_wynikrok.png" alt="2009-06-04_wynikrok" width="184" height="170" /><br />
jest całkiem czytelny i co najwazniejsze miesci sie na jednej stronie &#8211; o czym fani excela nie chcą nawet słyszeć <img src='http://obiee.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Co jednak gdy chcielibyśmy pogrupować dodatkowo po miesiącach. Oczywiscie zastosujemy analogiczną funkcję tylko wyciągającą numer miesiąca z pola daty</p>
<blockquote><p>MONTH(<em>data</em>)</p></blockquote>
<p>UWAGA. nie możemy zamienić funkcji YEAR z poprzedniego przykładu na MONTH gdyż tym sposobem poagregujemy na poziomie miesięcy ale wszystkich lat razem<br />
czyli będziemy mieli w  wyniki ilość ze stycznia lat 2007 i 2008 w następnym wierszu ilośc z lutego 07 i 08 itd (no chyba żę tak chcemy). Musimy dodać dodatkową kolumnę aby pozostawić rok i rozróżnić miesiąca w obrębie roku. W tym celu</p>
<ul>
<li>klikamy na dowolną kolumnę (proponuję tę samą którą będziemy obrabiać czyli datę faktury)</li>
<li>zmieniamy funkję tę kolumny na MONTH(Przedmiot.&#8221;Data faktury&#8221;)</li>
<li>zmieniamy nagłówek kolumny tak jak poprzednio</li>
</ul>
<p><img class="alignnone size-full wp-image-73" title="2009-06-04_funkcja2" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_funkcja2.png" alt="2009-06-04_funkcja2" width="625" height="532" /></p>
<p><img class="alignnone size-full wp-image-74" title="2009-06-04_wynik2" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_wynik2.png" alt="2009-06-04_wynik2" width="257" height="487" /></p>
<p>Należy pamiętać o poprawnej (naturalnej kolejności kolumn tj Rok, miesiąć, iloś). Oczywiście można sobie dowolnie inaczej poprzestawiać kolumny wynik oczywiści będzie prawdziwy  ale sens wątpliwy:</p>
<p><img class="alignnone size-full wp-image-75" title="2009-06-04_wynik3" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_wynik3.png" alt="2009-06-04_wynik3" width="283" height="514" /></p>
<p>W prosty sposób za pomoca tabeli przestawnej możemy sobie taki widok przedstawić w inny sposób:</p>
<p><img class="alignnone size-full wp-image-77" title="2009-06-04_tab_przest" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_tab_przest.png" alt="2009-06-04_tab_przest" width="586" height="437" /></p>
<p>Prawda że łatwo szybko i przyjemnie</p>
<p>Co jeszcze możemy wyciągnąć z dat? Proponuję nacisnąć przycisk &#8220;funkcje&#8221; w polu edycji funkcji/formuły kolumny</p>
<p>znajdziemy tamm.in:</p>
<ul>
<li>funkcje zwracającą aktualną dzisiejszą datę CURRENT_DATE</li>
<li>funkcję odejmującą dwie daty (np aby zbadać ile dni minęło od jakiejś daty do dziś lub pomiędzy datami TIMESTAMP_DIFF</li>
<li>funkcję dodającą/odejmującą zadany okres (dni, miesiące, lata) do daty zwracającą kolejną datę: TIMESTAMP_ADD</li>
<li>i wiele innych</li>
</ul>
<p>O arytmetyce na datach zrobięosobny wpis.</p>
<p>Kolejną sprawą którą chcielibyśmy usprawnić w naszym raporcie jest połączenie roku i miesiąca w jedną kolumnę aby otrzymać ciągi YYYY-MM</p>
<p>wydawało by się żę można połączyć w funkcji te dwie poprzednie funkcje. Ciągi łączy się znakami &#8216;||&#8217; czyli zastosować coś o takiej składni:</p>
<blockquote><p>YEAR(Przedmiot.&#8221;Data faktury&#8221;)||&#8217;-'||MONTH(Przedmiot.&#8221;Data faktury&#8221;)</p></blockquote>
<p>niestety nie zadziała &#8211; zobaczymy na czerwono bład mówiący nam o tym: &#8220;że cyferek (jkaim są rok i miesiac) nie można łączyć w łańcuchy tekstowe znakiem &#8216;||&#8217; &#8221;<br />
należy więc przed połączeniem zamienić cyferkę roku i miesiąca na format tekstowy stosujemy tutaj funkcję CAST która konwertuje nam formaty na zadany</p>
<blockquote><p>CAST(<em>wartość</em> AS VARCHAR(n))</p></blockquote>
<p>mamy więc</p>
<blockquote><p>CAST(YEAR(Przedmiot.&#8221;Data faktury&#8221;) AS VARCHAR(4))||&#8217;-'||CAST(MONTH(Przedmiot.&#8221;Data faktury&#8221;) AS VARCHAR(2))</p></blockquote>
<p>i wynik:<br />
<img class="alignnone size-full wp-image-79" title="2009-06-04_wynik5" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_wynik5.png" alt="2009-06-04_wynik5" width="237" height="306" /><br />
Wszystko fajnie tylko coś jest nie tak &#8211; sortowanie &#8211; a to za sprawą tego że zamiast miesięcy 01,02,03 mamy cyfry 1,2,3.<br />
Jak to obejść. Jest kilka sosobów jednym z nich jest użycie funkcji</p>
<blockquote><p>CASE WHEN&#8230;.THEN&#8230;ELSE&#8230;END</p></blockquote>
<p>o czym kiedy indziej a drugim łatwiejszym w tym przypadku jest całkowicie odmienna funkcja niz stosowane do tej pory MONTH i YEAR albowiem możemy użyć funkcji &#8220;wycinającej pierwsze 7 znaków daty otrzymując w ten sposób z formatu YYYY-MM-DD format YYYY.<br />
Zastosujemy tu funkcję <strong>SUBSTRING</strong> która wycina ciąg tekstowy o zadanej długośći począwszyod zadanej pozycji z innego ciągu tekstowego (w naszym przypadku daty zamienionej na tekst)</p>
<blockquote><p>SUBSTRING(<em>text</em> FROM <em>pozycja</em> FOR <em>długość</em>)</p></blockquote>
<p>w naszym przypadku musimy pamiętać że data to nie format tekstowy i przed użyciem funkcji SUBSTRING musimy ją zamienić na tekst czyli:</p>
<blockquote><p>CAST(Przedmiot.&#8221;Data faktury&#8221; AS VARCHAR(10))</p></blockquote>
<p>to zwróci nam datę w postaci YY/MM/DD (tak jest ustawione na serwerze format daty)<br />
teraz musimy &#8220;wykroic&#8221; z tego tekstu ciąg YY/MM</p>
<blockquote><p>SUBSTRING(CAST(Przedmiot.&#8221;Data faktury&#8221; AS VARCHAR(10)) FROM 1 FOR 5)</p></blockquote>
<p><img class="alignnone size-full wp-image-80" title="2009-06-04_funkcja3" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_funkcja3.png" alt="2009-06-04_funkcja3" width="609" height="429" /><br />
i wynik:<br />
<img class="alignnone size-full wp-image-82" title="2009-06-04_wynik6" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_wynik6.png" alt="2009-06-04_wynik6" width="211" height="308" /><br />
możemy użyć jeszcze funkcji <strong>REPLACE</strong> zamieniając znak &#8216;/&#8217; na &#8216;-&#8217;</p>
<blockquote><p>REPLACE(SUBSTRING(CAST(Przedmiot.&#8221;Data faktury&#8221; AS VARCHAR(10)) FROM 1 FOR 5),&#8217;/',&#8217;-')</p></blockquote>
<p>otrzymujemy:<br />
<img class="alignnone size-full wp-image-81" title="2009-06-04_wynik7" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_wynik7.png" alt="2009-06-04_wynik7" width="164" height="284" /></p>
<p>Oraz dokleic z przodu  &#8220;20&#8243;</p>
<blockquote><p>&#8216;20&#8242;||REPLACE(SUBSTRING(CAST(Przedmiot.&#8221;Data faktury&#8221; AS VARCHAR(10)) FROM 1 FOR 5),&#8217;/',&#8217;-')</p></blockquote>
<p>by otrzymać w pełni poprawni i dobrze posortowany wynik pogrupowany dla miesięcy w latach</p>
<p><img class="alignnone size-full wp-image-83" title="2009-06-04_wynik8" src="http://obiee.pl/wp-content/uploads/2009/06/2009-06-04_wynik8.png" alt="2009-06-04_wynik8" width="165" height="302" /></p>
<p>W kolejnych wpisach spróbuję przybliżyć arytmetykę na datach i funkcę CASE WHEN&#8230; THEN&#8230; ELSE&#8230; END</p>
]]></content:encoded>
			<wfw:commentRss>http://obiee.pl/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
