cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X

How to use conditionals in Computation Definition in Integrity

KD_9967107
1-Newbie

How to use conditionals in Computation Definition in Integrity

Hello Everyone,

 

I'm trying to make a integer field that uses a computation value. The definition would be something similar to an if statement in java. 

 

For example, if "Field1" == "yes" AND "Field2" == "yes", i want the integer to be 2.

 

So far I've tried something like ("Field1" == "YES") AND ("Field2" == "YES") ? 2

and also 

(

(

("field1" ==  "yes") and

(

("field2" == "one") or

("field2" == "two") or

("field2" == "three") or

("field2" == "four")

)

? 2

 

Both have given me syntax error. I'm not completely sure if I'm going towards the right path, as i can't find any documentations on statements like these. 


If any of you guys can provide some insight, or even what programming language ptc uses, it would be much appreciated.

2 REPLIES 2
LLawton
14-Alexandrite
(To:KD_9967107)

Hello,

I don't think the programming language (java) is relevant, calculated field are their own thing implemented by PTC.

We may need more details about your specific use case and error message. In the meantime, here are two examples I have, that both calculate an integer field:

( Discipline == "Systems" ? 100 : 0 ) + ( State = "Submission" ? 11 : ( State = "Construction" OR State = "Construction Review" ? 21 : 0 ) )

and

IsEmpty( Severity < 4 ? ( Severity * 0.1 ) : ( ( Severity * 2 - 3 + Floor( Severity / 6 ) ) * 0.1 ) , 1.0 )

I think they're pretty close to what you're trying to do syntax-wise. Note that field names without spaces don't need double-quotes but I don't think that would trigger an error.

From your examples, you may be missing the "else" value which is mandatory, that's the one after the colon.

kjain2
14-Alexandrite
(To:KD_9967107)

Hi @KD_9967107 ,

 

May be you can refer this:-

 

(
(
(
(Occurrence == "Improbable (0)") and
(
(Severity == "Negligible (0)") or
(Severity == "Minor (1)") or
(Severity == "Serious (2)")
)
) or
(
(Occurrence == "Remote (1)") and
(
(Severity == "Negligible (0)") or
(Severity == "Minor (1)")
)
) or
(
(Occurrence == "Occasional (2)") and
(
(Severity == "Negligible (0)")
)
)
)
? 2
: (
(
(
(
(Occurrence == "Improbable (0)") and
(
(Severity == "Critical (3)") or
(Severity == "Catastrophic (4)")
)
) or
(
(Occurrence == "Remote (1)") and
(
(Severity == "Serious (2)") or
(Severity == "Critical (3)")
)
) or
(
(Occurrence == "Occasional (2)") and
(
(Severity == "Minor (1)") or
(Severity == "Serious (2)")
)
) or
(
(Occurrence == "Probable (3)") and
(
(Severity == "Negligible (0)") or
(Severity == "Minor (1)")
)
) or
(
(Occurrence == "Frequent (4)") and
(
(Severity == "Negligible (0)")
)
)
)
? true : false
)
? 1
: (
(
(
(
(Occurrence == "Remote (1)") and
(
(Severity == "Catastrophic (4)")
)
) or
(
(Occurrence == "Occasional (2)") and
(
(Severity == "Critical (3)") or
(Severity == "Catastrophic (4)")
)
) or
(
(Occurrence == "Probable (3)") and
(
(Severity == "Serious (2)") or
(Severity == "Critical (3)") or
(Severity == "Catastrophic (4)")
)
) or
(
(Occurrence == "Frequent (4)") and
(
(Severity == "Minor (1)") or
(Severity == "Serious (2)") or
(Severity == "Critical (3)") or
(Severity == "Catastrophic (4)")
)
)
)
? true : false
)
? 0
: 99
)
)
)

Top Tags