Hi Experts,
I am trying to use the SAP HANA PAL Linear Regression with Damped Trend and Seasonal Adjust, following this example: Linear Regression with Damped Trend and Seasonal Adjust - SAP HANA Predictive Analysis Library (PAL) - SAP Library It worked perfectly, but when I setted to Non-seasonality and changed the data I received this error:
(SQL Editor) Could not execute 'CALL "P_LRDTSA" ("DATA", "#PARAMS", "STATS", "RESULTS") WITH OVERVIEW'
Error: (dberror) 139 - current operation cancelled by request and transaction rolled back: search table error: [2625] execution plan aborted
Here is my sql code:
CREATE TYPE "T_DATA" AS TABLE ("CALENDAR_ID" INT, "REVENUE" DOUBLE);
CREATE TYPE "T_PARAMS" AS TABLE ("NAME" VARCHAR(60), "INTARGS" INTEGER, "DOUBLEARGS" DOUBLE, "STRINGARGS" VARCHAR(100));
CREATE TYPE "T_RESULTS" AS TABLE ("CALENDAR_ID" INT, "REVENUE" DOUBLE);
CREATE TYPE "T_STATS" AS TABLE ("NAME" VARCHAR(60), "VALUE" DOUBLE);
CREATE COLUMN TABLE "SIGNATURE" ("POSITION" INTEGER, "SCHEMA_NAME" VARCHAR(100), "TYPE_NAME" VARCHAR(100), "PARAMETER_TYPE" VARCHAR(100));
INSERT INTO "SIGNATURE" VALUES (1, 'SCHEMA', 'T_DATA', 'IN');
INSERT INTO "SIGNATURE" VALUES (2, 'SCHEMA', 'T_PARAMS', 'IN');
INSERT INTO "SIGNATURE" VALUES (3, 'SCHEMA', 'T_STATS', 'OUT');
INSERT INTO "SIGNATURE" VALUES (4, 'SCHEMA', 'T_RESULTS', 'OUT');
CALL "SYS"."AFLLANG_WRAPPER_PROCEDURE_CREATE"('AFLPAL', 'LRWITHSEASONALADJUST', 'SCHEMA', 'P_LRDTSA', "SIGNATURE");
CREATE COLUMN TABLE "DATA" LIKE "T_DATA";
INSERT INTO "DATA" VALUES (1, 20);
INSERT INTO "DATA" VALUES (2, 30);
INSERT INTO "DATA" VALUES (3, 40);
INSERT INTO "DATA" VALUES (4, 50);
CREATE COLUMN TABLE "RESULTS" LIKE "T_RESULTS";
CREATE COLUMN TABLE "STATS" LIKE "T_STATS";
DROP TABLE "#PARAMS";
CREATE LOCAL TEMPORARY COLUMN TABLE "#PARAMS" LIKE "T_PARAMS";
INSERT INTO "#PARAMS" VALUES ('FORECAST_LENGTH', 4, null, null);
INSERT INTO "#PARAMS" VALUES ('TREND', null, 1, null); -- between 0 and 1
INSERT INTO "#PARAMS" VALUES ('SEASONALITY', 0, null, null); -- 0 : none; 1 : yes & user input; 2 : auto detect
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'MPE');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'MSE');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'RMSE');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'ET');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'MAD');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'MASE');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'WMAPE');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'SMAPE');
INSERT INTO "#PARAMS" VALUES ('MEASURE_NAME', null, null, 'MAPE');
TRUNCATE TABLE "RESULTS";
TRUNCATE TABLE "STATS";
CALL "P_LRDTSA" ("DATA", "#PARAMS", "STATS", "RESULTS") WITH OVERVIEW;
SELECT * FROM "RESULTS";
SELECT * FROM "STATS";
Thanks,