Attention : Ce code nécessite des droits administrateur.
Le script utilise une connexion pass-through via PROC SQL pour se connecter à une base de données Netezza. Il exécute des instructions DDL (Data Definition Language) pour altérer trois tables existantes (cdm_contact_history, cdm_response_history, cdm_task_detail) en y ajoutant de nouvelles colonnes. De plus, il crée deux nouvelles tables (cdm_segment_test et cdm_segment_test_x_segment) nécessaires au modèle de données mis à jour. Les informations de connexion sont paramétrées via des variables macro.
Analyse des données
Type : EXTERNE
Le script n'utilise aucune donnée SAS. Il opère exclusivement sur des tables d'une base de données externe Netezza, en modifiant leur structure (schéma).
1 Bloc de code
Macro
Explication : Ce bloc définit des variables macro pour stocker les informations de connexion (utilisateur, mot de passe, nom de la base, serveur) à la base de données Netezza. Cela permet de paramétrer le script sans modifier le code principal.
Copié !
/*======================================================================*/
/* Enter Customer Specific Target Source Connection Values - Netezza */
/*======================================================================*/
%let user = <user>; /* Netezza User */
%let pass = <password>; /* Netezza Password */
%let db = <database>; /* Netezza Database */
%let server = <server>; /* Netezza Server */
Explication : Ce bloc utilise la procédure PROC SQL pour se connecter à la base Netezza en utilisant les macros définies précédemment. Il exécute ensuite des commandes SQL natives via la clause EXECUTE ... BY NETEZZA pour altérer et créer des tables. L'option NOERRORSTOP assure que le script continue même si une commande échoue. La connexion est ensuite fermée avec DISCONNECT.
Copié !
PROC SQL NOERRORSTOP;
CONNECT TO NETEZZA (USER=&USER PASS=&PASS DB=&DB SERVER=&SERVER);
/*** cdm_contact_history ***/
EXECUTE(ALTER TABLE cdm_contact_history ADD control_group_flg CHAR(1) NULL) BY NETEZZA;
/*** cdm_response_history ***/
EXECUTE(ALTER TABLE cdm_response_history ADD properties_map_doc VARCHAR(4000) NULL) BY NETEZZA;
/*** cdm_task_detail ***/
EXECUTE(ALTER TABLE cdm_task_detail ADD control_group_action_nm VARCHAR(65) NULL) BY NETEZZA;
EXECUTE(ALTER TABLE cdm_task_detail ADD stratified_sampling_action_nm VARCHAR(65) NULL) BY NETEZZA;
EXECUTE(ALTER TABLE cdm_task_detail ADD segment_tests_flg CHAR(1) NULL) BY NETEZZA;
EXECUTE (CREATE TABLE cdm_segment_test
(
test_cd VARCHAR(60) NOT NULL ,
task_version_id VARCHAR(36) NOT NULL ,
task_id VARCHAR(36) NOT NULL ,
test_nm VARCHAR(65) ,
test_type_nm VARCHAR(10) ,
test_enabled_flg CHAR(1) ,
test_sizing_type_nm VARCHAR(65) ,
test_cnt INTEGER ,
test_pct NUMERIC(5,2) ,
stratified_sampling_flg CHAR(1) ,
stratified_samp_criteria_txt VARCHAR(1024) ,
updated_dttm TIMESTAMP
)
DISTRIBUTE ON (test_cd)
)
BY NETEZZA;
EXECUTE (CREATE TABLE cdm_segment_test_x_segment
(
test_cd VARCHAR(60) NOT NULL ,
task_version_id VARCHAR(36) NOT NULL ,
task_id VARCHAR(36) NOT NULL ,
segment_id VARCHAR(36) ,
updated_dttm TIMESTAMP
)
DISTRIBUTE ON (test_cd)
)
BY NETEZZA;
DISCONNECT FROM NETEZZA;
QUIT;
1
PROC SQL NOERRORSTOP;
2
3
CONNECT TO NETEZZA (USER=&USER PASS=&PASS DB=&DB SERVER=&SERVER);
4
5
/*** cdm_contact_history ***/
6
EXECUTE(ALTER TABLE cdm_contact_history ADD control_group_flg CHAR(1) NULL) BY NETEZZA;
7
8
/*** cdm_response_history ***/
9
EXECUTE(ALTER TABLE cdm_response_history ADD properties_map_doc VARCHAR(4000) NULL) BY NETEZZA;
10
11
/*** cdm_task_detail ***/
12
EXECUTE(ALTER TABLE cdm_task_detail ADD control_group_action_nm VARCHAR(65) NULL) BY NETEZZA;
13
EXECUTE(ALTER TABLE cdm_task_detail ADD stratified_sampling_action_nm VARCHAR(65) NULL) BY NETEZZA;
14
EXECUTE(ALTER TABLE cdm_task_detail ADD segment_tests_flg CHAR(1) NULL) BY NETEZZA;
15
16
EXECUTE (CREATE TABLE cdm_segment_test
17
(
18
test_cd VARCHAR(60) NOT NULL ,
19
task_version_id VARCHAR(36) NOT NULL ,
20
task_id VARCHAR(36) NOT NULL ,
21
test_nm VARCHAR(65) ,
22
test_type_nm VARCHAR(10) ,
23
test_enabled_flg CHAR(1) ,
24
test_sizing_type_nm VARCHAR(65) ,
25
test_cnt INTEGER ,
26
test_pct NUMERIC(5,2) ,
27
stratified_sampling_flg CHAR(1) ,
28
stratified_samp_criteria_txt VARCHAR(1024) ,
29
updated_dttm TIMESTAMP
30
)
31
DISTRIBUTE ON (test_cd)
32
)
33
BY NETEZZA;
34
35
EXECUTE (CREATE TABLE cdm_segment_test_x_segment
36
(
37
test_cd VARCHAR(60) NOT NULL ,
38
task_version_id VARCHAR(36) NOT NULL ,
39
task_id VARCHAR(36) NOT NULL ,
40
segment_id VARCHAR(36) ,
41
updated_dttm TIMESTAMP
42
)
43
DISTRIBUTE ON (test_cd)
44
)
45
BY NETEZZA;
46
47
DISCONNECT FROM NETEZZA;
48
QUIT;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.