Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hello,
I want to apply Simpson's rule on a table and create a new table to store the values. From the picture below, I have a TABLE and I want a calculated Table. There are multiple values in Area column and I want to apply the formula on each value of Area (i.e Group By). The formula can be seen in the formula bar.
Any help on this will be appreciated.
Thanks,
Vivian.
Solved! Go to Solution.
@Stachu @Ashish_Mathur Thanks for the solutions. But I found an easy way to solve this problem. All I did was used Pivot feature in the edit query to Convert Rows of column "Steps" as columns with values as the column "value" in it.
After doing this I got individual columns for each step, Table after pivoting looked like
Area | step 0.02 | step 0.01| step 0.005 |...........
A | 0 | 0 | 0.6 |............
then I just applied the formula using the calculated column.
@Stachu @Ashish_Mathur Thanks for the solutions. But I found an easy way to solve this problem. All I did was used Pivot feature in the edit query to Convert Rows of column "Steps" as columns with values as the column "value" in it.
After doing this I got individual columns for each step, Table after pivoting looked like
Area | step 0.02 | step 0.01| step 0.005 |...........
A | 0 | 0 | 0.6 |............
then I just applied the formula using the calculated column.
Hi,
For each Area, will the entries in the steps column have to be arranged in descending order (as i can observe in your example)?
Hi,
You may download my PBI file from here.
Hope this helps.
in your original table add these 2 columns:
NextStep =
VAR __Area = 'Table'[Area]
VAR __Step = 'Table'[Steps]
RETURN
CALCULATE(MAX('Table'[Steps]), FILTER(ALL('Table'), 'Table'[Area] = __Area && 'Table'[Steps]<__Step))
NextValue =
VAR __Area = 'Table'[Area]
VAR __Step = 'Table'[NextStep]
RETURN
CALCULATE(MAX('Table'[Value]),FILTER(ALL('Table'),'Table'[Area] = __Area && 'Table'[Steps]= __Step))
then create a new table like this
Table2 =
GROUPBY (
'Table',
'Table'[Area],
"Val", SUMX (
CURRENTGROUP (),
0.5 * ( [Value] + [NextValue] ) * ( [Steps] - [NextStep] )
)
)
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 103 | |
| 80 | |
| 62 | |
| 50 | |
| 45 |