ABC Analysis is an algorithm used to classify objects based on a particular measure, such as revenue or profit. It suggests that inventories can be grouped into three categories (A, B, and C) based on their estimated importance. A items are very important, B items are of medium importance, and C items are of the least importance. An example of ABC classification is provided, showing the percentage of items and revenue accounted for by each category.
------

SET SCHEMA DM_PAL;

DROP TABLE PAL_ABC_DATA_TBL;
CREATE COLUMN TABLE PAL_ABC_DATA_TBL(
	"ITEM" VARCHAR(100),
	"VALUE" DOUBLE
);
INSERT INTO PAL_ABC_DATA_TBL VALUES ('item1', 15.4);
INSERT INTO PAL_ABC_DATA_TBL VALUES ('item2', 200.4);
INSERT INTO PAL_ABC_DATA_TBL VALUES ('item3', 280.4);
INSERT INTO PAL_ABC_DATA_TBL VALUES ('item4', 100.9);
INSERT INTO PAL_ABC_DATA_TBL VALUES ('item5', 40.4);

DROP TABLE #PAL_PARAMETER_TBL;
CREATE LOCAL TEMPORARY COLUMN TABLE #PAL_PARAMETER_TBL(
	"PARAM_NAME" NVARCHAR(256), 
	"INT_VALUE" INTEGER, 
	"DOUBLE_VALUE" DOUBLE, 
	"STRING_VALUE" NVARCHAR(1000)
);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('THREAD_RATIO', NULL, 0.3, NULL);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('PERCENT_A', NULL, 0.7, NULL);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('PERCENT_B', NULL, 0.2, NULL);
INSERT INTO #PAL_PARAMETER_TBL VALUES ('PERCENT_C', NULL, 0.1, NULL);

CALL _SYS_AFL.PAL_ABC(PAL_ABC_DATA_TBL, "#PAL_PARAMETER_TBL", ?);

