Exemple : utilisation des marques TempTable et OutputTempTable

Un processus Sélection1 sélectionne 10 000 clients « Gold » (par exemple, Indiv.AcctType = ‘Gold’). Ensuite, vous connectez Sélection1 à un deuxième processus de sélection (« Sélection2 ») à l’aide d’une requête SQL brute :

Select p.CustID from Indiv p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500

Dans cet exemple, la sélection concerne les clients dont le montant total des achats dépasse 500 € et qui se trouvent dans la cellule source (càd les clients détenant un compte de type « Gold »).

Dans l’exemple suivant, la requête SQL brute omet la marque <TempTable> et la jointure :

Select p.CustID from Purchases p group by p.CustID having sum(p.PurchAmt) > 500

La requête calcule le montant total des achats de tous les clients (ils peuvent être des millions) dans la table Purchases, puis sélectionne tous les clients dont le montant total des achats dépasse 500 €, tous types confondus (« Gold » et autres).

Therefore, for best performance, even if in-DB optimization is disabled, write your raw SQL queries using the <TempTable> token when there is an input cell.

Pour plus de simplicité, cet exemple ne comporte pas de marque <OutputTempTable> mais vous devez inclure cette marque dans votre requête SQL brute afin de conserver les optimisations de BD et d’empêcher le renvoi des identifiants de référentiel de la BD au serveur Campaign. Par exemple :

Create table <OutputTempTable> as Select p.CustID from Purchases p, <TempTable> where p.CustID = <TempTable>.CustID group by p.CustID having sum(p.PurchAmt) > 500



IBM Unica Campaign
 
8.5.0
For more information, see our support and community site: Customer Central