Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
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] )
)
)
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 23 | |
| 23 | |
| 21 | |
| 17 | |
| 14 |
| User | Count |
|---|---|
| 58 | |
| 50 | |
| 37 | |
| 29 | |
| 24 |