Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Making Deneb dynamic

Hello everyone, I found a really nice Deneb visual online. However, this visual is using a static number. I want to connect it with my measure, named _Percentage. I thought I needed to replace "85...
  • dm-p's avatar
    dm-p
    2 years ago

    I added the data to the model and set it as a percentage type. The same with the measure.

     

    The key thing is that percentages will be added to a Deneb visual as a decimal value, so to make this work with the template, you will need to:

     

    1. Modify my suggestion to multiply by 100 to get a number between 1 and 100 rather than 0 and 1, e.g.:
      {
      "name": "percent",
      "update": "data('dataset')[0]['_Percentage'] * 100"
      }​
    2. Because this might result in a floating point value with many decimal places, modify the text mark's text property to use a format function call to fix it to 2 decimal places, e.g.:
      {
          "type": "text",
         "data": [{}],
         "encode": {
      "update": {
      "text": {
      "signal": "format(percent, '.2f') + '%'"
      },
      ...
      }​

    Note that these are minimal changes against the original template. If you have a format string against your model, you could probably use the technique in step 1 to get the _Percentage__format field that Deneb creates for measures into an additional signal and substitute that into step 2 rather than do the formating work manually, or use the pbiFormat function in Deneb to use a Power BI format string. However the above approach will work as you intend it to:

     

     

    I've added this to a report and attached it so you can confirm it works and investigate the solution yourself. Changes are on lines 14 and 175 of the specification.

     

    Regards,

     

    Daniel