Incidenza % con cubo OLAP

martedì 09 settembre 2014 - 15.47
Tag Elenco Tags  C#  |  .NET 3.0  |  .NET 4.0  |  Windows Server 2008  |  Windows 7  |  Visual Studio Express  |  SQL Server 2008 R2  |  Access (.mdb)  |  Office 2010  |  Office 2003  |  Internet explorer 8.0

secks Profilo | Senior Member

Salve a tutti.
Ho fatto per prova un progetto Analysis Service 2005 con database SQL 2005 e dopo qualche fatica tutto OK.
Vorrei ora creare una misura/calcolo che corrisponda all'incidenza % tra il dato della singola riga ed il totale della gerarchia padre, ad esempio:

Q.tà Incidenza %
Totale 200 100.00%
prodotto 1 80 40.00%
prodotto 2 50 25.00%
prodotto 3 70 35.00%
prodotto 4 10 5.00%

La formula è data dal q.tà del singolo prodotto / totale livello superiore * 100.
Ho provato a creare un colonna calcolata ma mi manca il Totale della gerarchia, c'è modo per definirlo nella formula?

Saluti grazie.
Paolo.

renarig Profilo | Expert

Spiegaci bene il calcolo che vorresti fare.

ho provato una ricerca su OLAP in Internet ma mi sono perso .......


.

secks Profilo | Senior Member

Nel mio progetto di prova di Analysis Service 2005 (cubo OLAP) vorrei creare una misura di calcolo che mi confronta il valore della riga con il relativo totale del livello gerarchico superiore. Allego immagine.

Il mio problema è che non so come reperire il totale del livello superiore per creare la formula.


1145x907 259Kb



Grazie per l'attenzione.
Paolo.

renarig Profilo | Expert

Ma allora hai sbagliato il tuo primo esempio
La somma è 200 mentre hai scritto 210 !!

Provo a ripetere con parole mie quello che ho capito:

Hai una tabella di nome T1 fatta cosi:
-- Prod ------- Quan
--- Pe ----------- 80
--- Pd ----------- 50
--- Pa ----------- 40
--- Pb ----------- 30

Il totale dei prodotti è 200

vuoi arrivare a questo risultato
-- Prod ------- Quan ----- Perc
--- Pe ----------- 80 ------ 40
--- Pd ----------- 50 ------ 25
--- Pa ----------- 40 ------- 20
--- Pb ----------- 30 ------- 15

Fai cosi
SELECT T1.Prod, T1.Quan, (SELECT Sum(T1.Quan) FROM T1;) AS Tota, [Quan]/(SELECT Sum(T1.Quan) FROM T1;)*100 AS Perc FROM T1 ;

Poi devi tradurla nel tuo Analysis Service
( Penso che ti serve solo la sottoquery )


Facci sapere

.

secks Profilo | Senior Member

Verissimo, la somma è 210.

La cosa che mi chiedevo cmq se è possibile creare il valore % direttamente da Analysis Service, visto che i dati sono disponibili, invece che importare i valori precalcolati da SQL.
In Analysis Service è possibile creare dei campi calcolati, ma non so se sia possibile attingere dai valori totali da utilizzare in eventuali formule.


Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5