Forum Discussion
Add specific rows
- 4 years ago
Ah, I wasn't quite understanding where that number came from but I see now.
Since it depends on a different row, you'd need to do something a bit more like this:
Calculated Column = VAR _UID = TableA[UID] VAR _Vals1 = TableA[values1] VAR _Vals2 = TableA[values2] VAR _Sum3 = SUMX ( FILTER ( TableA, TableA[UID] = 3 ), TableA[values1] + TableA[values1] ) RETURN SWITCH ( _UID, 1, _Vals2, 2, _Vals2, 3, _Vals1 + _Vals2, 4, _Vals2, 5, _Sum3 + _Vals1 + _Vals2, _Vals2 )
Anonymous Try this:
=SWITCH(True(),
MAX(UID)=1,SUM(values2),
MAX(UID)=2,SUM(values2),
MAX(UID)=3,SUM(values1)+SUM(values2),
MAX(UID)=4,SUM(values2),
MAX(UID)=5,2*(SUM(values1)+SUM(Values2)),
SUM(Values2))
- Anonymous4 years agoNot applicable
Could you provide a mock up please? Facing this,
- Tahreem244 years ago
Super User
Anonymous Properly follow the code and bracket as per my given DAX. I don't know why you close all MAX and SUM bracket's at the end. Follow my code step by step and open and close the bracket accordingly.
Else, copy paste that DAX here instead of sharing screen shot.
- Anonymous4 years agoNot applicable
Sorry, my bad. Below is the error-free DAX, but looks like it is printing the result of UID=5 to all the rows.
Result = SWITCH(True(),
MAX(TableA[UID])=1,SUM(TableA[values2]),
MAX(TableA[UID])=2,SUM(TableA[Values2]),
MAX(TableA[UID])=3,SUM(TableA[values1])+SUM(TableA[values2]),
MAX(TableA[UID])=4,SUM(TableA[values2]),
MAX(TableA[UID])=5,2*(SUM(TableA[values1])+SUM(TableA[Values2])),
SUM(TableA[Values2]))
- mh25874 years ago
Super User
You have left the closing bracket ) in line number 4
- AlexisOlson4 years ago
Super User
Variables make this a bit cleaner to read.
Column = VAR _UID = MAX ( TableA[UID] ) VAR _Vals1 = SUM ( TableA[values1] ) VAR _Vals2 = SUM ( TableA[values2] ) RETURN SWITCH ( _UID, 1, _Vals2, 2, _Vals2, 3, _Vals1 + _Vals2, 4, _Vals2, 5, 2 * _Vals1 + _Vals2, _Vals2 )If you like, you can also drop the lines for 1, 2, and 4 since they match the default value.
- Anonymous4 years agoNot applicable
Thanks for giving me a clearer solution. Easy to understand. But, as other solution, this one gives me the same sum in all the rows. Could you help please?
Thanks.
Result_1 =
VAR _UID = MAX ( TableA[UID] )
VAR _Vals1 = SUM ( TableA[values1] )
VAR _Vals2 = SUM ( TableA[values2] )
RETURN
SWITCH (
_UID,
1, _Vals2,
2, _Vals2,
3, _Vals1 + _Vals2,
4, _Vals2,
5, 2 * _Vals1 + _Vals2,
_Vals2
)- Tahreem244 years ago
Super User
Anonymous Try this code:
Formula =VAR value1_ = CALCULATE(SUM(TableName[Value]),TableName[UID]=1)VAR value2_ = CALCULATE(SUM(TableName[Value]),TableName[UID]=2)VAR value3_ = CALCULATE(SUM(TableName[Value]),TableName[UID]=3)VAR value4_ = CALCULATE(SUM(TableName[Value]),TableName[UID]=4)VAR value5_ = CALCULATE(SUM(TableName[Value]),TableName[UID]=5)VAR value6_ = CALCULATE(SUM(TableName[Value]),TableName[UID]=6)RETURN SWITCH(MAX(TableName[UID]),1, value1_,2,value2_,3, value1_+value2_,4, value4_,5, value3_+value4_,6, value6_)