Define Problem Statement – Daily Product Revenue¶
Let us try to get daily product revenue using retail tables.
- daily is derived from orders.order_date.
- product has to be derived from products.product_name.
- revenue has to be derived from order_items.order_item_subtotal.
- We need to join all the 3 tables, then group by order_date, product_id as well as product_name to get revenue using order_item_subtotal.
- Get Daily Product Revenue using products, orders and order_items data set.
- We have following fields in orders.
- order_id
- order_date
- order_customer_id
- order_status
- We have following fields in order_items.
- order_item_id
- order_item_order_id
- order_item_product_id
- order_item_quantity
- order_item_subtotal
- order_item_product_price
- We have following fields in products
- product_id
- product_category_id
- product_name
- product_description
- product_price
- product_image
- We have one to many relationship between orders and order_items.
- orders.order_id is primary key and order_items.order_item_order_id is foreign key to orders.order_id.
- We have one to many relationship between products and order_items.
- products.product_id is primary key and order_items.order_item_product_id is foreign key to products.product_id
- By the end of this module we will explore all standard transformations and get daily product revenue using following fields.
- orders.order_date
- order_items.order_item_product_id
- products.product_name
- order_items.order_item_subtotal (aggregated using date and product_id).
- We will consider only COMPLETE or CLOSED orders.
- As there can be more than one product names with different ids, we have to include product_id as part of the key using which we will group the data.