Case statement not working
Please help with my ETL formular.
I'm not sure why my case only works for…
WHEN AdditionalRecruiter
= '' and RecruiterInOrder
= 1 THEN 'Unassigned Owner'
WHEN STR_CONTAINS(AdditionalRecruiter
,',') THEN AllRecruiter
WHEN AllRecruiter
IS NULL THEN 'N/C'
Below is the code I'm using to populate the 'RecruiterOutcome' column. I'm using N/A, N/B, N/C, and N/D to differentiate between cases. The goal is to fill the 'RecruiterOutcome' column with any flag in the blank rows, so that I can filter them out later.
CASE WHEN AdditionalRecruiter
= '' and RecruiterInOrder
= 1 THEN 'Unassigned Owner'
WHEN STR_CONTAINS(AdditionalRecruiter
,',') THEN AllRecruiter
WHEN STR_CONTAINS(AdditionalRecruiter
,',') and AllRecruiter
IS NULL THEN 'N/A'
WHEN STR_CONTAINS(AdditionalRecruiter
,',') and AllRecruiter
= '' THEN 'N/B'
WHEN AllRecruiter
IS NULL THEN 'N/C'
WHEN AllRecruiter
= '' THEN 'N/D'
ELSE AllRecruiter
END
Best Answers
-
Case statements are evaluated from the top down and will stop when they find a condition that's true.
Because you have
WHEN STR_CONTAINS(
AdditionalRecruiter
,',') THENAllRecruiter
At the top of your case statement the other two below it won't ever get evaluated. Put the N/A and N/B conditions above this to have them evaluated first.
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**3 -
@GrantSmith Thank you for your quick response. Your suggestion works well! I also realized that I made things too complicated. My formula should be as simple as the below code, then add a filter after to filter out the NULL rows in the 'RecruiterOutcome' column.
Problem solved!!! 😀
CASE WHEN
AdditionalRecruiter
= '' andRecruiterInOrder
= 1 THEN 'Unassigned Owner'
WHEN STR_CONTAINS(AdditionalRecruiter
,',') THENAllRecruiter
ELSEAllRecruiter
END0
Answers
-
Case statements are evaluated from the top down and will stop when they find a condition that's true.
Because you have
WHEN STR_CONTAINS(
AdditionalRecruiter
,',') THENAllRecruiter
At the top of your case statement the other two below it won't ever get evaluated. Put the N/A and N/B conditions above this to have them evaluated first.
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**3 -
@GrantSmith Thank you for your quick response. Your suggestion works well! I also realized that I made things too complicated. My formula should be as simple as the below code, then add a filter after to filter out the NULL rows in the 'RecruiterOutcome' column.
Problem solved!!! 😀
CASE WHEN
AdditionalRecruiter
= '' andRecruiterInOrder
= 1 THEN 'Unassigned Owner'
WHEN STR_CONTAINS(AdditionalRecruiter
,',') THENAllRecruiter
ELSEAllRecruiter
END0
Categories
- All Categories
- 1.9K Product Ideas
- 1.9K Ideas Exchange
- 1.6K Connect
- 1.3K Connectors
- 303 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 3K Transform
- 104 SQL DataFlows
- 640 Datasets
- 2.2K Magic ETL
- 4K Visualize
- 2.5K Charting
- 769 Beast Mode
- 72 App Studio
- 43 Variables
- 718 Automate
- 185 Apps
- 462 APIs & Domo Developer
- 57 Workflows
- 14 DomoAI
- 40 Predict
- 17 Jupyter Workspaces
- 23 R & Python Tiles
- 402 Distribute
- 116 Domo Everywhere
- 277 Scheduled Reports
- 9 Software Integrations
- 135 Manage
- 132 Governance & Security
- 8 Domo Community Gallery
- 44 Product Releases
- 12 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 111 Community Announcements
- 4.8K Archive