IF Bedingung

Hallo zusammen,

würde mich freuen, wenn mir jemand von euch helfen könnte.
Es soll geprüft werden ob der Wert in der Spalte round ARPM kleiner 1 ist. Sollte diese Bedingung erfüllt sein, soll in die neue Spalte CALCULATED Score ARPU=0 eingetragen werden.

PROC SQL;
CREATE TABLE EGTASK.QURY8822 AS SELECT DISTINCT QURY9723.ROOT_CUSTOMER_NODE_ID FORMAT=11.,
QURY9723.'round ARPM'n,
( WHEN (round ARPM<1) THEN ) AS 'Score ARPU'n
FROM EGTASK.QURY9723 AS QURY9723;
QUIT;

folgende Fehlermeldung bringt SAS

                                            The SAS System                                                                                         12:49 Thursday, December 6, 2007

1          *';*";*/;run;
2          OPTIONS PAGENO=MIN;
3          
4          
5          ODS _ALL_ CLOSE;
NOTE: Some of your options or statements may not be supported with the Activex or Java series of devices.  Graph defaults for these drivers may be different from other SAS/GRAPH device drivers.  For further information, please contact Technical Support.
6          OPTIONS DEV=ACTIVEX;
7          FILENAME EGHTML TEMP;
NOTE: Writing HTML(EGHTML) Body file: EGHTML
8          ODS HTML(ID=EGHTML) FILE=EGHTML STYLESHEET=(URL="file:///C:/Program%20Files/SAS/Shared%20Files/BIClientStyles/EGDefault.css") ATTRIBUTES=("CODEBASE"="http://www2.sas.com/codebase/graph/v91/sasgraph.exe") NOGFOOTNOTE GPATH=&sasworklocation
8        ! NOGTITLE STYLE=EGDefault ENCODING='utf-8';
9          
10         %LET _CLIENTTASKLABEL=%NRBQUOTE(Query1);
11         %LET _EGTASKLABEL=%NRBQUOTE(Query1);
12         
13         %_eg_conditional_dropds(EGTASK.QURY8822);
14         
15         PROC SQL;
16          CREATE TABLE EGTASK.QURY8822 AS SELECT DISTINCT QURY9723.ROOT_CUSTOMER_NODE_ID FORMAT=11.,
17              QURY9723.'round ARPM'n,
18              (   WHEN (round ARPM>1) THEN CALCULATED Score ARPU=0
                                ____    ____
                                22      76
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, (, *, **, +, ',', -, '.', /, >, >=, >>, =, >, >=, AND, EQ, EQT, GE, GET, GT, GTT, LE, LET, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.  

ERROR 76-322: Syntax error, statement will be ignored.

18       !      (   WHEN (round ARPM>1) THEN CALCULATED Score ARPU=0
                                        ____
                                        22
ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, ), *, **, +, -, /, >, >=, >>, =, >, >=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT, IN, IS, LE, LET, LIKE, LT, LTT, NE, NET, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.  

19            ) AS 'Score ARPU'n
20          FROM EGTASK.QURY9723 AS QURY9723;
NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
21         QUIT;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      
22         
23         
24         %LET _CLIENTTASKLABEL=;
25         %LET _EGTASKLABEL=;
26         
27         
28         
29         
30         ODS _ALL_ CLOSE; RUN;
31         *';*";*/;run;
32         
33         QUIT; RUN;
34         %_egepilogue;
NOTE: Writing HTML Body file: _EGCLOSE


NOTE: 1 lines were written to file PRINT.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

NOTE: Fileref _EGCLOSE has been deassigned.

Vielen Dank für eure Hilfe

round-Funktion

Die (fehlenden) Klammern der round-Funktionen dürften das Problem sein. Darüber hinaus kann man das WHEN-Statement weglassen

PROC SQL;
CREATE TABLE EGTASK.QURY8822 AS SELECT DISTINCT QURY9723.ROOT_CUSTOMER_NODE_ID FORMAT=11.,
QURY9723.'round ARPM'n,
round(ARPM)<1 AS 'Score ARPU'n
FROM EGTASK.QURY9723 AS QURY9723;
QUIT;