SAS中的条件IF语句
我有以下表格: 型号表格SAS中的条件IF语句,sas,Sas,我有以下表格: 型号表格 Model State FH NEW-20 1 279 NEW-20 2 279 NEW-20 3 204 NEW-20 4 186 NEW-21 1 333 Driver Year Scenario; GDP 2013 Nominal Fuel 2013 Nominal Mili 2013 Nominal GDP 2014 Nominal Fuel 2014
Model State FH
NEW-20 1 279
NEW-20 2 279
NEW-20 3 204
NEW-20 4 186
NEW-21 1 333
Driver Year Scenario;
GDP 2013 Nominal
Fuel 2013 Nominal
Mili 2013 Nominal
GDP 2014 Nominal
Fuel 2014 Nominal
Mili 2014 Nominal
GDP 2015 Nominal
Fuel 2015 Nominal
Driver Scenario State var1 var2 var3 var4 var5 var6;
GDP Nominal 1 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
GDP Strong_G 2 10.0% 12.0% 7.5% 10.0% 10.0% 0.0%
GDP Mild_D 4 -5.0% -8.0% -4.0% -10.0% -8.0% -2.5%
Mil Strong_D 1 -6.0% -10.0% -6.0% -12.0% -10.0% -5.0%
MIL Nominal 1 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
SA表格
Model State FH
NEW-20 1 279
NEW-20 2 279
NEW-20 3 204
NEW-20 4 186
NEW-21 1 333
Driver Year Scenario;
GDP 2013 Nominal
Fuel 2013 Nominal
Mili 2013 Nominal
GDP 2014 Nominal
Fuel 2014 Nominal
Mili 2014 Nominal
GDP 2015 Nominal
Fuel 2015 Nominal
Driver Scenario State var1 var2 var3 var4 var5 var6;
GDP Nominal 1 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
GDP Strong_G 2 10.0% 12.0% 7.5% 10.0% 10.0% 0.0%
GDP Mild_D 4 -5.0% -8.0% -4.0% -10.0% -8.0% -2.5%
Mil Strong_D 1 -6.0% -10.0% -6.0% -12.0% -10.0% -5.0%
MIL Nominal 1 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
UTI表格
Model State FH
NEW-20 1 279
NEW-20 2 279
NEW-20 3 204
NEW-20 4 186
NEW-21 1 333
Driver Year Scenario;
GDP 2013 Nominal
Fuel 2013 Nominal
Mili 2013 Nominal
GDP 2014 Nominal
Fuel 2014 Nominal
Mili 2014 Nominal
GDP 2015 Nominal
Fuel 2015 Nominal
Driver Scenario State var1 var2 var3 var4 var5 var6;
GDP Nominal 1 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
GDP Strong_G 2 10.0% 12.0% 7.5% 10.0% 10.0% 0.0%
GDP Mild_D 4 -5.0% -8.0% -4.0% -10.0% -8.0% -2.5%
Mil Strong_D 1 -6.0% -10.0% -6.0% -12.0% -10.0% -5.0%
MIL Nominal 1 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
我想使用条件IF语句。正确的语法是什么?以下是我想做的事情:
(IF Model.State & SA.Driver (GDP) & SA.Scenario = UTI.Driver & UTI.Scenario & UTI.State
THEN SUMPRODUCT((1+(UTI.VAR1--VAR6));MODEL.FH)
+
IF Model.State & SA.Driver(Fuel) & SA.Scenario = UTI.Driver & UTI.Scenario & UTI.State
THEN SUMPRODUCT((1+(UTI.VAR1--VAR6));MODEL.FH)
+
IF Model.State & SA.Driver(Mil) & SA.Scenario = UTI.Driver & UTI.Scenario & UTI.State
THEN SUMPRODUCT((1+(UTI.VAR1--VAR6));MODEL.FH))
AS TOTAL
如何在SAS中执行此操作?看起来您正在尝试使用
PROC SQL
如果是,那么您正在查找案例
语句:
(CASE WHEN Model.State & SA.Driver (GDP) & SA.Scenario = UTI.Driver & UTI.Scenario & UTI.State
THEN SUMPRODUCT((1+(UTI.VAR1--VAR6));MODEL.FH) ELSE 0 /* <- Insert else case here */ END
+
CASE WHEN Model.State & SA.Driver(Fuel) & SA.Scenario = UTI.Driver & UTI.Scenario & UTI.State
THEN SUMPRODUCT((1+(UTI.VAR1--VAR6));MODEL.FH) ELSE 0 /* <- Insert else case here */
+
CASE WHEN Model.State & SA.Driver(Mil) & SA.Scenario = UTI.Driver & UTI.Scenario & UTI.State
THEN SUMPRODUCT((1+(UTI.VAR1--VAR6));MODEL.FH) ELSE 0 /* <- Insert else case here */ END)
AS TOTAL
(Model.State&SA.Driver(GDP)和SA.Scenario=UTI.Driver&UTI.Scenario&UTI.State时的情况
然后SUMPRODUCT((1+(UTI.VAR1--VAR6));MODEL.FH)ELSE 0/*