Conversione formula da DAX a SQL per il cubo di Datawarehouse L’argomento è risolto

SQL Server, Oracle, MySQL...

elyfiora
Messaggi: 26 | Topic creati
Iscritto il: mer 7 apr 2021, 19:39
Ringraziato: 1 volta

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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


Avatar utente

Andrea90
Messaggi: 2191 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
elyfiora
Messaggi: 26 | Topic creati
Iscritto il: mer 7 apr 2021, 19:39
Ringraziato: 1 volta

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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
Avatar utente

Andrea90
Messaggi: 2191 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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] )
)
 
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione

Autore del topic
elyfiora
Messaggi: 26 | Topic creati
Iscritto il: mer 7 apr 2021, 19:39
Ringraziato: 1 volta

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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] )
    )
)
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione

Autore del topic
elyfiora
Messaggi: 26 | Topic creati
Iscritto il: mer 7 apr 2021, 19:39
Ringraziato: 1 volta

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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

Autore del topic
elyfiora
Messaggi: 26 | Topic creati
Iscritto il: mer 7 apr 2021, 19:39
Ringraziato: 1 volta

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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?
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Conversione formula da DAX a SQL per il cubo di Datawarehouse

Messaggio 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?
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Rispondi