Aggiungere la formattazione condizionale
La formattazione condizionale consente a un creatore di report di specificare il modo in cui i colori vengono visualizzati in un report, in base a un valore numerico.
Questo articolo descrive come aggiungere la funzionalità di formattazione condizionale all'oggetto visivo di Power BI.
La formattazione condizionale può essere applicata solo ai tipi di proprietà seguenti:
- Colore
- Testo
- Icon
- URL Web
Aggiungere la formattazione condizionale al progetto
Questa sezione illustra come aggiungere la formattazione condizionale a un oggetto visivo di Power BI esistente. Il codice di esempio in questo articolo è basato sull'oggetto visivo SampleBarChart . È possibile esaminare il codice sorgente in barChart.ts.
Aggiungere una voce di formattazione del colore condizionale nel riquadro formato
In questa sezione si apprenderà come aggiungere una voce di formattazione del colore condizionale a un punto dati nel riquadro formato.
Si userà la
propertyInstanceKind
matrice inVisualObjectInstance
, esposta dapowerbi-visuals-api
. Il primo passaggio consiste nel verificare che il file includa questa importazione:import powerbiVisualsApi from "powerbi-visuals-api";
Per specificare il tipo di formattazione appropriato (Constant, ConstantOrRule o Rule), si userà l'enumerazione
VisualEnumerationInstanceKinds
. Aggiungere l'importazione seguente al file:import VisualEnumerationInstanceKinds = powerbiVisualsApi.VisualEnumerationInstanceKinds;
Impostare il tipo di istanza della proprietà di formattazione
Per formattare le proprietà che supportano la formattazione condizionale, impostare il tipo di istanza richiesto nel relativo descriptor
.
public getFormattingModel(): powerbi.visuals.FormattingModel {
// ...
formattingGroup.slices.push(
{
uid: `colorSelector${barDataPoint_indx}_uid`,
displayName: barDataPoint.category,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "colorSelector",
propertyName: "fill",
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals),
altConstantValueSelector: barDataPoint.selectionId.getSelector(),
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule // <=== Support conditional formatting
},
value: { value: barDataPoint.color }
}
}
}
);
// ...
}
VisualEnumerationInstanceKinds.ConstantOrRule
creerà la voce dell'interfaccia utente di formattazione condizionale insieme all'elemento dell'interfaccia utente di formattazione costante.
Definire il comportamento della formattazione condizionale
Definire la modalità di applicazione della formattazione ai punti dati.
Usando createDataViewWildcardSelector
dichiarato in powerbi-visuals-utils-dataviewutils
, specificare se la formattazione condizionale verrà applicata a istanze, totali o entrambi. Per altre informazioni, vedere DataViewWildcard.
Apportare le modifiche seguenti alle proprietà a cui applicare la formattazione condizionale:
Sostituire il
selector
valore con ladataViewWildcard.createDataViewWildcardSelector(dataViewWildcardMatchingOption)
chiamata.DataViewWildcardMatchingOption
definisce se la formattazione condizionale viene applicata a istanze, totali o entrambi.Aggiungere la
altConstantValueSelector
proprietà con il valore definito in precedenza per laselector
proprietà .
Per le proprietà di formattazione che supportano la formattazione condizionale, impostare il tipo di istanza richiesto nel relativo descriptor
.
public getFormattingModel(): powerbi.visuals.FormattingModel {
// ...
formattingGroup.slices.push(
{
uid: `colorSelector${barDataPoint_indx}_uid`,
displayName: barDataPoint.category,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "colorSelector",
propertyName: "fill",
// Define whether the conditional formatting will apply to instances, totals, or both
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals),
// Add this property with the value previously defined for the selector property
altConstantValueSelector: barDataPoint.selectionId.getSelector(),
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule
},
value: { value: barDataPoint.color }
}
}
}
);
// ...
}
Considerazioni e limitazioni
La formattazione condizionale non è supportata per gli oggetti visivi seguenti:
Oggetti visivi basati su tabelle
Oggetti visivi basati su matrice
È consigliabile non usare la formattazione condizionale con serie. È invece consigliabile consentire ai clienti di formattare singolarmente ogni serie, semplificando la distinzione visiva tra le serie. La maggior parte degli oggetti visivi predefiniti con serie condivide questo approccio.
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per