Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I have a table with dimension 'Point' (which has four values: One, Two, Three, Four) and expression:
=Num(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad)),'#,##.#') &' (' & $(vAcadAPS_Grade_Current) & ')'
The variables are:
vAPS_Current = SUM(Current_points)/SUM(Qual_size)
vAcadAPS_Grade_Current =
IF(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad))>=60,'A*',
IF(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad))>=56.67,'A*-',
IF(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad))>=53.34,'A+',
IF(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad))>=50,'A',
IF(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad))>=46.67,'A-',)))))))))))))
All works as I would expect, but it doesn't give the expression value for each dimension value.
So, with all selections cleared I get the following table:
One | Two | Three | Four | |
---|---|---|---|---|
EXP: | 47.9 (A-) | () | () | () |
Then, if I select 'Point' Two, I get the following table:
One | Two | Three | Four | |
---|---|---|---|---|
EXP: | () | 55 (A+) | () | () |
I don't understand why it isn't evaluating for each dimension value?
Does anyone know what I can do to have all cells filled with the correct value?
Hi Jessica,
Please try to add nodistinct into your aggr function, like aggr(nodistinct .....)
Hope it can help you.
Thanks.
Aiolos
If you use this without the variable (directly in your chart), does it still do the same thing? Or is this only when you use it as a variable?
If I remove all the part in red:
Num(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad)),'#,##.#') &' (' & $(vAcadAPS_Grade_Current) & ')'
Then it evaluates across all dimension values (just incorrectly).
So I guess it's actually an issue with the expression, rather than the variable...
Is ONE, TWO, THREE, FOUR (up top) a dimension also? What is it's name? IsAcad or something else?
No, One, Two, Three & Four are the values for the dimension 'Point'
I assume, One , Two, Three .. are the dimension which translate from column to Row. Could be Dual() needed here for measure
=Dual(Num(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current),IsAcad)),'#,##.#') &' (' & $(vAcadAPS_Grade_Current) & ')', Aggr($(vAPS_Current), IsAcad))
Try this
Num(ONLY({<IsAcad={'-1'}>} Aggr($(vAPS_Current), IsAcad, Point)),'#,##.#') &' (' & $(vAcadAPS_Grade_Current) & ')'
No joy there unfortunately!
That gives me:
One | Two | Three | Four | |
---|---|---|---|---|
EXP | () | () | () |
Thanks for the suggestion Anil. Unfortunately that's not working.
I just get:
One | Two | Three | Four | |
---|---|---|---|---|
EXP | () | () | () |
What do you get for this alone? Anything?
Num(Only({<IsAcad={'-1'}>} Aggr($(vAPS_Current), IsAcad, Point)), '#,##.#')