Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

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

calcioscacchi
Messaggi: 61 | Topic creati
Iscritto il: lun 31 mag 2021, 12:21
Ringraziato: 4 volte

Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

Messaggio da calcioscacchi »

Ciao a tutti,

ho un problema con la formattazione condizionale: Sto riepilogando alcuni dati di una tabella contenente segnalazioni di sicurezza in una vista Tabella Pivot. I sottotipi dei cui vado a fare il conteggio sono contenuti nella colonna Andon[Sottotipo] e sono 5 possibili valori.

Il riepilogo che mi serve non è altro che un conteggio di righe (cioè di accadimenti) per ogni sottotipo, riepilogato per mesi.
Per ottenere il conteggio mi avvalgo di una misura in DAX che banalmente fa il count. Se per quel mese non ho segnalazioni, la misura restituisce 0:

Codice: Seleziona tutto

Eventi_Safety = IF(isblank(count(Andon[Sottotipo])),0,count(Andon[Sottotipo]))

Fatto questo, creo una colonna che regola la formattazione condizionale. La regola vuole associare a ogni sottotipo un colore specifico. Il primissimo tentativo è banalmente questo:

Codice: Seleziona tutto

Sottotipo_FillColor = Switch(Andon[Sottotipo], "INCIDENTE", "#EA5545","NEARMISS","#EDE15B","UNSAFE ACT","#8BE04E","UNSAFE CONDITION","#5AD45A","FIRST AID","#FFA300")
Ma non ottengo la colorazione delle celle con 0.

Immagine


A questo punto ho provato altre strategie ( amio avviso assurde perchè mi sembra di riscrivere sempre la stessa cosa), ma senza successo, come ad esempio:

Codice: Seleziona tutto

Sottotipo_FillColor = if([Eventi_Safety] > 0,
SWITCH(
    TRUE(),
    Andon[Sottotipo] = "INCIDENTE", "#EA5545",
    Andon[Sottotipo] = "NEARMISS", "#EDE15B",
    Andon[Sottotipo] = "UNSAFE ACT", "#8BE04E",
    Andon[Sottotipo] = "UNSAFE CONDITION","#5AD45A",
	Andon[Sottotipo] ="FIRST AID","#FFA300"
    
),

SWITCH(
    TRUE(),
    Andon[Sottotipo] = "INCIDENTE", "#EA5545",
    Andon[Sottotipo] = "NEARMISS", "#EDE15B",
    Andon[Sottotipo] = "UNSAFE ACT", "#8BE04E",
    Andon[Sottotipo] = "UNSAFE CONDITION","#5AD45A",
    Andon[Sottotipo] ="FIRST AID","#FFA300"
	))

Mi sembra assurdo che non vi sia la possibilità di ottenere una regola quando il conteggio è nullo o zero.
Avete dei suggerimenti?
Grazie.


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: Colorare celle in una tabella che non contengono dati.

Messaggio da Enrico Galli »

Ciao. Da quello che scrivi, Andon[Sottotipo] non vale mai 0, ma NULL, tanto è vero che crei una misura apposta per rappresentare 0 quando il conteggio di quella colonna è NULL. Io personalmente non ho mai utilizzato questa tecnica per formattare le celle, ma così, a intuito, nella definizione della regola userei [Evento Safety], se possibile
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
Avatar utente

Autore del topic
calcioscacchi
Messaggi: 61 | Topic creati
Iscritto il: lun 31 mag 2021, 12:21
Ringraziato: 4 volte

Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

Messaggio da calcioscacchi »

Ciao @Enrico Galli, la formula è oggettivamente superflua, ma sono vincolato ad ottenere uno 0 e non una cella vuota in tabella.

Per quanto riguarda il tuo suggerimento, Eventi_Safety viene già utilizzata nella seconda regola di formattazione sul primo if. Ti è sfuggito o intendevi altro?
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: Colorare celle in una tabella che non contengono dati.

Messaggio da Enrico Galli »

Non avendo competenza in fatto di formattazione condizionale, ti riporto la risposta di ChatGPT, sperando possa essere utile:


La ragione per cui le celle con 0 non vengono colorate è perché stai utilizzando una misura (Eventi_Safety) per contare gli eventi e la misura non ha un valore specifico per "Sottotipo". La colonna di formattazione condizionale (Sottotipo_FillColor) fa riferimento alla colonna Andon[Sottotipo], ma non considera la misura.

Per risolvere questo problema, dovresti applicare la formattazione condizionale direttamente sulla misura piuttosto che sulla colonna Andon[Sottotipo].

Ecco come puoi farlo:

1. Seleziona la tua misura "Eventi_Safety" nella tua Tabella Pivot.
2. Vai alle opzioni di formattazione condizionale in Power BI.
3. Seleziona "Formato cella per campo di valore".
4. Applica una regola basata sulla colonna Andon[Sottotipo] e utilizza la stessa formula Switch che hai fornito per definire i colori.

Se ciò non funziona, potresti dover creare una misura separata per la colorazione che consideri sia il valore di "Eventi_Safety" sia il valore di "Andon[Sottotipo]".

Ecco un esempio di come potrebbe apparire:

Codice: Seleziona tutto

Sottotipo_FillColor_Misura = 
VAR CurrentSottotipo = MAX(Andon[Sottotipo])
RETURN 
Switch(CurrentSottotipo, 
    "INCIDENTE", "#EA5545",
    "NEARMISS","#EDE15B",
    "UNSAFE ACT","#8BE04E",
    "UNSAFE CONDITION","#5AD45A",
    "FIRST AID","#FFA300",
    BLANK())
Ora puoi utilizzare questa misura per la formattazione condizionale.
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
Avatar utente

Autore del topic
calcioscacchi
Messaggi: 61 | Topic creati
Iscritto il: lun 31 mag 2021, 12:21
Ringraziato: 4 volte

Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

Messaggio da calcioscacchi »

Diciamo che la risposta di chatGPT mi lascia un po' perplesso.

Evento_Safety è una misura che fa la conta di sottotipo Andon. Ma se non piace, leviamola, ma il risultato è il medesimo...

Codice: Seleziona tutto

Sottotipo_FillColor = if(count(Andon[Sottotipo]) > 0,
SWITCH(
    TRUE(),
    Andon[Sottotipo] = "INCIDENTE", "#EA5545",
    Andon[Sottotipo] = "NEARMISS", "#EDE15B",
    Andon[Sottotipo] = "UNSAFE ACT", "#8BE04E",
    Andon[Sottotipo] = "UNSAFE CONDITION","#5AD45A",
	Andon[Sottotipo] = "FIRST AID","#FFA300"
    
),

SWITCH(
    TRUE(),
    Andon[Sottotipo] = "INCIDENTE", "#EA5545",
    Andon[Sottotipo] = "NEARMISS", "#EDE15B",
    Andon[Sottotipo] = "UNSAFE ACT", "#8BE04E",
    Andon[Sottotipo] = "UNSAFE CONDITION","#5AD45A",
	Andon[Sottotipo] ="FIRST AID","#FFA300"
	))

Invece per quanto riguarda la proposta di chatGPT, non ho capito perchè dichiara una variabile come MAX di sottotipo, ma inogni caso se la uso mi colora tutto di verde (e interpretando il codice, quello fa).


Forse lavorandoci su ho capito... il problema è che PBI non riesce a trovare nulla a febbraio che contenga "INCIDENTE" e quindi non capisce come colorarlo, proprio perchè non sa che cosa prendere come riferimento... NEl senso, io gli ho detto di colorare "INCIDENTE" di rosso, ma se lui non trova "INCIDENTE", come fa a capire che colore dare?
Ultima modifica di calcioscacchi il ven 29 set 2023, 13:12, modificato 1 volta in totale.
Avatar utente

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

Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

Messaggio da Andrea90 »

@calcioscacchi,

Allega un file demo.

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
calcioscacchi
Messaggi: 61 | Topic creati
Iscritto il: lun 31 mag 2021, 12:21
Ringraziato: 4 volte

Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

Messaggio da calcioscacchi »

Eccolo, ci ho messo un po' a ricostruire un riepilogo decente senza dati aziendali sensibili.
Non so perchè in questo file non riesco a far comparire gli 0, ma il principio della formattazione è il medesimo.
Allegati
TEST.pbix
(64.22 KiB) Scaricato 14 volte
Avatar utente

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

Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

Messaggio da Andrea90 »

@calcioscacchi,

Ho provato diverse opzioni, ma non riconosce le celle con BLANK, come se non esistessero e pertanto non si riesce ad impostare alcuna logica.

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
calcioscacchi
Messaggi: 61 | Topic creati
Iscritto il: lun 31 mag 2021, 12:21
Ringraziato: 4 volte

Formattazione condizionale: Colorare celle in una tabella che non contengono dati.

Messaggio da calcioscacchi »

Il motivo secondo me è che gli stiamo chiedendo di colorare in base ai valori di una colonna... ma se quei valori non esistono, con quale criterio decide di colorare?
Rispondi