Forum Discussion

Jack2of3's avatar
Jack2of3
Icon for Helper II rankHelper II
5 years ago
Solved

SWITCH not evaluating as expected all the time

Two tables. Days Since is a measure based on a numeric field, FREQUENCY_CODE is a numeric field.

Both Filters work as expected on report with numeric options.

When should be "Yes" - Always evaluates correctly.

When should be "No" - Often evaulates to "Yes"

Training Needed =
SWITCH(TRUE(),
UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE]=1 && TRAINING[Days Since] >= 365, "Yes",
UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE]=2 && TRAINING[Days Since] >= 730, "Yes",
UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE]=3 && TRAINING[Days Since] >= 1095, "Yes",
UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE]=5 && TRAINING[Days Since] >= 1825,"Yes","No")

  • Jack2of3 , as days since is measure you have to create a measure like

     


    Training Needed =
    SWITCH(TRUE(),
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=1 && [Days Since] >= 365, "Yes",
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=2 && [Days Since] >= 730, "Yes",
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=3 && [Days Since] >= 1095, "Yes",
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=5 && [Days Since] >= 1825,"Yes","No")

1 Reply

  • Jack2of3 , as days since is measure you have to create a measure like

     


    Training Needed =
    SWITCH(TRUE(),
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=1 && [Days Since] >= 365, "Yes",
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=2 && [Days Since] >= 730, "Yes",
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=3 && [Days Since] >= 1095, "Yes",
    max(UTTS_MANDATORY_JOB_CLASS[FREQUENCY_CODE])=5 && [Days Since] >= 1825,"Yes","No")