Forum Discussion
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
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.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
Hi Anonymous
You should move them to Line values area below.
Jing
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.
And in the formulas, change all > and < signs to >= and <= to connect the boundry values.
Jing
13 Replies
- lbendlinSuper 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
- AnonymousNot 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)returnSELECTCOLUMNS(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 - RedMedium - YellowLow - Green- v-jingzhangCommunity Support
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.