I am trying to write an ELSEIF conditional statement in QGIS Field Calculator (version 1.8.0). I have used an example I found online:
CASE WHEN val < 0 THEN 'negative'
WHEN val = 0 THEN "neutral'
ELSE 'positive'
END
I modified the statement as follows:
CASE WHEN "GRID_ID" = 1 THEN 'complete'
ELSEIF "GRID_ID" = 2 THEN "in progress'
ELSE 'not started'
END
This statement would not run, the Output preview stated Expression is invalid. The more info stated: Parser Error: syntax error, unexpected COLUMN_REF, expecting WHEN or ELSE or END
If anyone has had this error, what did you do to fix it?
Answer
You have a few problems in your modified statement.
- Inconsistent use of quotes around
"in progress'
- You don't need quotes around column names.
- You're using an "ELSEIF" when it should be a "WHEN".
The following should resolve all three issues and works for me in 1.8.0:
CASE WHEN GRID_ID = 1 THEN 'complete'
WHEN GRID_ID = 2 THEN 'in progress'
ELSE 'not started'
END
No comments:
Post a Comment