You are on page 1of 3

-- CREATE OR REPLACE FORCE EDITIONABLE VIEW "DW".

"V_SELL1" ("KIT_SKU",
"TRANSACTION_DATE", "SELL", "SELL1", "SELL2", "SELL3", "SELL4", "SELL5", "SELL6",
"SELL7") DEFAULT COLLATION "USING_NLS_COMP" AS
select corr(sell,sell1),
corr(sell,sell2),
corr(sell,sell3),
corr(sell,sell5),
corr(sell,sell7)
from (
select t."KIT_SKU",t."TRANSACTION_DATE",t."SELL",
lag(t.sell, 1, null) over (partition by kit_sku order by
t.transaction_date) sell1
,lag(t.sell, 2, null) over (partition by kit_sku order by
t.transaction_date) sell2
,lag(t.sell, 3, null) over (partition by kit_sku order by
t.transaction_date) sell3
,lag(t.sell, 4, null) over (partition by kit_sku order by
t.transaction_date) sell4
,lag(t.sell, 5, null) over (partition by kit_sku order by
t.transaction_date) sell5
,lag(t.sell, 6, null) over (partition by kit_sku order by
t.transaction_date) sell6
,lag(t.sell, 7, null) over (partition by kit_sku order by
t.transaction_date) sell7

from (
select kit_sku, TRANSACTION_DATE,sum(SALES_QTY_LOT) sell
from DM_SKU_PERFROMANCE_USE_FOR_MACHINE_LEARNING
where kit_sku in ('LAS000323', '11DEL002-NMNT-1MX4_AMZ', '22FLP001-20-F1-
N_FBAUS')
group by kit_sku, TRANSACTION_DATE
) t
) a where kit_sku='22FLP001-20-F1-N_FBAUS' ;

create or replace view N1_TRAIN_DATA


as
select * from (
select t."SELL",
lag(t.sell, 1, null) over (partition by kit_sku order by
t.transaction_date) sell1
,lag(t.sell, 2, null) over (partition by kit_sku order by
t.transaction_date) sell2
,lag(t.sell, 3, null) over (partition by kit_sku order by
t.transaction_date) sell3
,lag(t.sell, 4, null) over (partition by kit_sku order by
t.transaction_date) sell4
,lag(t.sell, 5, null) over (partition by kit_sku order by
t.transaction_date) sell5
,lag(t.sell, 6, null) over (partition by kit_sku order by
t.transaction_date) sell6
,lag(t.sell, 7, null) over (partition by kit_sku order by
t.transaction_date) sell7
from (
select kit_sku, TRANSACTION_DATE,sum(SALES_QTY_LOT) sell
from DM_SKU_PERFROMANCE_USE_FOR_MACHINE_LEARNING
where kit_sku in ('LAS000323', '11DEL002-NMNT-1MX4_AMZ', '22FLP001-20-F1-
N_FBAUS')
group by kit_sku, TRANSACTION_DATE
) t
) a where kit_sku='22FLP001-20-F1-N_FBAUS' ;

BEGIN
EXECUTE IMMEDIATE 'DROP TABLE GLMR_SH_SAMPLE_SETTINGS';
EXCEPTION
WHEN OTHERS THEN NULL;
END;
/

--Create Model Settings Table


CREATE TABLE GLMR_SH_SAMPLE_SETTINGS (
SETTING_NAME VARCHAR2(30),
SETTING_VALUE VARCHAR2(4000));

--ģ�����òο�https://docs.oracle.com/en/database/oracle/oracle-
database/19/arpls/DBMS_DATA_MINING.html#GUID-4E3665B9-B1C2-4F6B-AB69-A7F353C70F5C

BEGIN
-- Populate settings table
INSERT INTO GLMR_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES
(DBMS_DATA_MINING.ALGO_NAME, DBMS_DATA_MINING.ALGO_GENERALIZED_LINEAR_MODEL);
-- output row diagnostic statistics into a table named GLMC_SH_SAMPLE_DIAG
INSERT INTO GLMR_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES
(DBMS_DATA_MINING.GLMS_DIAGNOSTICS_TABLE_NAME, 'GLMR_SH_SAMPLE_DIAG');
INSERT INTO GLMR_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES
(DBMS_DATA_MINING.PREP_AUTO, DBMS_DATA_MINING.PREP_AUTO_ON);
-- turn on feature selection
INSERT INTO GLMR_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES
(DBMS_DATA_MINING.GLMS_FTR_SELECTION, DBMS_DATA_MINING.GLMS_FTR_SELECTION_ENABLE);
-- turn on feature generation
INSERT INTO GLMR_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES
(DBMS_DATA_MINING.GLMS_FTR_GENERATION,
DBMS_DATA_MINING.GLMS_FTR_GENERATION_ENABLE);
END;

DECLARE
V_XLST DBMS_DATA_MINING_TRANSFORM.TRANSFORM_LIST;

BEGIN
DBMS_DATA_MINING.CREATE_MODEL(
MODEL_NAME => 'SELL_RGLM',
MINING_FUNCTION => DBMS_DATA_MINING.REGRESSION,
DATA_TABLE_NAME => 'N1_TRAIN_DATA',
CASE_ID_COLUMN_NAME => '',
TARGET_COLUMN_NAME => 'SELL',
SETTINGS_TABLE_NAME => 'GLMR_SH_SAMPLE_SETTINGS',
XFORM_LIST => V_XLST);
END;

SELECT SETTING_NAME, SETTING_VALUE


FROM USER_MINING_MODEL_SETTINGS
WHERE MODEL_NAME = 'SELL_RGLM'
ORDER BY SETTING_NAME;
SELECT FEATURE_EXPRESSION, COEFFICIENT, STD_ERROR, TEST_STATISTIC,
P_VALUE, STD_COEFFICIENT, LOWER_COEFF_LIMIT, UPPER_COEFF_LIMIT
FROM DM$VDSELL_RGLM
ORDER BY 1;

You might also like