1 Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM AVG Implementazione in Analysis Services 1. Si definisce la misura derivata CMB_Base 2. Definisco la misura di supporto Conteggio, aggregata con COUNT 3. Definisco CMB calcolata come CMB_Base/Conteggio
2 Misura Derivata: esempio dei biglietti Implementazione in Analysis Services 1. Si definisce la misura derivata CMB_Base come INCASSO/NUM_BIG. Importante: CMB_BASE deve essere definita come real (ad esempio double) in modo da fare la divisione tra reali e non tra interi: 2. Definisco la misura di supporto Conteggio, aggregata con COUNT
3 Misura Derivata: esempio dei biglietti 3. Definisco CMB calcolata come CMB_Base/Conteggio Per visualizzare anche le cifre decimali, impostare il format string come in figura In questo modo la visualizzazione del cubo risulterà essere
4 Misura Derivata: esempio dei biglietti Il risultato che si ottiene è Come facciamo a verificare che il risultato sia corretto? Si può procedere valutando il calcolo in alcuni casi, ma la verifica teorica effettiva è quella di calcolare la misura direttamente sugli eventi primari nel DM! Nellesempio, raggruppiamo sullo stato di arrivo e calcoliamo AVG(INCASSO/NUM_BIGLIETTI) con la seguente query SQL SELECT ARRIVO.STATO AS ARRIVAA, AVG(INCASSO/NUM_BIGLIETTI) AS CMB FROM BIGLIETTI INNER JOIN VOLO ON BIGLIETTI.COD_VOLO = VOLO.CODVOLO INNER JOIN AEROPORTO ARRIVO ON VOLO.A = ARRIVO.SIGLA GROUP BY ARRIVO.STATO IMPORTANTE: nella tabella BIGLIETTI occorre definire gli attributi INCASSO e NUM_BIGLIETTI come decimal e non come integer altrimenti il rapporto INCASSO/NUM_BIGLIETTI in AGV(INCASSO/NUM_BIGLIETTI) viene calcolato come divisione tra interi e quindi viene approssimato.