Icon

07_​Data_​Aggregation_​Solution

Data Aggregation - Solution

Solution to exercise 7 for the KNIME Analytics Platform for Data Wranglers course
- Calculate multiple aggregation using the Pivoting and GroupBy node
- Join grouped data
- Extract date fields from a DateTime value
- Handle missing values
- Manipulate strings
- Calculate new features using the Math Formula node




Exercise 7: Data AggregationIn this exercise you generate new columns by aggregating data by groups and create pivot tables that show aggregated values by two or more groups 2a) Calculate the total purchase amount by a quarter and a transaction type (Pivoting)2b) Set missing numeric values to zero2c) Combine the year and quarter information to a single column. Use "/" as separator. (String Manipulation node) 3a) (optional) Calculate the numbers of orders by a basket size and a transaction type 3.1 Calculate the number of purchased products by an order number. Retain the information on the transaction type. 3.2 Create a pivot table that shows the numbers of orders by a basket size and a transaction type3b) (optional) Set missing integers to zero3c) (optional) Calculate the proportions of the different basket sizes among each transaction type 4) (optional) Convert the dates of births of thecustomers to Date&Time and extract the birth yearinto a separate column 1a) Calculate the total purchase amount by a customer ID both in 2019 and earlier 1.1 Calculate the sum of product prices by a customer ID in the data for purchases in 2019 and retain theinformation whether or not a customer has signed up for the newsletter as well as the birthday (GroupBy node) 1.2 Rename the aggregated column to "Basket Sum 2019" 1.3 Calculate the sum of product prices by a customer ID concerning the purchases earlier than 2019. Rename theaggregated column to "Basket Sum Overall" 1.4 Use an inner join to join the aggregated columns on the CustomerID. (for now we are only interested in thecustomers who bought something in 2019 AND before 2019) Integer: 0Double: 0.0Transform Transaction Date into Date&Time FomatBasketSumper CustomerBasketSumper CustomerTransformBirthdayInteger: 0Share of column total"Year/Quarter"Top: 2019Bottom: Earlier than 2019Extract Birth Yearon Customer IDExtract QuarterAnd Year Pivoting Missing Value String to Date&Time GroupBy GroupBy String to Date&Time Column Rename Column Rename GroupBy Pivoting Missing Value Math Formula(Multi Column) String Manipulation Partition by time Extract Date&TimeFields Joiner Extract Date&TimeFields Read joined andpreprocessed data Exercise 7: Data AggregationIn this exercise you generate new columns by aggregating data by groups and create pivot tables that show aggregated values by two or more groups 2a) Calculate the total purchase amount by a quarter and a transaction type (Pivoting)2b) Set missing numeric values to zero2c) Combine the year and quarter information to a single column. Use "/" as separator. (String Manipulation node) 3a) (optional) Calculate the numbers of orders by a basket size and a transaction type 3.1 Calculate the number of purchased products by an order number. Retain the information on the transaction type. 3.2 Create a pivot table that shows the numbers of orders by a basket size and a transaction type3b) (optional) Set missing integers to zero3c) (optional) Calculate the proportions of the different basket sizes among each transaction type 4) (optional) Convert the dates of births of thecustomers to Date&Time and extract the birth yearinto a separate column 1a) Calculate the total purchase amount by a customer ID both in 2019 and earlier 1.1 Calculate the sum of product prices by a customer ID in the data for purchases in 2019 and retain theinformation whether or not a customer has signed up for the newsletter as well as the birthday (GroupBy node) 1.2 Rename the aggregated column to "Basket Sum 2019" 1.3 Calculate the sum of product prices by a customer ID concerning the purchases earlier than 2019. Rename theaggregated column to "Basket Sum Overall" 1.4 Use an inner join to join the aggregated columns on the CustomerID. (for now we are only interested in thecustomers who bought something in 2019 AND before 2019) Integer: 0Double: 0.0Transform Transaction Date into Date&Time FomatBasketSumper CustomerBasketSumper CustomerTransformBirthdayInteger: 0Share of column total"Year/Quarter"Top: 2019Bottom: Earlier than 2019Extract Birth Yearon Customer IDExtract QuarterAnd Year Pivoting Missing Value String to Date&Time GroupBy GroupBy String to Date&Time Column Rename Column Rename GroupBy Pivoting Missing Value Math Formula(Multi Column) String Manipulation Partition by time Extract Date&TimeFields Joiner Extract Date&TimeFields Read joined andpreprocessed data

Nodes

Extensions

Links