Definizione dei membri calcolati
I membri calcolati sono membri di una dimensione o di un gruppo di misure definiti in base a una combinazione di dati del cubo, di operatori aritmetici, di numeri e di funzioni. È possibile ad esempio creare un membro calcolato che calcoli la somma di due misure fisiche del cubo. Le definizioni dei membri calcolati vengono archiviate nei cubi, ma i loro valori vengono calcolati in fase di query.
Per creare un membro calcolato, utilizzare il comando Nuovo membro calcolato nella scheda Calcoli di Progettazione cubi. È possibile creare un membro calcolato all'interno di qualsiasi dimensione, inclusa la dimensione di tipo misure. È inoltre possibile inserire un membro calcolato in una cartella di visualizzazione nella finestra di dialogo Proprietà calcolo. Per ulteriori informazioni, vedere Calcoli, Calcoli nei modelli multidimensionali e Creare membri calcolati.
Nelle procedure descritte in questo argomento vengono definite misure calcolate per consentire agli utenti di visualizzare i rapporti tra la percentuale di margine di profitto lordo e le vendite per le vendite Internet, le vendite rivenditore e tutte le vendite.
Definizione di calcoli per aggregare le misure fisiche
Aprire Progettazione cubi per il cubo di Analysis Services Tutorial, quindi fare clic sulla scheda Calcoli.
Si noti il comando predefinito CALCULATE nel riquadro Espressioni di calcolo e nel riquadro Libreria script. Tale comando specifica che le misure del cubo devono essere aggregate in base al valore specificato dalle corrispondenti proprietà AggregateFunction. I valori di misura vengono generalmente sommati, ma possono essere contati o aggregati in altro modo.
Nella figura seguente viene illustrata la scheda Calcoli di Progettazione cubi.
Fare clic su Nuovo membro calcolato nella barra degli strumenti della scheda Calcoli.
Verrà visualizzato un nuovo form nel riquadro Espressioni di calcolo, all'interno del quale è possibile definire le proprietà del nuovo membro calcolato. Il nuovo membro verrà visualizzato anche nel riquadro Libreria script.
Nella figura seguente viene illustrato il form visualizzato nel riquadro Espressioni di calcolo quando si fa clic su Nuovo membro calcolato.
Nella casella Nome cambiare il nome della misura calcolata in [Total Sales Amount].
Se il nome di un membro calcolato contiene uno spazio, tale nome deve essere racchiuso tra parentesi quadre.
Si noti che, nell'elenco Gerarchia padre, per impostazione predefinita viene creato un nuovo membro calcolato nella dimensione Measures. Un membro calcolato nella dimensione Measures viene spesso definito misura calcolata.
Nella scheda Metadati del riquadro Strumenti di calcolo della scheda Calcoli, espandere Measures e quindi espandere Vendite Internet per visualizzare i metadati per il gruppo di misure Vendite Internet.
Gli elementi di metadati possono essere trascinati dal riquadro Strumenti di calcolo alla casella Espressione ed è quindi possibile aggiungere operatori e altri elementi per creare espressioni MDX (Multidimensional Expressions). In alternativa è possibile digitare l'espressione MDX direttamente nella casella Espressione.
[!NOTA]
Se non è possibile visualizzare i metadati nel riquadro Strumenti di calcolo, fare clic su Riconnetti nella barra degli strumenti. Se questo sistema non funziona, può essere necessario elaborare il cubo o avviare l'istanza di Analysis Services.
Trascinare Internet Sales-Sales Amount dalla scheda Metadati nel riquadro Strumenti di calcolo alla casella Espressioni di calcolo nel riquadro Espressione.
Nella casella Espressione digitare un segno più (+) dopo [Measures].[Internet Sales-Sales Amount].
Nella scheda Metadati del riquadro Strumenti di calcolo, espandere Vendite rivenditore e quindi trascinare Reseller Sales-Sales Amount nella casella Espressione del riquadro Espressioni di calcolo dopo il segno più (+).
Nell'elenco Stringa formato selezionare "Valuta".
Nell'elenco Gestione NON EMPTY selezionare le caselle di controllo corrispondenti a Internet Sales-Sales Amount e Reseller Sales-Sales Amount e quindi fare clic su OK.
Le misure specificate nell'elenco Gestione NON EMPTY vengono utilizzate per risolvere query NON EMPTY in MDX. Quando si specifica una o più misure nell'elenco Gestione NON EMPTY, Analysis Services tratta i membri calcolati come EMPTY se tutte le misure specificate sono EMPTY. Se la proprietà Gestione NON EMPTY è vuota, Analysis Services deve valutare il membro calcolato stesso per determinare se è EMPTY.
Nella figura seguente viene illustrato il riquadro Espressioni di calcolo popolato con le impostazione specificate nei passaggi precedenti.
Nella barra degli strumenti della scheda Calcoli fare clic su Visualizzazione Script e quindi controllare lo script di calcolo nel riquadro Espressioni di calcolo.
Si noti che il nuovo calcolo viene aggiunto all'espressione CALCULATE iniziale e che ogni singolo calcolo è separato da punto e virgola. Si noti inoltre che viene visualizzato un commento all'inizio dello script di calcolo. È consigliabile aggiungere commenti nello script di calcolo per i gruppi di calcoli per consentire agli sviluppatori di comprendere script di calcolo complessi.
Aggiungere una nuova riga nello script di calcolo dopo il comando Calculate; e prima dello script di calcolo appena aggiunto, quindi aggiungere il testo seguente allo script su una riga a se stante:
/* Calculations to aggregate Internet Sales and Reseller Sales measures */
Nella figura seguente vengono illustrati gli script di calcolo che dovrebbero essere visualizzati nel riquadro Espressioni di calcolo a questo punto dell'esercitazione.
Nella barra degli strumenti della scheda Calcoli fare clic su Visualizzazione Form, verificare che sia selezionato [Total Sales Amount] nel riquadro Libreria script e quindi fare clic su Nuovo membro calcolato.
Cambiare il nome del nuovo membro calcolato in [Total Product Cost] e quindi creare l'espressione seguente nella casella Espressione:
[Measures].[Internet Sales-Total Product Cost] + [Measures].[Reseller Sales-Total Product Cost]
Nell'elenco Stringa formato selezionare "Valuta".
Nell'elenco Gestione NON EMPTY selezionare le caselle di controllo corrispondenti a Internet Sales-Total Product Cost e Reseller Sales-Total Product Cost e quindi fare clic su OK.
Sono stati definiti ora due membri calcolati, entrambi visibili nel riquadro Libreria script. Tali membri calcolati possono essere utilizzati da altri calcoli definiti successivamente nello script di calcolo. È possibile visualizzare la definizione di qualsiasi membro calcolato selezionandolo nel riquadro Libreria script. La definizione del membro calcolato verrà visualizzata nel riquadro Espressioni di calcolo nella visualizzazione Form. I membri calcolati di nuova definizione non verranno visualizzati nel riquadro Strumenti di calcolo finché tali oggetti non sono stati distribuiti. Non è necessaria alcuna elaborazione per i calcoli.
Definizione dei calcoli del margine di profitto lordo
Verificare che l'opzione [Total Product Cost] sia selezionata nella Libreria script, quindi fare clic su Nuovo membro calcolato nella barra degli strumenti della scheda Calcoli.
Nella casella Nome cambiare il nome della nuova misura calcolata in [Internet GPM].
Nella casella Espressione creare l'espressione MDX seguente:
([Measures].[Internet Sales-Sales Amount] - [Measures].[Internet Sales-Total Product Cost]) / [Measures].[Internet Sales-Sales Amount]
Nell'elenco Stringa formato selezionare "Percentuale".
Nell'elenco Gestione NON EMPTY selezionare la casella di controllo corrispondente a Internet Sales-Sales Amount e quindi fare clic su OK.
Fare clic su Nuovo membro calcolato nella barra degli strumenti della scheda Calcoli.
Nella casella Nome cambiare il nome della nuova misura calcolata in [Reseller GPM].
Nella casella Espressione creare l'espressione MDX seguente:
([Measures].[Reseller Sales-Sales Amount] - [Measures].[Reseller Sales-Total Product Cost]) / [Measures].[Reseller Sales-Sales Amount]
Nell'elenco Stringa formato selezionare "Percentuale".
Nell'elenco Gestione NON EMPTY selezionare la casella di controllo corrispondente a Reseller Sales-Sales Amount e quindi fare clic su OK.
Fare clic su Nuovo membro calcolato nella barra degli strumenti della scheda Calcoli.
Nella casella Nome cambiare il nome della nuova misura calcolata in [Total GPM].
Nella casella Espressione creare l'espressione MDX seguente:
([Measures].[Total Sales Amount] - [Measures].[Total Product Cost]) / [Measures].[Total Sales Amount]
Si noti che il membro calcolato fa riferimento ad altri membri calcolati. Poiché tale membro verrà calcolato dopo i membri calcolati a cui fa riferimento, si tratta di un membro calcolato valido.
Nell'elenco Stringa formato selezionare "Percentuale".
Nell'elenco Gestione NON EMPTY selezionare le caselle di controllo corrispondenti a Internet Sales-Sales Amount e Reseller Sales-Sales Amount e quindi fare clic su OK.
Fare clic su Visualizzazione Script nella barra degli strumenti della scheda Calcoli e controllare i tre calcoli appena aggiunti allo script di calcolo.
Aggiungere una nuova riga nello script di calcolo, immediatamente precedente al calcolo [Internet GPM], e quindi aggiungere il testo seguente allo script su una riga a se stante:
/* Calculations to calculate gross profit margin */
Nella figura seguente viene illustrato il riquadro Espressioni con i tre nuovi calcoli.
Definizione della percentuale dei calcoli totali
Fare clic su Visualizzazione Form nella barra degli strumenti della scheda Calcoli.
Nel riquadro Libreria script selezionare [Total GPM] e quindi fare clic su Nuovo membro calcolato nella barra degli strumenti della scheda Calcoli.
Facendo clic sull'ultimo membro calcolato nel riquadro Libreria script prima di fare clic su Nuovo membro calcolato si garantisce che il nuovo membro calcolato venga immesso alla fine dello script. L'esecuzione degli script seguirà l'ordine visualizzato nel riquadro Libreria script.
Cambiare il nome del nuovo membro calcolato in [Internet Sales Ratio to All Products].
Digitare l'espressione seguente nella casella Espressione:
Case When IsEmpty( [Measures].[Internet Sales-Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Internet Sales-Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Internet Sales-Sales Amount] ) End
Questa espressione MDX calcola il contributo di ogni prodotto alle vendite Internet totali. L'istruzione Case combinata alla funzione IS EMPTY evita la generazione di un errore di divisione per zero quando le vendite di un prodotto corrispondono a zero.
Nell'elenco Stringa formato selezionare "Percentuale".
Nell'elenco Gestione NON EMPTY selezionare la casella di controllo corrispondente a Internet Sales-Sales Amount e quindi fare clic su OK.
Fare clic su Nuovo membro calcolato nella barra degli strumenti della scheda Calcoli.
Cambiare il nome del nuovo membro calcolato in [Reseller Sales Ratio to All Products].
Digitare l'espressione seguente nella casella Espressione:
Case When IsEmpty( [Measures].[Reseller Sales-Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Reseller Sales-Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Reseller Sales-Sales Amount] ) End
Nell'elenco Stringa formato selezionare "Percentuale".
Nell'elenco Gestione NON EMPTY selezionare la casella di controllo corrispondente a Reseller Sales-Sales Amount e quindi fare clic su OK.
Fare clic su Nuovo membro calcolato nella barra degli strumenti della scheda Calcoli.
Cambiare il nome del nuovo membro calcolato in [Total Sales Ratio to All Products].
Digitare l'espressione seguente nella casella Espressione:
Case When IsEmpty( [Measures].[Total Sales Amount] ) Then 0 Else ( [Product].[Product Categories].CurrentMember, [Measures].[Total Sales Amount]) / ( [Product].[Product Categories].[(All)].[All], [Measures].[Total Sales Amount] ) End
Nell'elenco Stringa formato selezionare "Percentuale".
Nell'elenco Gestione NON EMPTY selezionare le caselle di controllo corrispondenti a Internet Sales-Sales Amount e Reseller Sales-Sales Amount e quindi fare clic su OK.
Fare clic su Visualizzazione Script nella barra degli strumenti della scheda Calcoli e quindi controllare i tre calcoli appena aggiunti allo script di calcolo.
Aggiungere una nuova riga nello script di calcolo, immediatamente precedente al calcolo [Internet Sales Ratio to All Products], e quindi aggiungere il testo seguente allo script su una riga a se stante:
/* Calculations to calculate percentage of product to total product sales */
È stato ora definito un totale di otto membri calcolati, visibili nel riquadro Libreria script della visualizzazione Form.
Esplorazione dei nuovi membri calcolati
Scegliere Distribuisci Analysis Services Tutorial dal menu Compila di SQL Server Data Tools (SSDT).
Quando la distribuzione ha avuto esito positivo, passare alla scheda Esplorazione, quindi fare clic su Riconnetti.
Fare clic sull'icona Excel, quindi fare clic su Abilita.
Nel riquadro dell'elenco di campi della tabella pivot espandere la cartella Valori per visualizzare i nuovi membri calcolati nella dimensione Measures.
Trascinare Total Sales Amount nell'area Valori, quindi controllare i risultati.
Trascinare le misure Internet Sales-Sales Amount e Reseller Sales-Sales Amount dai gruppi di misure Internet Sales e Reseller Sales nell'area Valori.
Si noti che la misura Total Sales Amount è la somma della misura Internet Sales-Sales Amount e della misura Reseller Sales-Sales Amount.
Aggiungere la gerarchia definita dall'utente Product Categories all'area filtro dell'area Filtro report, quindi filtrare i dati in base a Mountain Bikes.
Si noti che la misura Total Sales Amount viene calcolata per la categoria Mountain Bikes delle vendite di prodotti in base alle misure Internet Sales-Sales Amount e Reseller Sales-Sales Amount per Mountain Bikes.
Aggiungere la gerarchia definita dall'utente Date.Calendar Date all'area Etichette di riga, quindi controllare i risultati.
Si noti che la misura Total Sales Amount per ogni anno di calendario viene calcolata per la categoria Mountain Bikes delle vendite di prodotti in base alle misure Internet Sales-Sales Amount e Reseller Sales-Sales Amount per Mountain Bikes.
Aggiungere le misure Total GPM, Internet GPM e Reseller GPM all'area Valori, quindi controllare i risultati.
Si noti che il margine di profitto lordo per le vendite rivenditore è notevolmente inferiore rispetto alle vendite Internet, come illustrato nella figura seguente.
Aggiungere le misure Total Sales Ratio to All Products, Internet Sales Ratio to All Products e Reseller Sales Ratio to All Products all'area Valori.
Si noti che il rapporto tra le vendite delle mountain bike e le vendite di tutti i prodotti è aumentato nel tempo per le vendite Internet, ma diminuisce nel tempo per le vendite rivenditore e che il rapporto tra le vendite di mountain bike e le vendite di tutti i prodotti è inferiore per le vendite rivenditore rispetto alle vendite Internet.
Cambiare il filtro da Mountain Bikes a Bikes e controllare i risultati.
Si noti che il margine di profitto lordo per tutte le bici vendute tramite rivenditori è negativo, perché le bici da turismo e da corsa vengono vendute in perdita.
Cambiare il filtro in Accessories e quindi controllare i risultati.
Si noti che la vendita di accessori aumenta nel tempo, ma che tali vendite rappresentano solo una piccola frazione delle vendite totali. Si noti inoltre che il margine di profitto lordo per le vendite di accessori è più alto rispetto a quello delle bici.
Attività successiva della lezione
Definizione dei set denominati