Forum Discussion
Make a clustered bar chart with conditional formatted leged in Deneb.
- 10 months ago
Hi jaryszek,
You can assign a value to a color encoding by using the field operator in a scale's range after specifying the field to use for its domain, e.g.:
{ ... "encoding": { ... "color": { "field": "MeterCategory", "scale": { "range": {"field": "Color by Rank"} }, ... }, ... }, ... }This is also covered in the Vega-Lite documentation, with an example available here.
Full spec (based on yours above and corrected to work for this case). The visual data set consists of:
- Date (x encoding)
- Sum of CostInBillingCurrency (y encoding)
- MeterCategory (color encoding)
- Color by Rank (color range)
{ "data": { "name": "dataset" }, "mark": { "type": "bar", "tooltip": true }, "encoding": { "x": { "field": "Date", "type": "temporal", "timeUnit": "yearmonthdate", "axis": { "labelAngle": -40, "title": null } }, "y": { "field": "Sum of CostInBillingCurrency", "type": "quantitative", "axis": { "title": null } }, "color": { "field": "MeterCategory", "scale": { "range": {"field": "Color by Rank"} }, "legend": { "title": "Rank", "labelExpr": "datum.value === 'Others' ? 'Others' : 'Rank ' + datum.value", "orient": "right" } }, "order": { "field": "MeterCategory" } }, "config": { "view": { "stroke": null }, "axisY": { "grid": true }, "bar": { "size": 10 } } }I've also attached a copy of your workbook, along with this working visual.
Thanks for using Deneb!
Daniel
Hello jaryszek,
No, Deneb cannot use a Power BI measure (like [Rank (Current Axis)]) for the color range. Measures are not available in the Deneb dataset only table columns are.
Use Vega-Lite transforms (like aggregate + window) to calculate rank and assign colors dynamically no DAX needed.
Thank you,
Ganesh Singamshetty.
Hi v-ssriganesh,
To clarify, measures absolutely can be used in a Deneb dataset. Deneb will aggregate measures by all grouping columns, just like a core table visual does. This problem can be solved either internally to the visual spec or using a measure. I have provided a solution using the OP's desired measure in the visual dataset above.
Cheers,
Daniel
- v-ssriganesh10 months ago
Community Support
Hello dm-p,
Thanks for sharing your valuable insights.
Best Regards,
Ganesh Singamshetty.