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

View all the Fabric Data Days sessions on demand. View schedule

Reply
Hgsilva
Frequent Visitor

Bell Curve visualization

Good morning,

 

I'm having difficulties building a bell curve visualization in Power BI. Want to see this field displayed in a curve to see stddev.

 

Hgsilva_0-1738861706605.png

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Hgsilva ,

 

First of all thanks to parry2k  for the quick reply and solution.
Here are the exact steps to follow:

(1) This is my test data.

vtangjiemsft_0-1738907813386.png

(2) We can create measures.

Mean = AVERAGE('Table'[Order to Complete TAT in Hours])
StdDev = STDEV.P('Table'[Order to Complete TAT in Hours])

(3) We can create a BellCurveData Table and create a column on this table.

BellCurveData = 
VAR MinValue = MIN('Table'[Order to Complete TAT in Hours])
VAR MaxValue = MAX('Table'[Order to Complete TAT in Hours])
VAR Increment = (MaxValue - MinValue) / 100
RETURN
GENERATESERIES(MinValue, MaxValue, Increment)
NormalDistribution = 
VAR MeanValue = [Mean]
VAR StdDevValue = [StdDev]
VAR X = BellCurveData[Value]
RETURN
(1 / (StdDevValue * SQRT(2 * PI()))) * EXP(-0.5 * ((X - MeanValue) / StdDevValue)^2)

vtangjiemsft_1-1738907925964.png

(4) Create a line chart.

vtangjiemsft_2-1738907997592.png

 

Best Regards,

Neeko Tang

If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @Hgsilva ,

 

First of all thanks to parry2k  for the quick reply and solution.
Here are the exact steps to follow:

(1) This is my test data.

vtangjiemsft_0-1738907813386.png

(2) We can create measures.

Mean = AVERAGE('Table'[Order to Complete TAT in Hours])
StdDev = STDEV.P('Table'[Order to Complete TAT in Hours])

(3) We can create a BellCurveData Table and create a column on this table.

BellCurveData = 
VAR MinValue = MIN('Table'[Order to Complete TAT in Hours])
VAR MaxValue = MAX('Table'[Order to Complete TAT in Hours])
VAR Increment = (MaxValue - MinValue) / 100
RETURN
GENERATESERIES(MinValue, MaxValue, Increment)
NormalDistribution = 
VAR MeanValue = [Mean]
VAR StdDevValue = [StdDev]
VAR X = BellCurveData[Value]
RETURN
(1 / (StdDevValue * SQRT(2 * PI()))) * EXP(-0.5 * ((X - MeanValue) / StdDevValue)^2)

vtangjiemsft_1-1738907925964.png

(4) Create a line chart.

vtangjiemsft_2-1738907997592.png

 

Best Regards,

Neeko Tang

If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

parry2k
Super User
Super User

@Hgsilva have you checked this video



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors