Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
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] ) ) )
User | Count |
---|---|
140 | |
113 | |
104 | |
77 | |
65 |
User | Count |
---|---|
136 | |
118 | |
101 | |
71 | |
61 |