The content describes a unified interface for calling various exponential smoothing algorithms with pivot data format. The algorithms include Single Exponential Smoothing, Double Exponential Smoothing, Triple Exponential Smoothing, Brown Exponential Smoothing, Auto Exponential Smoothing, Massive Single Exponential Smoothing, Massive Double Exponential Smoothing, Massive Triple Exponential Smoothing, Massive Brown Exponential Smoothing, and Massive Auto Exponential Smoothing. The procedure offers two modes: single mode for processing a single dataset and parameter, and massive mode for processing multiple datasets and parameters using a Group_id column. More details about each specific exponential smoothing method can be found in the corresponding topic.
------

SET SCHEMA DM_PAL;

DROP TABLE META_DATA_TAB;
CREATE COLUMN TABLE META_DATA_TAB(
    "VARIABLE_NAME" NVARCHAR(50),
    "VARIABLE_TYPE" NVARCHAR(50)
);

INSERT INTO META_DATA_TAB VALUES ('ID',    'CONTINUOUS');
INSERT INTO META_DATA_TAB VALUES ('VALUE', 'TARGET');

DROP TABLE PAL_DATA_TBL;
CREATE COLUMN TABLE PAL_DATA_TBL(
    "ID" INTEGER,
    "VARIABLE_NAME" NVARCHAR(50),
    "VALUE" NVARCHAR(50)
);
INSERT INTO PAL_DATA_TBL VALUES (0,    'ID',    '1');
INSERT INTO PAL_DATA_TBL VALUES (0,    'VALUE',   '200.0');
INSERT INTO PAL_DATA_TBL VALUES (1,    'ID',   '2');
INSERT INTO PAL_DATA_TBL VALUES (1,    'VALUE',   '135.0');
INSERT INTO PAL_DATA_TBL VALUES (2,    'ID',    '3');
INSERT INTO PAL_DATA_TBL VALUES (2,    'VALUE',   '195.0');
INSERT INTO PAL_DATA_TBL VALUES (3,    'ID',   '4');
INSERT INTO PAL_DATA_TBL VALUES (3,    'VALUE',   '197.5');
INSERT INTO PAL_DATA_TBL VALUES (4,    'ID',    '5');
INSERT INTO PAL_DATA_TBL VALUES (4,    'VALUE',   '310.0');
INSERT INTO PAL_DATA_TBL VALUES (5,    'ID',   '6');
INSERT INTO PAL_DATA_TBL VALUES (5,    'VALUE',   '175.0');
INSERT INTO PAL_DATA_TBL VALUES (6,    'ID',    '7');
INSERT INTO PAL_DATA_TBL VALUES (6,    'VALUE',   '155.0');
INSERT INTO PAL_DATA_TBL VALUES (7,    'ID',   '8');
INSERT INTO PAL_DATA_TBL VALUES (7,    'VALUE',   '130.0');
INSERT INTO PAL_DATA_TBL VALUES (8,    'ID',    '9');
INSERT INTO PAL_DATA_TBL VALUES (8,    'VALUE',   '220.0');
INSERT INTO PAL_DATA_TBL VALUES (9,    'ID',   '10');
INSERT INTO PAL_DATA_TBL VALUES (9,    'VALUE',   '277.5');
INSERT INTO PAL_DATA_TBL VALUES (10,    'ID',    '11');
INSERT INTO PAL_DATA_TBL VALUES (10,    'VALUE',   '235.0');

DROP TABLE PAL_PARAMETER_TBL;
CREATE COLUMN TABLE PAL_PARAMETER_TBL (
    "PARAM_NAME" VARCHAR (256),
    "INT_VALUE" INTEGER,
    "DOUBLE_VALUE" DOUBLE,
    "STRING_VALUE" VARCHAR (1000)
);

INSERT INTO PAL_PARAMETER_TBL VALUES ('FUNCTION',null,null,'SESM'); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('ADAPTIVE_METHOD',0,null,null); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('MEASURE_NAME',null,null,'MSE'); 
INSERT INTO PAL_PARAMETER_TBL VALUES ('ALPHA', null,0.1,null);
INSERT INTO PAL_PARAMETER_TBL VALUES ('FORECAST_NUM', 12,null,null);
INSERT INTO PAL_PARAMETER_TBL VALUES ('EXPOST_FLAG', 1,null,null);

CALL _SYS_AFL.PAL_UNIFIED_EXPONENTIALSMOOTHING_PIVOT(META_DATA_TAB, PAL_DATA_TBL, PAL_PARAMETER_TBL, ?, ?, ?, ?, ?); 
