Filtri Calculate su variabile richiamata in un'altra variabile L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato
Rispondi
Avatar utente

Marco
Messaggi: 45 | Topic creati
Iscritto il: mar 3 mag 2022, 15:11
Ringraziato: 1 volta

Filtri Calculate su variabile richiamata in un'altra variabile

Messaggio da Marco »

Buongiorno a tutti, non riesco a capire il funzionamento delle variabili e dei filtri applicati in Calculate: nel primo caso i filtri è come se venissero ignorati, mentre nel secondo caso funzionano. Nell'esempio sto usando un Gruppo di calcolo.

Primo caso: il valore dell'anno corrente lo inserisco in una variabile AnnoCorr che poi viene richiamata nella variabile successiva, AnnoCorrPA, dove Calculate dovrebbe imporre i due filtri PeriodoAnalisi (ultimi 6 anni) e Campione (un certo numero di aziende predefinite). Ma il risultato è sbagliato: nell'oggetto visivo vedo tutti i 16 anni e il valore della misura è di tutte le aziende e non solo di quelle predefinite...

Codice: Seleziona tutto

Redditività = 
VAR DataFinale = [Periodo analisi data finale]
VAR DataIniziale = [Periodo analisi data iniziale]
VAR PeriodoAnalisi =
    FILTER(
        dim_Calendario,
        dim_Calendario[Data] >= DataIniziale && dim_Calendario[Data] <= DataFinale
    )
VAR Campione =
    FILTER(
        SUMMARIZE( dim_Aziende, dim_Campione[Campione]),
        dim_Campione[Campione] = "si"
    )
VAR AnnoCorr = SELECTEDMEASURE()
VAR AnnoCorrPA =
CALCULATE(
        AnnoCorr,
        PeriodoAnalisi,
        Campione
    )
RETURN
    AnnoCorrPA
Secondo caso: il valore dell'anno corrente lo ignoro e nella variabile AnnoCorrPA, dove c'è Calculate, inserisco direttamente la misura (Selectedmesure()) e non attraverso la variabile AnnoCorr. Il risultato è corretto! Ma come mai?

Codice: Seleziona tutto

Redditività = 
VAR DataFinale = [Periodo analisi data finale]
VAR DataIniziale = [Periodo analisi data iniziale]
VAR PeriodoAnalisi =
    FILTER(
        dim_Calendario,
        dim_Calendario[Data] >= DataIniziale && dim_Calendario[Data] <= DataFinale
    )
VAR Campione =
    FILTER(
        SUMMARIZE( dim_Aziende, dim_Campione[Campione]),
        dim_Campione[Campione] = "si"
    )
VAR AnnoCorr = SELECTEDMEASURE()
VAR AnnoCorrPA =
CALCULATE(
        SELECTEDMEASURE(),
        PeriodoAnalisi,
        Campione
    )
RETURN
    AnnoCorrPA


Avatar utente

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

Filtri Calculate su variabile richiamata in un'altra variabile

Messaggio da Andrea90 »

@Marco,

Una volta che una variabile viene calcolata il suo valore rimane fisso non è più possibile modificarlo con il contesto filtro.

Dunque scrivere CALCULATE( variabile1, .... ) non ne modifica il valore.

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

Autore del topic
Marco
Messaggi: 45 | Topic creati
Iscritto il: mar 3 mag 2022, 15:11
Ringraziato: 1 volta

Filtri Calculate su variabile richiamata in un'altra variabile

Messaggio da Marco »

GraIe mille, che non fosse più modificabile non lo sapevo proprio.
Rispondi