Exploring Deneb for Power BI

Published Categorized as Deneb, Reviews, Vega-Lite 3 Comments on Exploring Deneb for Power BI

In my short career doing data visualization with Power BI, I have always desired the flexibility to do more with my visuals.

So when I came across a demo for Deneb in a meetup last year, I practically lost my head.

And when I finally got my hands on the visual I was not disappointed.

Deneb, as very well described here, uses Vega and Vega-Lite, a visualisation grammar. I didn’t spend much time reading up on the documentation before I started – I’m way too impatient a person. I mean who reads the instructions on the IKEA manuals anyway?

Chart 1 – Horizontal diverging chart

I had a number of charts that I had been busting to create. So I headed over the Vega-Lite template gallery to pick out some examples that looked close enough in design.

I picked up a pyramid, pasted the template into the editor, mapped the field names then BOOM! Will you look at that it just worked!

100 
Germany 
80 
United States 
80 
100

Okay, okay, so now it’s time to read the documentation. I wanted to add a legend, with a quick search I was able to find how to do that. I made additional cosmetic tweaks here and there which were intuitive enough to do.

Eeeek how exciting.

Chart 2 – Line chart with text labels

The second project was also fairly straight forward.

I began with a simple line graph

Layered a rectangle mark underneath

Updated the grid styling and added colour coordinated points

I next added labels and the ability to highlight values upon hovering over the legend

Magic!

Chart 3 – KPI Cards

The next project began as a desire for more control over KPI style visuals. I often find I have to layer visuals to get the features I want for KPIs, which creates unforgiving navigation experiences.

I didn’t spend too much time on these visual types, but was very excited by the flexibility I had.

Chart 4 – Image Plot

The fourth chart was the simplest. Here, I wanted to test how images would render.

I copied a basic template from Vega-Lite Examples gallery and removed the Y-Axis

< Back to report 
Visual Editor 
IN Specification 
" axis" : null 
14 
A/ Config 
"mark" 
" image" 
"type" : 
"'width" : 
"height" : 
50 
"encodlng ' 
"field": "Year" , 
@ Settings 
4 
6 
7 
8 
9 
10 
11 • 
12 
13 
14 
15 
16 
17 
18 
19 • 
20 
21 
22 
23 
In: 24 
"type": "temporal " 
"field": "order'% 
"quantitative" , 
"type" : 
"field" : 
" img" , 
"type": "nominal" 
1940 
1945 
1950 
1955 
1960 
1965 
1970 
1975 1980 
Year 
1985 
1990 
1995 
2000 
2005 
2010 
2015 
Col: 2

Increased X-axis font size

< Back to report 
Visual Editor 
logo Specification 
" . 16, 
"field": "img" 
Col: 59 
A/ Config 
"type": " image" 
"width" : 
"height" : 
50 
"encoding" 
"x": 
"field": "Year" , 
"axis" : 
@ Settings 
6 
7 
8 
9 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
Ln: 14 
"type": "temporal" , 
'titleFontSize 
" labelFontSize " 
"y" 
"field": "order" , 
"quantitative" , 
"type" : 
"axis" : 
null 
"url" : 
"type": "nominal" 
1940 1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 
Year

Added tooltip

< Back to report 
Visual Editor 
IN Specification 
2. 
"field": "order", 
Col: 20 
A/ Config 
"data" 
"name": "dataset" 
"mark" : 
"type": " image" 
"width" : 
"height" : 
50, 
truel 
"tooltip" : 
"encoding" : 
"field": "Year" , 
"axis" : 
@ Settings 
3 
4 
6 
7 
8 
9 
10 
11 • 
13 
14 
15 
16 
17 
18 
19 
"type": "temporal" , 
{"titleFontSize" 
"labelFontSize" . 
16} 
. 20, 
"type" : 
"quantitative" , 
1940 1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 
Year

Pow!

Deneb Deneb Deneb 
BATMAN! 
1966 
1940 
1944 
1948 
1952 
1956 
1960 
1964 
19 
2000 
2004 
2008 
2012 2016

Oh so simple and easy to use!

I cannot wait until it hits AppSource!

3 comments

  1. Very useful content, do you know if it possible to have the vega-lite title dynamic and linked to the dataset. For example have the KPI text in your KPI cards within the vega-lite title?

Leave a comment

Your email address will not be published. Required fields are marked *