First already what you have is really smart. Nice one.
I just played around with your table idea…
Normal Distribution =
VAR MinValue = FLOOR( 0 - 2000, 1 )
VAR MaxValue = CEILING( 0 + 2000, 1 )
RETURN
SELECTCOLUMNS( CALENDAR( MinValue, MaxValue), "X", INT( [Date] ) )
This is an interesting combination I wouldn’t have thought off using.
You should also be able to use a function called GENERATESERIES. Maybe simpler. Personal preference I guess.
You could place you Min and Max Value in here.
After have a good think through this. I’m not sure you will be able to dynamically change the axis size (or bounds) dynamically through a filter selection. I do believe you can do this on refresh, but I’m sure you already know that.
This was the ultimate normal dist. formula I created for the table. Seems to work fine
Normal Distribution = GENERATESERIES( FLOOR( [X - 3], 1 ), CEILING( [X + 3], 1 ), 1)
I’ll keep working on this tomorrow and see if I can work through some more. This has been on my list to review for sometime anyway.