Forum Discussion
Create a new column with DAX
- 3 years ago
NewColumn = VAR _tbl = FILTER ( 'Sample', 'Sample'[PersonID] = EARLIER ( 'Sample'[PersonID] ) && 'Sample'[Month] = EARLIER ( 'Sample'[Month] ) ) RETURN IF ( COUNTROWS ( SUMMARIZE ( _tbl, 'Sample'[ProjectID] ) ) > 1, SUMX ( _tbl, 'Sample'[PercentageAllocated] ), AVERAGEX ( _tbl, 'Sample'[PercentageAllocated] ) ) - 3 years ago
NewColumn = VAR _tbl = FILTER ( 'Sample', 'Sample'[PersonID] = EARLIER ( 'Sample'[PersonID] ) && 'Sample'[Month] = EARLIER ( 'Sample'[Month] ) ) VAR _Projects = SUMMARIZE ( _tbl, 'Sample'[ProjectID] ) RETURN IF ( COUNTROWS ( _Projects ) > 1, SUMX ( _Projects, AVERAGEX(FILTER(_tbl,'Sample'[ProjectID]=EARLIER('Sample'[ProjectID])),'Sample'[PercentageAllocated] )), AVERAGEX ( _tbl, 'Sample'[PercentageAllocated] ) )
NewColumn
=
VAR _tbl =
FILTER (
'Sample',
'Sample'[PersonID] = EARLIER ( 'Sample'[PersonID] )
&& 'Sample'[Month] = EARLIER ( 'Sample'[Month] )
)
RETURN
IF (
COUNTROWS ( SUMMARIZE ( _tbl, 'Sample'[ProjectID] ) ) > 1,
SUMX ( _tbl, 'Sample'[PercentageAllocated] ),
AVERAGEX ( _tbl, 'Sample'[PercentageAllocated] )
)- MartinAa3 years agoFrequent Visitor
Works perfectly fine .
Accepted as the solution..!!
Thanks wdx223_Daniel . 😀- wdx223_Daniel3 years agoCommunity Champion
NewColumn = VAR _tbl = FILTER ( 'Sample', 'Sample'[PersonID] = EARLIER ( 'Sample'[PersonID] ) && 'Sample'[Month] = EARLIER ( 'Sample'[Month] ) ) VAR _Projects = SUMMARIZE ( _tbl, 'Sample'[ProjectID] ) RETURN IF ( COUNTROWS ( _Projects ) > 1, SUMX ( _Projects, AVERAGEX(FILTER(_tbl,'Sample'[ProjectID]=EARLIER('Sample'[ProjectID])),'Sample'[PercentageAllocated] )), AVERAGEX ( _tbl, 'Sample'[PercentageAllocated] ) )- MartinAa3 years agoFrequent Visitor
wdx223_Daniel - You Beauty ..!! 😃
You just taught me soo much with the above DAX... !!
Thank you soo much for the timely response.. Works perfect..!!
Will over-ride the previous solution with the current one as the solution. Thanks wdx223_Daniel ..!!
- MartinAa3 years agoFrequent Visitor
Hi wdx223_Daniel . Thank you very much.
Just Wanted to make a change . In your above dax .RETURN IF ( COUNTROWS ( SUMMARIZE ( _tbl, 'Sample'[ProjectID] ) ) > 1, SUMX ( _tbl, 'Sample'[PercentageAllocated] ), AVERAGEX ( _tbl, 'Sample'[PercentageAllocated] ) )The ResultIfFalse is perfect.
But in the ResultIfTrue , i actually wanted the average of PercentageAllocated Based on the number of projects and then sum those averages in that particular month, instead of directly summing up the values.
For example.PersonID ProjectID MOnth %Allocated New%Allocated 1 a1 Jan 50 150 1 a1 Jan 50 150 1 a1 Jan 50 150 1 b1 Jan 100 150 1 b1 Jan 100 150 1 b1 Jan 100 150 The Change Is:
In your previous calculation the New%Allocated would have been 450 on all the rows. But it should have actually been as 150.
I really hope you could help me out in this wdx223_Daniel ...!!
Lot of Thanks.
-Martin