Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
DW868990
Helper IV
Helper IV

Deneb - Only Show Data Labels Above a set value

Hi,

Is it possible to show data labels in Deneb for only values above a set value.

I have a visual which for the low values it clutters the x axis with all the data labels, so ideally i would only like to show data labels for larger values.

 

Thanks

 

JJ

1 ACCEPTED SOLUTION
dm-p
Super User
Super User

Hi @DW868990,

Assuming you're using Vega-Lite, you can set the opacity for your text marks based on a condition, e.g. to show for a field named Sales with values over 1000, something like this would work:

 

"mark": {
  "type": "text",
  "opacity": {
    "expr": "if(datum['Sales'] >= 1000, 1, 0)"
  }
}

 

This uses an ExprRef to set the mark's opacity to 1 (fully opaque) if the condition is satisfied.

If you prefer to only plot marks for the values that satisfy the condition rather than make them invisible, in your text mark's layer, you could also add a filter transform that satisfies the condition, e.g.:

 

{
    ...
    {
      "transform": [
        {
          "filter": "datum['Sales'] >= 1000"
        }
      ],
      "mark": {"type": "text"},
      ...
    }
    ...
}

 

As you're using expressions, the value doesn't need to be fixed, and you could use another field or other qualifier as the comparator.

Regards,

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




View solution in original post

2 REPLIES 2
Anonymous
Not applicable

@dm-p - I saw this post you have used deneb. Please I need you help in reference dataset and column and measure in JSON for Deneb custom visual. I have posted a question based on this and the link is Custom visual based on seat allocation - Microsoft Power BI Community. Thanks

dm-p
Super User
Super User

Hi @DW868990,

Assuming you're using Vega-Lite, you can set the opacity for your text marks based on a condition, e.g. to show for a field named Sales with values over 1000, something like this would work:

 

"mark": {
  "type": "text",
  "opacity": {
    "expr": "if(datum['Sales'] >= 1000, 1, 0)"
  }
}

 

This uses an ExprRef to set the mark's opacity to 1 (fully opaque) if the condition is satisfied.

If you prefer to only plot marks for the values that satisfy the condition rather than make them invisible, in your text mark's layer, you could also add a filter transform that satisfies the condition, e.g.:

 

{
    ...
    {
      "transform": [
        {
          "filter": "datum['Sales'] >= 1000"
        }
      ],
      "mark": {"type": "text"},
      ...
    }
    ...
}

 

As you're using expressions, the value doesn't need to be fixed, and you could use another field or other qualifier as the comparator.

Regards,

Daniel





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!


On how to ask a technical question, if you really want an answer (courtesy of SQLBI)




Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

Check out the April 2025 Power BI update to learn about new features.

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors