Principale utente con più risposte
Dimension Attributes - Come leggere un valore di una proprieta'

Domanda
-
Buongiorno a tutti.
Uso SSAS 2014 BI EDITION.
In un cubo VENDITE ho la classica dimensione di tipo tempo denominata CALENDARIO (contiene tutte le date...)
Ho una gerarchia CALENDARIODataAAAAMMGG che mi consente di navigare tra le date e scegliere una certa data.
A livello di ETL ho creato sulla tabella da cui si basa la dimensione (TBLDate) , a fronte di ciascuna data anche campi (attributi) relativi allo stesso ANNO MESE GIORNO dello stesso tipo giorno dell'anno precedente.
Es. per il record che contiene la data 13-03-2018 ho i seguenti attributi con i seguenti valori:
Anno Data AA-1 2017
Mese Data AA-1 3
Giorno Data AA-1 14
La mia necessita' sarebbe infatti quella di selezionare una data dalla dimensione CALENDARIO dalla gerarchia AAAAMMGG e :
- Ottenere il venduto della data anno precedente stesso tipo giorno della stessa settimana
-Ottenere il venduto da inizio anno alla data anno precedente stesso tipo giorno della stessa settimana
-Ottenere il venduto da inizio mese alla data anno precedente stesso tipo giorno della stessa settimana
Pensavo di usare le PROPERTIES ma incontro delle difficolta'...
Pensavo di creare misure calcolate simile a questa per ottenere inizialmente il venduto della data anno precedente :
CREATE
MEMBER CURRENTCUBE.[Measures].[PrecedenteDataAA-1]AS
'[Calendario].[DataAAAAMMGG].[GiornoVendita].&['
+ [Calendario].[DataAAAAMMGG].currentmember.properties("Anno Data AA-1")
+ ']&['
+ [Calendario].[DataAAAAMMGG].currentmember.properties("Mese Data AA-1")
+ ']&['
+ [Calendario].[DataAAAAMMGG].currentmember.properties("Giorno Data AA-1")+ ']'
CREATE
MEMBER CURRENTCUBE.[Measures].[ImportoVenduto_PrecedenteDataAA-1]AS
( [Measures].[PrecedenteDataAA-1],[Measures].[Importo Venduto] )
Ma ottengo errori oppure valori non corretti e strani tipo 0 oppure ALL come se non leggesse bene i valori degli attributi.
Allora ho provato ad usare non le PROPERTIES direttamente dell'attributo in questo modo :
CREATE
MEMBER CURRENTCUBE.[Measures].[PrecedenteDataAA-1]AS
'[Calendario].[DataAAAAMMGG].[GiornoVendita].&['
+ [Calendario].[Anno Data AA-1].currentmember.properties("NAME")
+ ']&['
+ [Calendario].[Mese Data AA-1].currentmember.properties("NAME")
+ ']&['
+ [Calendario].[Giorno Data AA-1].currentmember.properties("NAME")+ ']'
CREATE
MEMBER CURRENTCUBE.[Measures].[ImportoVenduto_PrecedenteDataAA-1]AS
( [Measures].[PrecedenteDataAA-1],[Measures].[Importo Venduto] )
In questo caso la misura .[Measures].[PrecedenteDataAA-1] mi contiene correttamente il valore voluto ovvero
[Calendario].[DataAAAAMMGG].[GiornoVendita].&[2017]&[3]&[14]
ma poi mi da errore la misura [ImportoVenduto_PrecedenteDataAA-1] non gli piace questa sintassi :::
( [Measures].[PrecedenteDataAA-1],[Measures].[Importo Venduto] )
Sicuramente STO COMMETTENDO UNO O PIU' ERRORI...e chiedo scusa...
Qualcuno mi riesce ad aiutare ????
Grazie mille.
Risposte
-
hai già visto questi ?
https://docs.microsoft.com/en-us/sql/analysis-services/lesson-4-defining-advanced-attribute-and-dimension-properties
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
e[dot]benussi[at]outlook[dot]it- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 26 marzo 2018 14:59
Tutte le risposte
-
hai già visto questi ?
https://docs.microsoft.com/en-us/sql/analysis-services/lesson-4-defining-advanced-attribute-and-dimension-properties
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
e[dot]benussi[at]outlook[dot]it- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 26 marzo 2018 14:59
-
-
Buongiorno Edoardo ...
Ho letto i link forniti nella tua email ma non riesco ancora a risolvere il problema.
Mi basterebbe capire come scrivere questa espressione MDX ...
CREATE
MEMBER CURRENTCUBE.[Measures].[PrecedenteDataAA-1]AS
'[Calendario].[DataAAAAMMGG].[GiornoVendita].&['
+ [Calendario].[Anno Data AA-1].currentmember.properties("NAME")
+ ']&['
+ [Calendario].[Mese Data AA-1].currentmember.properties("NAME")
+ ']&['
+ [Calendario].[Giorno Data AA-1].currentmember.properties("NAME")+ ']'
CREATE
MEMBER CURRENTCUBE.[Measures].[ImportoVenduto_PrecedenteDataAA-1]AS
( [Measures].[PrecedenteDataAA-1],[Measures].[Importo Venduto] )
In questo caso la misura .[Measures].[PrecedenteDataAA-1] mi contiene correttamente il valore voluto ovvero ad esempio :
[Calendario].[DataAAAAMMGG].[GiornoVendita].&[2017]&[3]&[14]
che e' l'espressione che indetifica un membro della dimensione CALENDARIO e gerarchia DataAAAAMMGG ...
ma poi mi da errore la misura [ImportoVenduto_PrecedenteDataAA-1] non gli piace questa sintassi :::
( [Measures].[PrecedenteDataAA-1],[Measures].[Importo Venduto] )
Probabilmente devo usare la funzione STRTOMEMBER ????
Grazie comunque e buone FESTE !!!!
-
Probabilmente devo usare la funzione STRTOMEMBER ????
Grazie comunque e buone FESTE !!!!
credo che ci stiamo avvicinando...
vedi qui
https://www.iccube.com/support/documentation/mdx/StrToMember.php
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
e[dot]benussi[at]outlook[dot]it -
Buongiorno Edoardo.
Intanto grazie per la pazienza mostrata nel leggere i miei posts.
Ho letto gli esempi circa la funzione STRTOMEMBER ma ancora non sono riuscito a calcolare l'espressione MDX ...
Ho creato due misure Misura1 ed Misura2
Misura1:'[Calendario].[DataAAAAMMGG].[GiornoVendita].&['
+ [Calendario].[Anno Data AA-1].currentmember.properties("NAME")
+ ']&['
+ [Calendario].[Mese Data AA-1].currentmember.properties("NAME")
+ ']&['
+ [Calendario].[Giorno Data AA-1].currentmember.properties("NAME")
+ ']'Questa misura funziona correttamente e visualizza il membro correttamente
[Calendario].[DataAAAAMMGG].[GiornoVendita].&[2017]&[03]& [09] Misura2:
( STRTOMEMBER([Measures].[Misura1]) , [Meaures].[Importo Venduto])
Questa misura invece mi segnala in Excel errore e non calcola nulla (#VALORE!)
Mi sembra di fare tutto bene ma evidentemente no...
Grazie.
-
ti consiglio di leggere attentamente anche questi documenti
https://docs.microsoft.com/it-it/sql/mdx/mdx-data-definition-create-member
https://docs.microsoft.com/en-us/sql/mdx/expressions-mdx?view=sql-analysis-services-2017
per verificare che tu non abbia trascurato qualche particolare importante nella definizione delle tue mdx.
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
e[dot]benussi[at]outlook[dot]it