Pagina 1 di 1

Sintassi DAX - Calcolo di un nuovo campo in dax da una colonna percentuale rispetto ad valore soglia

Inviato: dom 23 apr 2023, 18:30
da Antonino.70
Ciao a tutti,

Ho una colonna numerica e per ogni riga di essa devo fare il confronto tra il suo valore percentuale e un valore soglia (1%).
La regola è la seguente : SE il valore percentuale è >= al valore soglia (1%) allora mi torni il valore assoluto della variabile (CP) altrimenti scrivi NO.
Ho fatto diversi tentativi ma senza riuscirci, potreste aiutarmi con la sintassi?

Grazie

Sintassi DAX - Calcolo di un nuovo campo in dax da una colonna percentuale rispetto ad valore soglia

Inviato: dom 23 apr 2023, 19:00
da Andrea90
Antonino.70,

Allega le misure che hai tentato di utilizzare, così partiamo con quelle per individuare la corretta soluzione.

Andrea

Sintassi DAX - Calcolo di un nuovo campo in dax da una colonna percentuale rispetto ad valore soglia

Inviato: dom 23 apr 2023, 19:49
da Antonino.70
Ciao Andrea,
intanto grazie per la risposta.

In merito alle misure che utilizzo ti indico che sono "Competenza" e il campo calcolato "% CP".
Non so se ti può essere d'ausilio, ma il valore relativo alla soglia percentuale da scegliere può oscillare da 1% al max di 20%.
Nel mio primo post, ho considerato solo un parametro fisso (1%) ma, se per ottenere una odeguata soluzione, ti chiedo di tenere conto di questo intervallo percentuale.

Grazie

Sintassi DAX - Calcolo di un nuovo campo in dax da una colonna percentuale rispetto ad valore soglia

Inviato: dom 23 apr 2023, 19:51
da Andrea90
Antonino.70,

Non ci siamo capiti, hai scritto di aver fatto diversi tentativi, ma di non esserci riuscito… bene, allega le misure che hai provato ad utilizzare così correggiamo quelle.

Andrea

Sintassi DAX - Calcolo di un nuovo campo in dax da una colonna percentuale rispetto ad valore soglia

Inviato: dom 23 apr 2023, 20:15
da Antonino.70
Scusa ma non avevo capito :-)
Ecco la mia prova per la Nuova_Misura,

Codice: Seleziona tutto

=IF(Tabella1[% CP]<=0,1;Tabella1[Competenza];"NO")
L'errore restituito trascinando la nuova misura è: "la query non è stata eseguita o non è possibile accedere al modello dati"
Ciao

Sintassi DAX - Calcolo di un nuovo campo in dax da una colonna percentuale rispetto ad valore soglia

Inviato: dom 23 apr 2023, 20:24
da Andrea90
Antonino.70,

Prima cosa, non lavorare con le misure implicite.

Nel file che hai allegato hai inserito nelle righe i campi dimensionali, e nell'area valori hai inserito 3 campi, 2 dei quali sono misure calcolate da te, l'altra hai semplicemente trascinato il campo senza creare la relativa misura --> non farlo, crea sempre una misura (anche se fosse un banale SUM() di un campo) ed usa quella dentro i tuoi report.

Quando tu scrivi "Tabella1[% CP]", il campo [%CP] è un campo nativo della tua tabella oppure è una misura?
Se è un campo nativo allora è corretto scrivere il nome della tabella da cui proviene, più il nome del campo, se invece è una misura calcolata da te allora il nome della tabella non lo mettere.

Se in una misura richiami semplicemente un campo di una tabella, come hai fatto qui --> Tabella1[Competenza], allora significa che ci deve essere un contesto riga attivo, ma in una misura questo non è presente di default, lo devi creare, nel caso ti serva, con delle funzioni ad hoc come ad esempio SUMX, MAXX, FILTER, .. tutte funzioni chiamate "iteratori" poiché leggono le righe di una tabella, una per una, e poi eseguono un calcolo.

Nel tuo caso non stai utilizzando questo tipo di formule ( e nemmeno ti serve), dunque prima crea la misura che calcola la SUM() del campo [Competenza] e poi usa questa misura dentro la tua condizione IF().

Per le prossime volte il codice delle formule che utilizzi va inserito nei tag code, se non sai come fare leggi qui --> viewtopic.php?p=5293#p5293

Per questa volta il codice che hai inserito prima lo modifico io.

Andrea

Sintassi DAX - Calcolo di un nuovo campo in dax da una colonna percentuale rispetto ad valore soglia

Inviato: dom 23 apr 2023, 21:20
da Antonino.70
Andrea,
come da te suggerito, ho creato prima la misura che calcola la SUM() su [Competenza] e poi l'ho messa dentro una IF.
Con questi passaggi ho risolto!
Grazie