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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Anonymous
Not applicable

How To create Distribution Chart(Bell chart) in Power BI

Hi ,

I'm Tableau Developer and very new to Power BI and got new request from my team to build a Distribution Chart(Bell Chart) in Power BI.

 

I have 2 Columns

1. Risk Score : I have created New Column(color legend) as (if risk score is LOw(>0<40) , Medium(>41<70), High(>71<100) by risk Score)

2. Number of Part Number: i have taken count

 

 

 

Kindly help me  to build a below chart in power BI

 

Screenshot 2021-07-27 135615.jpg

 

 

 

 

 

 

 

4 ACCEPTED SOLUTIONS

Hi @Anonymous 

 

For the color legend, you could split the line into 3 lines. Create measures for 3 Risk score separately and put all of them into Values. Then format them with different colors and turn on shade area. 

 

f(x) High = IF('Normal Distribution'[X]<FLOOR([x-2],1)||'Normal Distribution'[X]>FLOOR([x+2],1),[f(x)],BLANK())

 

f(x) Medium = IF(('Normal Distribution'[X]>FLOOR([x-2],1)&&'Normal Distribution'[X]<FLOOR([x-1],1))||('Normal Distribution'[X]>FLOOR([x+1],1)&&'Normal Distribution'[X]<FLOOR([x+2],1)),[f(x)],BLANK())

 

f(x) Low = IF('Normal Distribution'[X]>FLOOR([x-1],1)&&'Normal Distribution'[X]<FLOOR([x+1],1),[f(x)],BLANK())

 

For the count of Part number shown in Y axis, I don't know how to deal with it. Sorry.

 

Regards,
Community Support Team _ Jing
If this post helps, please Accept it as the solution to help other members find it.

View solution in original post

Hi @Anonymous 

 

All of f(x) High / Medium / Low measures should be placed in the Line values rather than Column values. You can remove the original f(x) measure from Line values to check the result. They should connect then. Let me know if it works or not.

 

Regards,

Jing

View solution in original post

Hi @Anonymous 

 

You should move them to Line values area below. 

080503.jpg

Jing

View solution in original post

Hi @Anonymous 

 

Seems close, we need to do some formattings further. 

 

  • Under X axis, change Type from Continuous to Categorical
  • Right click on the X field in Shared axis and select Show items with no data option.
  • On the chart, click ... and select Sort by X and Sort ascending.

080601.jpg

 

And in the formulas, change all > and < signs to >= and <= to connect the boundry values. 

 

Jing

View solution in original post

13 REPLIES 13
lbendlin
Super User
Super User

Use the NORM.DIST() DAX function across your data and plot it in a line chart.  NORM.DIST function (DAX) - DAX | Microsoft Docs

 

Normal Distribution (Gauss Curve) in Power BI (Part I) - YouTube

Anonymous
Not applicable

Hi Ibendlin,

 

Thank you for quick response.

 

I have gone through the youtube videos and came up with below chart, but i would like to show in

Y axis  as count of Part number & color legend as low, medium and high.

 

Kindly help me to build it as above sample chart.

 

For your reference :

Normal Distribution =
var minval=FLOOR([x-3],1)
var maxval=CEILING([x+3],1)
return
SELECTCOLUMNS(CALENDAR(minval,maxval),"X",INT([Date]))
 
x-3 = [Mean Value]-3*[Std Dev]
x+3 = [Mean Value]+3*[Std Dev]
 
f(x) = EXP((VALUES('Normal Distribution'[X])-[Mean Value])^2/(2*[Std Dev]^2)*-1)/(SQRT(2*PI())*[Std Dev])
 
mu-1 = IF('Normal Distribution'[X]=FLOOR([x-1],1),[f(x)],BLANK())
 
mu+1 = IF('Normal Distribution'[X]=FLOOR([x+1],1),[f(x)],BLANK())
 
mu-2 = IF('Normal Distribution'[X]=FLOOR([x-2],1),[f(x)],BLANK())
 
mu+2 = IF('Normal Distribution'[X]=FLOOR([x+2],1),[f(x)],BLANK())
 
High - Red
Medium - Yellow
Low - Green
 
 

Screenshot 2021-07-28 125948.png

Hi @Anonymous 

 

For the color legend, you could split the line into 3 lines. Create measures for 3 Risk score separately and put all of them into Values. Then format them with different colors and turn on shade area. 

 

f(x) High = IF('Normal Distribution'[X]<FLOOR([x-2],1)||'Normal Distribution'[X]>FLOOR([x+2],1),[f(x)],BLANK())

 

f(x) Medium = IF(('Normal Distribution'[X]>FLOOR([x-2],1)&&'Normal Distribution'[X]<FLOOR([x-1],1))||('Normal Distribution'[X]>FLOOR([x+1],1)&&'Normal Distribution'[X]<FLOOR([x+2],1)),[f(x)],BLANK())

 

f(x) Low = IF('Normal Distribution'[X]>FLOOR([x-1],1)&&'Normal Distribution'[X]<FLOOR([x+1],1),[f(x)],BLANK())

 

For the count of Part number shown in Y axis, I don't know how to deal with it. Sorry.

 

Regards,
Community Support Team _ Jing
If this post helps, please Accept it as the solution to help other members find it.

Hello all,

 

Please help me to create Beel curve in Power BI as mentioned below in the attached screenshot for an example. The data which needs to be shown is 3 different standard deviation of the trend in 4 different ways:

 

anjaliprabhakar_0-1741958944186.png

anjaliprabhakar_1-1741959005626.png

These are 3 different years standard deviation data which is shown for example. I need to create something similar.

Please provide sample data that covers your issue or question completely, in a usable format (not as a screenshot).
Do not include sensitive information. Do not include anything that is unrelated to the issue or question.
Please show the expected outcome based on the sample data you provided.

Need help uploading data? https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Want faster answers? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...

Anonymous
Not applicable

Hi Jing,

 

Thank you for your reply.

 

I just  applied f(x) High formula, I'm getting below result. 

 

Manasa_Rao_0-1627905034463.png

 

Please do let me know if it is possible to connect.

Hi @Anonymous 

 

All of f(x) High / Medium / Low measures should be placed in the Line values rather than Column values. You can remove the original f(x) measure from Line values to check the result. They should connect then. Let me know if it works or not.

 

Regards,

Jing

Anonymous
Not applicable

Hi Jing,

 

When i applied your formula i got this result.

 

Manasa_Rao_0-1628136844220.png

 

 

Hi @Anonymous 

 

You should move them to Line values area below. 

080503.jpg

Jing

Anonymous
Not applicable

Hi Jing,

Is this correct?

 

Manasa_Rao_0-1628160420716.png

 

Hi @Anonymous 

 

Seems close, we need to do some formattings further. 

 

  • Under X axis, change Type from Continuous to Categorical
  • Right click on the X field in Shared axis and select Show items with no data option.
  • On the chart, click ... and select Sort by X and Sort ascending.

080601.jpg

 

And in the formulas, change all > and < signs to >= and <= to connect the boundry values. 

 

Jing

Anonymous
Not applicable

Hi Jing,

 

 

Manasa_Rao_1-1628224697032.png

 

you are awesome 🙂 fnally i got the view but is there any way to do the same chart with Variance % & Count of Parts as shown below.

 

{0B8C0237-E532-49E3-9B52-EC448E60FE66&#125;.png

 

 

You can consider creating measures to get the Variance % & Count of Parts, and put them in multi-row card visuals.

Power BI Data Visualization Best Practices Part 6: Multi-Row Cards (instructorbrandon.com)

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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