Forum Discussion
Custom total calculation for one column value
Hey,
I have this table :
I made a matrix visual out of it :
What i want to do is change the totals to :
- For Attribute1 keep the totals
- For Attribute2, totals = totals/2
I want to change the sub-totals and grand total for one attribute.
Anyone can help me with that please?
I found a solution :
Mesure = SUMX( 'Data'; SWITCH('Data'[attributes]; "Attribut2";IF(HASONEVALUE('Data'[date]);CALCULATE(SUM(Data[value]);Data[attributes] = "Attribut2");CALCULATE(SUM(Data[value]);Data[attributes] = "Attribut2")/2); var a = 'Data'[attributes] return CALCULATE ( SUM ( 'Data'[value] );'Data'[attributes]=a) ))
9 Replies
- bheepatelResolver IV
Hi Fragan
In your first Table, you can add an additional column with the following formula:
NewValue = IF(Attributes = "Attribute2", Value /12, Value)
The above column will give you the values where if the Attribute is Attribute2, then it will divide the original value by 12. If it is not Attribute2, it will keep the original value as is. This should change your sub-totals and totals.
You can use the NewValue column in your matrix visual.
Hope that helps!
- amitchandakSuper User
Create a measure like that and using hasonevalue or isfiltered , use that for GT
https://powerpivotpro.com/2013/03/hasonevalue-vs-isfiltered-vs-hasonefilter/
something like this
GT Measure =sumx(Summarize(Table,Table[Attribute],"_1", sumx(Table,if(Table[Attribute] ="Attribute2" ,Table[Value]/2,Table[Value]))),[_1])
if(isfiltered(Table[Attribute]),sum(Table[Value]),[GT Measure])
- FraganHelper III
bheepatel with your solution all Attribute2 values will be divided by 12
amitchandak the idea seem good, but i want also the sub total of attribute2 to change :
I want the 482 to be 241.
- amitchandakSuper User
Fragan , Sure You can share
- FraganHelper III
I found a solution :
Mesure = SUMX( 'Data'; SWITCH('Data'[attributes]; "Attribut2";IF(HASONEVALUE('Data'[date]);CALCULATE(SUM(Data[value]);Data[attributes] = "Attribut2");CALCULATE(SUM(Data[value]);Data[attributes] = "Attribut2")/2); var a = 'Data'[attributes] return CALCULATE ( SUM ( 'Data'[value] );'Data'[attributes]=a) ))