add workflow 泰克客户,dev
This commit is contained in:
parent
cb3ba5e034
commit
3f61bf5a19
|
@ -4,11 +4,11 @@
|
|||
/*Brilliance stems from wisdoms. */
|
||||
/*************Head Section**************************************************************************/
|
||||
/*Script Use: Periodically load data to :t01_crm_raw_leads(CRM原始线索) */
|
||||
/*Create Date:2024-03-14 10:43:34 */
|
||||
/*Create Date:2024-05-10 16:33:32 */
|
||||
/*SDM Developed By: dev */
|
||||
/*SDM Developed Date: 2024-01-12 */
|
||||
/*SDM Checked By: dev */
|
||||
/*SDM Checked Date: 2024-02-22 */
|
||||
/*SDM Checked Date: 2024-05-10 */
|
||||
/*Script Developed By: dev */
|
||||
/*Script Checked By: dev */
|
||||
/*Source table 1: p10_sa.s98_s_crm_raw_leads */
|
||||
|
@ -65,7 +65,7 @@ SELECT
|
|||
COALESCE(TRIM(CAST(p0.tek_contactnumber AS varchar(20))),'') /*crm_contact_account*/
|
||||
,COALESCE(TRIM(CAST(p0.tek_leadnumber AS varchar(20))),'') /*lead_number*/
|
||||
,COALESCE(TRIM(CAST(p0.fullname AS varchar(50))),'') /*name*/
|
||||
,COALESCE(TO_TIMESTAMP(CAST(p0.createdon AS VARCHAR(19)),'MM/DD/YYYY HH24:mi'),TO_TIMESTAMP('19000102','YYYYMMDD')) /*create_time*/
|
||||
,COALESCE(TO_TIMESTAMP(CAST(p0.createdon AS VARCHAR(19)),'YYYY/MM/DD HH24:mi'),TO_TIMESTAMP('19000102','YYYYMMDD')) /*create_time*/
|
||||
,COALESCE(TRIM(CAST(p0.companyname AS varchar(50))),'') /*company_name*/
|
||||
,COALESCE(TRIM(CAST(p0.emailaddress1 AS varchar(50))),'') /*email*/
|
||||
,COALESCE(TRIM(CAST(p0.mobilephone AS varchar(20))),'') /*mobile_phone*/
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
DROP TABLE IF EXISTS p60_mart.cust_all_info;
|
||||
CREATE TABLE IF NOT EXISTS p60_mart.cust_all_info (
|
||||
contact_id text
|
||||
, contact text
|
||||
, contact_channel text
|
||||
, full_name text
|
||||
, mobile VARCHAR(0)
|
||||
, email VARCHAR(0)
|
||||
, wechat VARCHAR(0)
|
||||
, company VARCHAR(0)
|
||||
, account text
|
||||
, country VARCHAR(0)
|
||||
, prov_name VARCHAR(0)
|
||||
, city_name VARCHAR(0)
|
||||
, industry VARCHAR(50)
|
||||
, ccp_value VARCHAR(0)
|
||||
, mobile_phone_date_ind text
|
||||
, mobile_phone_availability text
|
||||
, email_data_ind text
|
||||
, email_availability text
|
||||
, crm_active_time timestamp(0)
|
||||
, scrm_active_time timestamp(0)
|
||||
, livechat_active_time timestamp(0)
|
||||
, last_activate_time timestamp(0)
|
||||
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.contact_id IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.contact IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.contact_channel IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.full_name IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.mobile IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.email IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.wechat IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.company IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.account IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.country IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.prov_name IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.city_name IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.industry IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.ccp_value IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.mobile_phone_date_ind IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.mobile_phone_availability IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.email_data_ind IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.email_availability IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.crm_active_time IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.scrm_active_time IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.livechat_active_time IS '';
|
||||
COMMENT ON COLUMN p60_mart.cust_all_info.last_activate_time IS '';
|
||||
|
||||
COMMENT ON TABLE p60_mart.cust_all_info IS '';
|
|
@ -0,0 +1,224 @@
|
|||
/***************************************************************************************************/
|
||||
/*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM) */
|
||||
/*VERSION 01.10 revised on 2020-08-25 */
|
||||
/*Brilliance stems from wisdoms. */
|
||||
/*************Head Section**************************************************************************/
|
||||
/*Script Use: Periodically load data to :cust_all_info(客户信息) */
|
||||
/*Create Date:2024-05-06 17:43:39 */
|
||||
/*SDM Developed By: dev */
|
||||
/*SDM Developed Date: 2024-01-19 */
|
||||
/*SDM Checked By: dev */
|
||||
/*SDM Checked Date: 2024-05-06 */
|
||||
/*Script Developed By: dev */
|
||||
/*Script Checked By: dev */
|
||||
/*Source table 1: :COMMDB.d_crm_contact */
|
||||
/*Source table 2: p30_common.cust_contact_info */
|
||||
/*Source table 3: :COMMDB.d_livechat_contact */
|
||||
/*Source table 4: :COMMDB.d_scrm_contact */
|
||||
/*Source table 5: :COMMDB.cust_leads */
|
||||
/*Job Type: Inbound transform (Tier 1 to Tier 2) */
|
||||
/*Target Table:cust_all_info */
|
||||
/*ETL Job Name:cust_all_info */
|
||||
/*ETL Frequency:Daily */
|
||||
/*ETL Policy:F1 */
|
||||
/********************************************************************************************/
|
||||
/*******Main Section**************************************************************************/
|
||||
\set ON_ERROR_STOP on
|
||||
\set AUTOCOMMIT on
|
||||
\timing on
|
||||
|
||||
|
||||
|
||||
/*创建临时表加载当前数据 */
|
||||
CREATE TEMPORARY TABLE cust_all_info_agi_CUR_I
|
||||
( LIKE :MARTDB.cust_all_info)
|
||||
ON COMMIT PRESERVE ROWS;
|
||||
|
||||
|
||||
/*****************************************************************************************************/
|
||||
/* GROUP 1:Source Table:cust_contact_info*************************************************************/
|
||||
/*****************************************************************************************************/
|
||||
|
||||
INSERT INTO cust_all_info_agi_CUR_I (
|
||||
contact_id /*联系编号*/
|
||||
,contact /*联系方式*/
|
||||
,contact_channel /*联系渠道*/
|
||||
,full_name /*姓名*/
|
||||
,mobile /*手机号*/
|
||||
,email /*邮箱*/
|
||||
,wechat /*微信*/
|
||||
,company /*公司*/
|
||||
,account /*账户*/
|
||||
,country /*国家*/
|
||||
,prov_name /*省份*/
|
||||
,city_name /*城市*/
|
||||
,industry /*行业*/
|
||||
,mobile_phone_data_ind /*手机号是否有数据*/
|
||||
,mobile_phone_availability /*手机号是否合规*/
|
||||
,email_data_ind /*邮箱是否有数据*/
|
||||
,email_availability /*邮箱是否合规*/
|
||||
,crm_active_time /*CRM系统活跃时间*/
|
||||
,scrm_active_time /*SCRM系统活跃时间*/
|
||||
,livechat_active_time /*Livechat系统活跃时间*/
|
||||
,last_activate_time /*最后活跃时间*/
|
||||
,udesk_active_time /*Udesk系统活跃时间*/
|
||||
,crm_create_time /*CRM创建时间*/
|
||||
,scrm_create_time /*SCRM创建时间*/
|
||||
,livechat_create_time /*Livechat创建时间*/
|
||||
,lease_create_time /*最早创建时间*/
|
||||
,src_sysname /*来源系统*/
|
||||
,src_table /*来源表*/
|
||||
,etl_job /*作业名称*/
|
||||
,etl_first_dt /*最初入库时间*/
|
||||
,etl_proc_dt /*本次入库时间*/
|
||||
,etl_tx_dt /*作业运行时间*/
|
||||
,etl_batch_no /*作业批次号*/
|
||||
)
|
||||
SELECT
|
||||
p1.contact_id /*contact_id*/
|
||||
,p1.contact /*contact*/
|
||||
,p1.contact_channel /*contact_channel*/
|
||||
,p1.full_name /*full_name*/
|
||||
,p1.mobile /*mobile*/
|
||||
,p1.email /*email*/
|
||||
,p1.wechat /*wechat*/
|
||||
,p1.company /*company*/
|
||||
,p1.account /*account*/
|
||||
,p1.country /*country*/
|
||||
,p1.prov_name /*prov_name*/
|
||||
,p1.city_name /*city_name*/
|
||||
,COALESCE(p1.industry,'') /*industry*/
|
||||
,coalesce(p2.mobile_phone_data_ind::text,p3.mobile_phone_data_ind::text,p4.mobile_phone_data_ind::text,'0') /*mobile_phone_data_ind*/
|
||||
,coalesce(p2.mobile_phone_availability, p3.mobile_phone_availability,p4.mobile_phone_availability,'0') /*mobile_phone_availability*/
|
||||
,coalesce(p2.email_date_ind::text,p3.email_date_ind::text,p4.email_data_ind::text,'0') /*email_data_ind*/
|
||||
,coalesce(p2.email_availability , p3.email_availability,p4.email_availability,'0') /*email_availability*/
|
||||
,coalesce(p5.active_time,'1900-01-01') /*crm_active_time*/
|
||||
,coalesce(p6.active_time,'1900-01-01') /*scrm_active_time*/
|
||||
,coalesce(p7.active_time,'1900-01-01') /*livechat_active_time*/
|
||||
,greatest(coalesce(p5.active_time,'1900-01-01'),coalesce(p6.active_time,'1900-01-01'),coalesce(p7.active_time,'1900-01-01'),coalesce(p8.active_time,'1900-01-01')) /*last_activate_time*/
|
||||
,coalesce(p8.active_time,'1900-01-01') /*udesk_active_time*/
|
||||
,coalesce(p2.create_time,'9999-12-31') /*crm_create_time*/
|
||||
,coalesce(p3.create_time,'9999-12-31') /*scrm_create_time*/
|
||||
,coalesce(p4.create_time,'9999-12-31') /*livechat_create_time*/
|
||||
,least(coalesce(p2.create_time,'9999-12-31'),coalesce(p3.create_time,'9999-12-31'),coalesce(p4.create_time,'9999-12-31')) /*lease_create_time*/
|
||||
,Substr('cust_contact_info',1,3) /*src_sysname*/
|
||||
,'cust_contact_info' /*src_table*/
|
||||
,:ETLJOB /*etl_job*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_first_dt*/
|
||||
,current_timestamp(0) /*etl_proc_dt*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*etl_tx_dt*/
|
||||
,0 /*etl_batch_no*/
|
||||
|
||||
FROM p30_common.cust_contact_info p1
|
||||
LEFT JOIN :COMMDB.d_crm_contact p2
|
||||
ON p1.crm_contact =p2.crm_contact_account
|
||||
LEFT JOIN :COMMDB.d_scrm_contact p3
|
||||
ON p1.scrm_contact =p3.scrm_leads_id
|
||||
LEFT JOIN :COMMDB.d_livechat_contact p4
|
||||
ON p1.livechat_contact =p4.livechat_leads_id
|
||||
LEFT JOIN :COMMDB.cust_leads p5
|
||||
ON p1.crm_contact =p5.contact_account
|
||||
and p5.contact_channel='CRM'
|
||||
LEFT JOIN :COMMDB.cust_leads p6
|
||||
ON p1.scrm_contact =p6.contact_account
|
||||
and p6.contact_channel='SCRM'
|
||||
LEFT JOIN :COMMDB.cust_leads p7
|
||||
ON p1.livechat_contact =p7.contact_account
|
||||
and p7.contact_channel='Livechat'
|
||||
LEFT JOIN :COMMDB.cust_leads p8
|
||||
ON p1.udesk_contact =p8.contact_account
|
||||
and p8.contact_channel ='Udesk'
|
||||
|
||||
order by p1.contact_id ,p5.active_time desc ,p6.active_time desc,p7.active_time desc,p8.active_time desc
|
||||
;
|
||||
|
||||
|
||||
create temporary table cust_all_info_temp
|
||||
as select distinct on (contact_id) * from cust_all_info_agi_CUR_I;
|
||||
|
||||
delete from cust_all_info_agi_CUR_I;
|
||||
insert into cust_all_info_agi_CUR_I
|
||||
select * from cust_all_info_temp;
|
||||
/*从目标表中删除所有数据 cust_all_info(客户信息) */
|
||||
DELETE FROM :MARTDB.cust_all_info
|
||||
WHERE ETL_JOB=:ETLJOB;
|
||||
|
||||
|
||||
/*将新增数据插入到目标表 */
|
||||
;INSERT INTO :MARTDB.cust_all_info (
|
||||
contact_id /*联系编号*/
|
||||
,contact /*联系方式*/
|
||||
,contact_channel /*联系渠道*/
|
||||
,full_name /*姓名*/
|
||||
,mobile /*手机号*/
|
||||
,email /*邮箱*/
|
||||
,wechat /*微信*/
|
||||
,company /*公司*/
|
||||
,account /*账户*/
|
||||
,country /*国家*/
|
||||
,prov_name /*省份*/
|
||||
,city_name /*城市*/
|
||||
,industry /*行业*/
|
||||
,mobile_phone_data_ind /*手机号是否有数据*/
|
||||
,mobile_phone_availability /*手机号是否合规*/
|
||||
,email_data_ind /*邮箱是否有数据*/
|
||||
,email_availability /*邮箱是否合规*/
|
||||
,crm_active_time /*CRM系统活跃时间*/
|
||||
,scrm_active_time /*SCRM系统活跃时间*/
|
||||
,livechat_active_time /*Livechat系统活跃时间*/
|
||||
,last_activate_time /*最后活跃时间*/
|
||||
,udesk_active_time /*Udesk系统活跃时间*/
|
||||
,crm_create_time /*CRM创建时间*/
|
||||
,scrm_create_time /*SCRM创建时间*/
|
||||
,livechat_create_time /*Livechat创建时间*/
|
||||
,lease_create_time /*最早创建时间*/
|
||||
,src_sysname /*来源系统*/
|
||||
,src_table /*来源表*/
|
||||
,etl_job /*作业名称*/
|
||||
,etl_first_dt /*最初入库时间*/
|
||||
,etl_proc_dt /*本次入库时间*/
|
||||
,etl_tx_dt /*作业运行时间*/
|
||||
,etl_batch_no /*作业批次号*/
|
||||
|
||||
)
|
||||
SELECT
|
||||
P1.contact_id /*联系编号*/
|
||||
,P1.contact /*联系方式*/
|
||||
,P1.contact_channel /*联系渠道*/
|
||||
,P1.full_name /*姓名*/
|
||||
,P1.mobile /*手机号*/
|
||||
,P1.email /*邮箱*/
|
||||
,P1.wechat /*微信*/
|
||||
,P1.company /*公司*/
|
||||
,P1.account /*账户*/
|
||||
,P1.country /*国家*/
|
||||
,P1.prov_name /*省份*/
|
||||
,P1.city_name /*城市*/
|
||||
,P1.industry /*行业*/
|
||||
,P1.mobile_phone_data_ind /*手机号是否有数据*/
|
||||
,P1.mobile_phone_availability /*手机号是否合规*/
|
||||
,P1.email_data_ind /*邮箱是否有数据*/
|
||||
,P1.email_availability /*邮箱是否合规*/
|
||||
,P1.crm_active_time /*CRM系统活跃时间*/
|
||||
,P1.scrm_active_time /*SCRM系统活跃时间*/
|
||||
,P1.livechat_active_time /*Livechat系统活跃时间*/
|
||||
,P1.last_activate_time /*最后活跃时间*/
|
||||
,P1.udesk_active_time /*Udesk系统活跃时间*/
|
||||
,P1.crm_create_time /*CRM创建时间*/
|
||||
,P1.scrm_create_time /*SCRM创建时间*/
|
||||
,P1.livechat_create_time /*Livechat创建时间*/
|
||||
,P1.lease_create_time /*最早创建时间*/
|
||||
,P1.src_sysname /*来源系统*/
|
||||
,P1.src_table /*来源表*/
|
||||
,P1.etl_job /*作业名称*/
|
||||
,P1.etl_first_dt /*最初入库时间*/
|
||||
,P1.etl_proc_dt /*本次入库时间*/
|
||||
,P1.etl_tx_dt /*作业运行时间*/
|
||||
,P1.etl_batch_no /*作业批次号*/
|
||||
|
||||
FROM cust_all_info_agi_CUR_I P1
|
||||
|
||||
;
|
||||
/*****程序结束退出 */
|
||||
\q
|
||||
|
Loading…
Reference in New Issue