RowsPerPartition - Analytics Database

Database Analytic Functions

Deployment
VantageCloud
VantageCore
Edition
Enterprise
IntelliFlex
VMware
Product
Analytics Database
Release Number
17.20
Published
June 2022
Language
English (United States)
Last Update
2024-10-04
dita:mapPath
gjn1627595495337.ditamap
dita:ditavalPath
ayr1485454803741.ditaval
dita:id
jmh1512506877710
Product Category
Teradata Vantageā„¢

The following example assumes the titanic dataset table exists:

DROP TABLE titanic_dataset_unpivoted;
CREATE MULTISET TABLE titanic_dataset_unpivoted (
      passenger INTEGER,
      AttributeName VARCHAR(128) CHARACTER SET UNICODE NOT CASESPECIFIC,
      AttributeValue VARCHAR(20) CHARACTER SET UNICODE NOT CASESPECIFIC,
      survived INTEGER
) PRIMARY INDEX ( passenger );
Insert into titanic_dataset_unpivoted(2, 'pclass', '1', 1);
Insert into titanic_dataset_unpivoted(2, 'gender',    'female', 1);
Insert into titanic_dataset_unpivoted(4, 'pclass', '1', 1);
Insert into titanic_dataset_unpivoted(4, 'gender',    'female', 1);
Insert into titanic_dataset_unpivoted(7, 'pclass', '1', 0);
Insert into titanic_dataset_unpivoted(7, 'gender',    'male', 0);
Insert into titanic_dataset_unpivoted(10, 'pclass', '2', 1);
Insert into titanic_dataset_unpivoted(10, 'gender',    'female', 1);
Insert into titanic_dataset_unpivoted(16, 'pclass', '2', 1);
Insert into titanic_dataset_unpivoted(16, 'gender',    'female', 1);
Insert into titanic_dataset_unpivoted(21, 'pclass', '2', 0);
Insert into titanic_dataset_unpivoted(21, 'gender',    'male', 0);
Insert into titanic_dataset_unpivoted(40, 'pclass', '3', 1);
Insert into titanic_dataset_unpivoted(40, 'gender',    'female', 1);
Insert into titanic_dataset_unpivoted(61, 'pclass', '3', 0);
Insert into titanic_dataset_unpivoted(61, 'gender',    'male', 0);
Insert into titanic_dataset_unpivoted(1000, 'pclass', '3', 1);
Insert into titanic_dataset_unpivoted(1000, 'gender', NULL, 1);

Calling TD_Pivoting with RowsPerPartition

SELECT * FROM TD_Pivoting (
  ON titanic_dataset_unpivoted AS InputTable PARTITION BY passenger order by AttributeName
  USING
  PartitionColumns ('passenger')
  TargetColumns ('AttributeValue')
  Accumulate ('survived')
  RowsPerPartition (2)
) AS dt Order By passenger;

TD_Pivoting Output

passenger AttributeValue_0 AttributeValue_1 survived
--------- ---------------- ---------------- --------
2         1                female           1
4         1                female           1
7         1                male             0
10        2                female           1
16        2                female           1
21        2                male             0
40        3                female           1
61        3                male             0
1000      3                ?                1