Pagina 3 di 4

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 12:53
da elyfiora
Il modello è ovviamente molto più complesso, ma le tre tabelle in gioco legate tra di loro sono:

- Cast (contenente data, bFP e chiave del progetto),
- CastProject (contenente chiave del progetto e nome del progetto)--> legato alla tabella Cast tramite chiave del progetto
- Calendario (contenente data, mese, anno, giorno, quadrimestre....) --> legato alla tabella Cast tramite data

Il fatto è che alla fine io vorrei visualizzare per ogni mese (in riga) l'elenco dei progetti con i rispettivi bFP estratti dalla tabella Cast anche nei mesi dove la data è mancante riportante il valore più vicino temporalmente parlando. L'idea quindi finale è un trend temporale.
Le formule che sto usando mi permettono di visualizzare il trend solo per le date presenti nella tabella Cast e non per tutte le date.

Grazie
Elisa

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 12:57
da Andrea90
Io partirei con l’aprire il tuo file excel che avevi preparato e mettere lì la misura che ti abbiamo girato.

Vedi se ti funziona (non avrei dubbi al riguardo visto che l’ho testata sul tuo file) ... e poi replichi lo stesso report su analysis service.

Non dovrebbe cambiare nulla (le formule sono le stesse così come i campi che inserisci nel report) se i campi che utilizzerai per costruire il tuo report sono gli stessi.

A presto,
Andrea

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 13:03
da elyfiora
Ciao, saresti così gentile ma mandarmi il tuo excel dove hai configurato la formula? Se provo a creare la tabella finale che vorrei non funziona nemmeno in excel.
Grazie
Elisa

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 13:09
da Andrea90
Ciao Elisa,

Scusami, ma non è, a mio avviso, un modo corretto di procedere. Nel senso che se ti giro io il file poi tu come fai a capire come funziona il report e la misura?.

Quello che ti suggerisco è invece di provare a caricare la stessa misura dentro al modello dati che avevi preparato (ricordandoti i due punti che ti avevo indicato nel mio primo messaggio) e poi inserire all'interno del report la misura.

Se il tuo file continua a riportare errore lo puoi allegare nuovamente con quanto svolto così da farti capire in cosa sbagli.

A presto,
Andrea

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 14:28
da Enrico Galli
Ho provato a "smanettare" un po' col DAX per fare una formula alternativa... magari prova anche questa se ti va:

Codice: Seleziona tutto

=
CALCULATE (
    CALCULATE (    
        MAX ( 'Cast'[bFP] );
        LASTNONBLANK (
            'Cast'[Data];
            MAX ( 'Cast'[bFP] )
        )
    );
    DATESYTD ( 'Calendar'[data] )
)
 

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 15:42
da elyfiora
Ciao a tutti,
innanzittutto vi ringrazio per la vostra estrema gentilezza e disponibilità.
Le formule proposte funzionano ma solo all'interno dell'anno stesso e solo se il primo dato disponibile è presente per il mese di gennaio.
Qualora infatti nel 2022 il primo dato fosse disponibile per Maggio 2022, nella visualizzazione finale per tutto il 2022 non ho nessun valore (nemmeno quelli del 2021) e il primo dato che trovo è per Maggio 2022.
C'è modo di ovviare a questo inghippo e quindi mantenere il trend negli anni?
Vi ringrazio nuovamente
Elia

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 16:15
da Enrico Galli
Provo a modificare la mia:

Codice: Seleziona tutto

=CALCULATE (
    CALCULATE (
        MAX ( 'Cast'[bFP] );
        LASTNONBLANK (
            'Cast'[Data];
            MAX ( 'Cast'[bFP] )
        )
    );
    FILTER (
        ALL ( 'Calendar'[data] );
        'Calendar'[data]
            <= MAX ( 'Calendar'[data] )
    )
)

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: lun 12 apr 2021, 17:47
da elyfiora
ciao Enrico, devo offrire a tutti voi che non avete mai mollato su super caffè virtuale ;)
Davvero grazie infinite a tutti, ho imparato molto e ho raggiunto il risultato atteso e desiderato.
Se mi vedete tornate non odiatemi :lol:
Grazie di nuovo!
Elisa

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: mar 13 apr 2021, 9:22
da elyfiora
Buongiorno a tutti,
realizzo solo ora che la formula proposta non calcola i totali nel modo corretto. Ovvero se voglio vedere l'aggregato per mese lui mi fa vedere come valore totale il valore della data più recente e non la somma di tutti i valori di tutti i progetti. Avete idea di come si può aggiustare per far si che anche il totale venga corretto?

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Inviato: mar 13 apr 2021, 9:46
da Enrico Galli
elyfiora ha scritto: mar 13 apr 2021, 9:22 la somma di tutti i valori di tutti i progetti
Intendi la somma di tutti i valori più recenti di ciascun progetto nel mese? Ovvero se un progetto ha più valori in quel mese, nel subtotale deve sommare solo l'ultimo?