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/*