Example: How to Use TD_CFilter - Analytics Database

Database Analytic Functions

Deployment
VantageCloud
VantageCore
Edition
Enterprise
IntelliFlex
VMware
Product
Analytics Database
Release Number
17.20
Published
June 2022
ft:locale
en-US
ft:lastEdition
2025-04-01
dita:mapPath
gjn1627595495337.ditamap
dita:ditavalPath
qkf1628213546010.ditaval
dita:id
jmh1512506877710
Product Category
Teradata Vantageā„¢

Input Table

The following table contains grocery_transaction data.

DROP TABLE grocery_transaction;
CREATE TABLE grocery_transaction (tranid int, period varchar(20), storeid int, region varchar(20), item varchar(20), sku int, category varchar(20)) Primary index(tranid);
insert into grocery_transaction values(999,'20100715',1,'west','milk',1,'dairy');
insert into grocery_transaction values(999,'20100715',1,'west','butter',2,'dairy');
insert into grocery_transaction values(999,'20100715',1,'west','eggs',3,'dairy');
insert into grocery_transaction values(999,'19990715',1,'west','flour',4,'baking');
insert into grocery_transaction values(999,'19990715',1,'west','spinach',4,'produce');
insert into grocery_transaction values(1000,'20100715',1,'west','milk',1,'dairy');
insert into grocery_transaction values(1000,'20100715',1,'west','eggs',3,'dairy');
insert into grocery_transaction values(1000,'19990715',1,'west','flour',4,'baking');
insert into grocery_transaction values(1000,'19990715',1,'west','spinach',2,'produce');
insert into grocery_transaction values(1001,'20100715',1,'west','milk',1,'dairy');
insert into grocery_transaction values(1001,'20100715',1,'west','butter',2,'dairy');
insert into grocery_transaction values(1001,'20100715',1,'west','eggs',3,'dairy');
insert into grocery_transaction values(1002,'20100715',1,'west','milk',1,'dairy');
insert into grocery_transaction values(1002,'20100715',1,'west','butter',2,'dairy');
insert into grocery_transaction values(1002,'20100715',1,'west','spinach',3,'produce');
insert into grocery_transaction values(1500,'20100715',3,'west','butter',2,'dairy');
insert into grocery_transaction values(1500,'20100715',3,'west','eggs',3,'dairy');
insert into grocery_transaction values(1500,'20100715',3,'west','flour',4,'baking');

SELECT Statement

SELECT * from grocery_transaction order by 1;

Result:

tranid period storeid region item sku category
999 20100715 1 west eggs 3 dairy
999 19990715 1 west spinach 4 produce
999 19990715 1 west flour 4 baking
999 20100715 1 west butter 2 dairy
999 20100715 1 west milk 1 dairy
1000 19990715 1 west flour 4 baking
1000 19990715 1 west spinach 2 produce
1000 20100715 1 west eggs 3 dairy
1000 20100715 1 west milk 1 dairy
1001 20100715 1 west eggs 3 dairy
1001 20100715 1 west butter 2 dairy
1001 20100715 1 west milk 1 dairy
1002 20100715 1 west spinach 3 produce
1002 20100715 1 west butter 2 dairy
1002 20100715 1 west milk 1 dairy
1500 20100715 3 west flour 4 baking
1500 20100715 3 west eggs 3 dairy
1500 20100715 3 west butter 2 dairy

Query 1 - Use Case without PartitionColumns

SELECT * FROM TD_CFilter (
  ON grocery_transaction AS InputTable
  USING
  TargetColumn ('item')
  TransactionIDColumns ('tranid')
  MaxDistinctItems(100)
) AS dt Order By 1,2;

Result:

TD_item1 TD_item2 cntb cnt1 cnt2 score support confidence lift z_score
butter eggs 3 4 4 5.625000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 9.375000000000000E-01 1.00000000000000E 000
butter flour 2 4 3 3.333333333333330E-01 4.000000000000000E-01 5.000000000000000E-01 8.333333333333330E-01 -1.00000000000000E 000
butter milk 3 4 4 5.625000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 9.375000000000000E-01 1.00000000000000E 000
butter spinach 2 4 3 3.333333333333330E-01 4.000000000000000E-01 5.000000000000000E-01 8.333333333333330E-01 -1.00000000000000E 000
eggs butter 3 4 4 5.625000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 9.375000000000000E-01 1.00000000000000E 000
eggs flour 3 4 3 7.500000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 1.25000000000000E 000 1.00000000000000E 000
eggs milk 3 4 4 5.625000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 9.375000000000000E-01 1.00000000000000E 000
eggs spinach 2 4 3 3.333333333333330E-01 4.000000000000000E-01 5.000000000000000E-01 8.333333333333330E-01 -1.00000000000000E 000
flour butter 2 3 4 3.333333333333330E-01 4.000000000000000E-01 6.666666666666670E-01 8.333333333333330E-01 -1.00000000000000E 000
flour eggs 3 3 4 7.500000000000000E-01 6.000000000000000E-01 1.00000000000000E 000 1.25000000000000E 000 1.00000000000000E 000
flour milk 2 3 4 3.333333333333330E-01 4.000000000000000E-01 6.666666666666670E-01 8.333333333333330E-01 -1.00000000000000E 000
flour spinach 2 3 3 4.444444444444440E-01 4.000000000000000E-01 6.666666666666670E-01 1.11111111111111E 000 -1.00000000000000E 000
milk butter 3 4 4 5.625000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 9.375000000000000E-01 1.00000000000000E 000
milk eggs 3 4 4 5.625000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 9.375000000000000E-01 1.00000000000000E 000
mlik flour 2 4 3 3.333333333333330E-01 4.000000000000000E-01 5.000000000000000E-01 8.333333333333330E-01 -1.00000000000000E 000
milk spinach 3 4 3 7.500000000000000E-01 6.000000000000000E-01 7.500000000000000E-01 1.25000000000000E 000 1.00000000000000E 000
spinach butter 2 3 4 3.333333333333330E-01 4.000000000000000E-01 6.666666666666670E-01 8.333333333333330E-01 -1.00000000000000E 000
spinach eggs 2 3 4 3.333333333333330E-01 4.000000000000000E-01 6.666666666666670E-01 8.333333333333330E-01 -1.00000000000000E 000
spinach flour 2 3 3 4.444444444444440E-01 4.000000000000000E-01 6.666666666666670E-01 1.11111111111111E 000 -1.00000000000000E 000
spinach milk 3 3 4 7.500000000000000E-01 6.000000000000000E-01 1.00000000000000E 000 1.25000000000000E 000 1.00000000000000E 000

Query 2 - Use Case with PartitionColumns

SELECT * FROM TD_CFilter (
  ON grocery_transaction AS InputTable
  USING
  TargetColumn ('item')
  TransactionIDColumns ('tranid')
  PartitionColumns ('storeid')
  MaxDistinctItems(100)
) AS dt Order By 1,2,3;

Result:

storeid TD_item1 TD_item2 cntb cnt1 cnt2 score support confidence lift z_score
1 butter eggs 2 3 3 4.444444444444440E-01 5.000000000000000E-01 6.666666666666670E-01 8.888888888888890E-01 -3.333333333333340E-01
1 butter flour 1 3 2 1.666666666666670E-01 2.500000000000000E-01 3.333333333333330E-01 6.666666666666670E-01 -2.00000000000000E 000
1 butter milk 3 3 4 7.500000000000000E-01 7.500000000000000E-01 1.00000000000000E 000 1.00000000000000E 000 1.33333333333333E 000
1 butter spinach 2 3 3 4.444444444444440E-01 5.000000000000000E-01 6.666666666666670E-01 8.888888888888890E-01 -3.333333333333340E-01
1 eggs butter 2 3 3 4.444444444444440E-01 5.000000000000000E-01 6.666666666666670E-01 8.888888888888890E-01 -3.333333333333340E-01
1 eggs flour 2 3 2 6.666666666666670E-01 5.000000000000000E-01 6.666666666666670E-01 1.33333333333333E 000 -3.333333333333340E-01
1 eggs milk 3 3 4 7.500000000000000E-01 7.500000000000000E-01 1.00000000000000E 000 1.00000000000000E 000 1.33333333333333E 000
1 eggs spinach 2 3 3 4.444444444444440E-01 5.000000000000000E-01 6.666666666666670E-01 8.888888888888890E-01 -3.333333333333340E-01
1 flour butter 1 2 3 1.666666666666670E-01 2.500000000000000E-01 5.000000000000000E-01 6.666666666666670E-01 -2.00000000000000E 000
1 flour eggs 2 2 3 6.666666666666670E-01 5.000000000000000E-01 1.00000000000000E 000 1.33333333333333E 000 -3.333333333333340E-01
1 flour milk 2 2 4 5.000000000000000E-01 5.000000000000000E-01 1.00000000000000E 000 1.00000000000000E 000 -3.333333333333340E-01
1 flour spinach 2 2 3 6.666666666666670E-01 5.000000000000000E-01 1.00000000000000E 000 1.33333333333333E 000 -3.333333333333340E-01
1 milk butter 3 4 3 7.500000000000000E-01 7.500000000000000E-01 7.500000000000000E-01 1.00000000000000E 000 1.33333333333333E 000
1 milk eggs 3 4 3 7.500000000000000E-01 7.500000000000000E-01 7.500000000000000E-01 1.00000000000000E 000 1.33333333333333E 000
1 milk flour 2 4 2 5.000000000000000E-01 5.000000000000000E-01 5.000000000000000E-01 1.00000000000000E 000 -3.333333333333340E-01
1 milk spinach 3 4 3 7.500000000000000E-01 7.500000000000000E-01 7.500000000000000E-01 1.00000000000000E 000 1.33333333333333E 000
1 spinach butter 2 3 3 4.444444444444440E-01 5.000000000000000E-01 6.666666666666670E-01 8.888888888888890E-01 -3.333333333333340E-01
1 spinach eggs 2 3 3 4.444444444444440E-01 5.000000000000000E-01 6.666666666666670E-01 8.888888888888890E-01 -3.333333333333340E-01
1 spinach flour 2 3 2 6.666666666666670E-01 5.000000000000000E-01 6.666666666666670E-01 1.33333333333333E 000 -3.333333333333340E-01
1 spinach milk 3 3 4 7.500000000000000E-01 7.500000000000000E-01 1.00000000000000E 000 1.00000000000000E 000 1.33333333333333E 000
3 butter eggs 1 1 1 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 ?
3 butter flour 1 1 1 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 ?
3 eggs butter 1 1 1 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 ?
3 eggs flour 1 1 1 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 ?
3 flour butter 1 1 1 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 ?
3 flour eggs 1 1 1 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 1.00000000000000E 000 ?