Pagina 1 di 1

Formattazione condizionale colonna di testo con misura

Inviato: mer 18 mag 2022, 16:07
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.

Formattazione condizionale colonna di testo con misura

Inviato: mer 18 mag 2022, 16:15
da Andrea90
Ciao mpb_24,

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

viewtopic.php?t=779

Andrea

Formattazione condizionale colonna di testo con misura

Inviato: mer 18 mag 2022, 17:01
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

Formattazione condizionale colonna di testo con misura

Inviato: mer 18 mag 2022, 17:31
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.

Formattazione condizionale colonna di testo con misura

Inviato: mer 18 mag 2022, 18:06
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

Formattazione condizionale colonna di testo con misura

Inviato: mer 18 mag 2022, 18:51
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]

Formattazione condizionale colonna di testo con misura

Inviato: mer 6 lug 2022, 10:48
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.