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.8K Product Ideas
- 1.8K Ideas Exchange
- 1.5K Connect
- 1.2K Connectors
- 300 Workbench
- 6 Cloud Amplifier
- 8 Federated
- 2.9K Transform
- 100 SQL DataFlows
- 616 Datasets
- 2.2K Magic ETL
- 3.9K Visualize
- 2.5K Charting
- 738 Beast Mode
- 57 App Studio
- 40 Variables
- 685 Automate
- 176 Apps
- 452 APIs & Domo Developer
- 47 Workflows
- 10 DomoAI
- 36 Predict
- 15 Jupyter Workspaces
- 21 R & Python Tiles
- 394 Distribute
- 113 Domo Everywhere
- 275 Scheduled Reports
- 6 Software Integrations
- 124 Manage
- 121 Governance & Security
- 8 Domo Community Gallery
- 38 Product Releases
- 10 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 108 Community Announcements
- 4.8K Archive