MondoBI è un forum italiano dedicato alla Business Intelligence. Domande e risposte su Power BI, Tableau, Excel, SQL... e non solo! https://www.mondobi.it/
Formattazione condizionale colonna di testo con misura
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:
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
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
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 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):
Allega qualche file demo poiché il comportamento che noti non mi è chiaro.
Io ne ho fatto uno al volo:
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.