Dinamičko setovanje za Goal, Status, Trend za KPI na Multidimensional Analysis Services

Pošto su KPI-jevi po svojoj prirodi dosta često podložni promenama, zbog potrebe za stalnim podešavanjima koja zahteva današnje veoma dinamično poslovanje, developeri se često susreću sa neophodnošću realizacije dinamičkog setovanja promenjivih parametara KPI-jeva, u cilju izbegavanja  deployment-a svaki put kad je neophodno da se promene vrednosti parametara KPI-jeva. Obično je najpraktičnije rešenje ono koje uključuje konfiguracionu tabelu iz koje se čitaju vrednosti promenjivih parametara KPI-jeva.

Prvi korak je kreiranje tabele u kojoj će biti vrednosti promenivih koje će se koristiti za Goal, Status, Trend na KPI-jevima Multidimensional Analysis Services-ima. Na slici 1 je dat primer strukture jedne takve tabele.

KPI_1

Slika 1. Primer strukture tabele za dinamičko setovanje KPI-jeva

Primer unetih podataka je dat na slici 2.

KPI_2

Slika 2. Primer unetih podataka za dinamičko setovanje KPI-jeva

Sledeći korak je da se konfiguraciona tabela doda na konkretni Data Source View (slika 3).

KPI_3

Slika 3. Data Source View sa dodatom konfiguracionom tabelom

Zatim se na osnovu konfiguracione tabele za dinamičko setovanje KPI-jeva kreira dimenzija (slika 4).

KPI_4

Slika 4. Novokreirana dimenzija

Na konretnu kocku treba dodati novokreiranu dimenziju i postaviti Property “Visible” na False. Zatim na osnovu iste tabele treba kreirati novu grupu mera (slika 5).

KPI_5

Slika 5. Novokreirana grupa mera

Za sve mere u novokreiranoj grupi mera treba postaviti Property “Visible” na False.

Iza toga treba kreirati željeni KPI (slika 6).

KPI_6

Slika 6. Kreiranje KPI-ja

U nastavku je navedeno kako se koriste podaci iz novododate dimenzije i grupe mera da bi se dinamički setovale vrednosti za Goal, Status, Trend.

Value Expression:

[Measures].[Sales Amount Actual]

Goal Expression:

([Measures].[From],[KPIs Settings].[IDKP Is].&[1])

Status expression:

Case
When [Measures].[Sales Amount Actual] <= ([Measures].[From],[KPIs Settings].[IDKP Is].&[2])
Then -.5
When [Measures].[Sales Amount Actual] >= ([Measures].[From],[KPIs Settings].[IDKP Is].&[3]) And [Measures].[Sales Amount Actual] <= ([Measures].[To],[KPIs Settings].[IDKP Is].&[3])
Then 0
When [Measures].[Sales Amount Actual] >= ([Measures].[From],[KPIs Settings].[IDKP Is].&[4]) And [Measures].[Sales Amount Actual] <= ([Measures].[To],[KPIs Settings].[IDKP Is].&[4])
Then .5
Else 1
End

Trend expression:

Case
When [Measures].[Sales Amount Actual] > ([Dim Dates].[FullDate].PrevMember, [Measures].[Sales Amount Actual])
Then 1
When [Measures].[Sales Amount Actual] = ([Dim Dates].[FullDate].PrevMember, [Measures].[Sales Amount Actual])
Then 0
Else -1
End

gde su:

–          ([Measures].[From] i ([Measures].[To] vrednosti konkretnih mera iz novododate grupe mera,

–          [KPIs Settings].[IDKP Is].&[1] … [KPIs Settings].[IDKP Is].&[4] vrednosti konkretnih ID-jeva (primarnih ključeva) iz novododate dimenzije (vrednosti primarnih ključeva iz konfiguracione tabele).

Leave a Reply

%d bloggers like this: