Formattazione condizionale colonna di testo con misura L’argomento è risolto

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

mpb_24
Messaggi: 13 | Topic creati
Iscritto il: mer 11 mag 2022, 8:55

Formattazione condizionale colonna di testo con misura

Messaggio da mpb_24 »

Buon pomeriggio,

esiste un modo per formattare una colonna di testo in base al contenuto attraverso una misura dax?
Esempio:
Nella tabella "Tab", colonna "Categoria", attraverso una misura DAX vorrei che:

-se Tab[Categoria] = "mele", colore testo verde;
-se Tab[Categoria] = "pere", colore testo rosso;

Ho provato con la seguente misura, ma al momento non funziona (la misura restituisce sempre valore "red"):

CF_Categoria =
VAR cat=SELECTEDVALUE(Tab[Categoria])
RETURN
SWITCH(TRUE(),
cat="mele","green",
"red")

Per definire la misura ho consultato il seguente video:



Vi ringrazio molto per la disponibilità (controllando nel forum non ho trovato discussioni simili, ma spero non sia già stata fatta una domanda di questo tipo, in tal caso mi scuso in anticipo).

Saluti.


Avatar utente

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

Formattazione condizionale colonna di testo con misura

Messaggio da Andrea90 »

Ciao mpb_24,

Discussione di ieri, molto simile alla logica che dovrai applicare tu:

viewtopic.php?t=779

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:

Formattazione condizionale colonna di testo con misura

Messaggio da Enrico Galli »

Ciao. Quella misura non dovrebbe restituire sempre "red", se messa in una tabella/matrice in cui in riga o in colonna c'è il campo Tab[Categoria] (e ovviamente questo assume alche il valore di "mele"). Se invece il caso è diverso, devi spiegarcelo tu un po' meglio
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
mpb_24
Messaggi: 13 | Topic creati
Iscritto il: mer 11 mag 2022, 8:55

Formattazione condizionale colonna di testo con misura

Messaggio da mpb_24 »

Ciao Enrico Galli ,

esattamente come dici tu, la formula in teoria non dovrebbe restituire sempre "red", ma anche "green" per le righe in cui Tab[Categoria]="mele".
La colonna Tab[Categoria] contiene sia valori "mele" che "pere". Ho fatto anche un'altra prova dividendo in due la misura.

Ho creato una prima misura:

Codice: Seleziona tutto

m_prova=SELECTEDVALUE(Tab[Categoria])
Ho affiancato questa misura alla colonna Tab[Categoria] e fin qui tutto ok: m_prova da gli stessi risultati di Tab[Categoria] (quando Tab[Categoria]="mele", anche m_prova="mele, stesso discorso per il valore "pere")

Nel momento in cui però aggiungo la misura CF_Categoria alla tabella, m_prova non mi da più gli stessi risultati di Tab[Categoria] come avveniva prima, ma tutti i suoi valori sono vuoti (da come ho potuto capire, i valori in m_prova non vengono più riconosciuti come valori univoci, ma come valori multipli, pertanto SELECTEDVALUE(Tab[Categoria]) restituisce valore vuoto non avendo specificato nulla).

Stessa cosa se creo una misura ad hoc al posto di CF_Categoria (senza ripetere il SELECTEDVALUE):

Codice: Seleziona tutto

CF_hoc = 
SWITCH(TRUE(),
[m_prova]="mele","green",
"red")
Se l'aggiungo alla tabella, la misura m_prova restituisce valori vuoti.

Spero di essere stato chiaro nelle spiegazioni e vi ringrazio molto ancora.
Avatar utente

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

Formattazione condizionale colonna di testo con misura

Messaggio da Andrea90 »

mpb_24,

Allega qualche file demo poiché il comportamento che noti non mi è chiaro.

Io ne ho fatto uno al volo:

Immagine

E la formula sembra funzionare

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:

Formattazione condizionale colonna di testo con misura

Messaggio da Enrico Galli »

SELECTEDVALUE(colonna) viene internamente tradotto con IF(HASONEVALUE(colonna), VALUES(colonna), BLANK()), ovvero se in quel contesto di filtro viene filtrato un solo valore di [colonna], questo valore viene restituito, altrimenti il risultato è BLANK (o il secondo argomento opzionale di SELECTEDVALUE). Quindi, se in una riga della tua tabella hai una sola categoria, SELECTEDVALUE restituirà quella categoria. Se così non è, significa che nel filter context sono individuabili più valori per [Categoria]
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
mpb_24
Messaggi: 13 | Topic creati
Iscritto il: mer 11 mag 2022, 8:55

Formattazione condizionale colonna di testo con misura

Messaggio da mpb_24 »

Buongiorno,

ringrazio tutti per le risposte e mi scuso per il ritardo. Ho notato che il problema che ho riscontrato era da ricondurre alle relazioni tra tabelle (database). Usando un incrocio dei dati tra due tabelle (es. agenti dalla tabella Agenti e prodotti dalla tabella Vendite), la misura mi riporta tutti i dati del database, anche per gli agenti in cui non vi sono prodotti venduti (e quindi per queste ultime righe la misura non funziona )

Ho risolto riportando il codice agente sulle singole righe del database Vendite, in modo tale da avere una tabella unica su cui basarmi. Ora il codice funziona.

Vi ringrazio per la disponibilità.
Saluti.
Rispondi