3

I am trying to take the value of the ACT_Superscore__c formula field and use it in a CASE statement in another formula field:

CASE( ACT_Superscore__c , 
36, 1600, 
35, 1560,
34, 1510, 
33, 1460,
32, 1420, 
0)

The conditional works if I replace the field with a roll-up summary or just hard-code the value. If I remove the CASE statement and only return the value of ACT_Superscore__c it returns the value as expected. Not sure what I am missing here.

5
  • 1
    What shows up with the formula, as listed above? 0? Could it perhaps be an Integer vs String issue, e.g, replace 36 with "36" and see if that renders properly?
    – Mikey
    Mar 31, 2013 at 23:49
  • 1
    What is the return type for formula field ACT_Superscore__c? Are you getting any error while you try to save the formula? Apr 1, 2013 at 10:17
  • Data types are correct, have no problems saving. It's just returning 0.
    – marcus
    Apr 1, 2013 at 14:14
  • 1
    Maybe try a simpler IF function to test a single case first? E.g. IF(TEXT(ACT_Superscore__c)="36", 1600, 0). It might provide some further clues about the datatype of ACT_Superscore__c. Apr 2, 2013 at 2:31
  • I had not tried converting the value to string, but unfortunately that did not work either. Still returning 0.
    – marcus
    Apr 3, 2013 at 14:16

1 Answer 1

1

I would check the datatype first.

Is ACT_Superscore__c a decimal value? Doesn't it need to be rounded?

2
  • 2
    If this is the case, FLOOR(ACT_Superscore__c) is probably the quick fix if it's only going to have .0
    – Matt Lacey
    Apr 3, 2013 at 1:40
  • 1
    FLOOR did it! ACT_Superscore__c can potentially return a decimal value, but since I had it set to 0 decimal places I assumed it would return that value everywhere, not just in the layout.
    – marcus
    Apr 3, 2013 at 14:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .