#!/bin/bash echo -e " \n----------- ACCEPTING NUMBER OF DAYS BEFORE THE RUN DATE FOR WHICH THE REPORT IS TO BE RUN --------------\n" backDay=$1 echo $backDay echo -e " \n------------- DATE IN THE REQUIRED FORMAT --------------\n" reportDate=$(date -d"$backDay day ago" "+%Y-%m-%d") date echo 'reportDate'=$reportDate echo " drop table if exists raena_analytics.monthly_sold_product; create table raena_analytics.monthly_sold_product as select brand_name , brand_page_url , sum(product_sold) product_sold from ( select * from raena_spider_management.rce_brand ) rceb left join ( select * from raena_spider_management.rce_product ) rcep on rcep.rce_brand_id = rceb.id where product_sold is not null and brand_name is not null and brand_name != '' group by brand_name, brand_page_url order by sum(product_sold) desc; drop table if exists raena_analytics.avg_sold_product; create table raena_analytics.avg_sold_product as select distinct brand_name , brand_page_url , avg(ratings) avg_ratings from ( select * from raena_spider_management.rce_brand ) rceb left join ( select * from raena_spider_management.rce_product ) rcep on rcep.rce_brand_id = rceb.id where ratings is not null and brand_name is not null and brand_name != '' group by brand_name, brand_page_url order by avg(ratings) desc; drop table if exists raena_analytics.total_sold_product; create table raena_analytics.total_sold_product as select brand_name , brand_page_url , rceb.rce_source_id, sum(product_sold_total) product_sold_total, sum(product_sold) product_sold, avg(ratings) avg_ratings, count(distinct rcers.id) number_of_reseller_store_selling, CASE WHEN LOWER(brand_name) = LOWER(b.name) then true ELSE false END ss_present_in_Raena, b.name raena_brand_name, number_of_products_in_raena from ( select * from raena_spider_management.rce_brand ) rceb left join ( select * from raena_spider_management.rce_product ) rcep on rcep.rce_brand_id = rceb.id and rceb.rce_source_id= rcep.rce_source_id left join ( select A.name , count(distinct B.sku) number_of_products_in_raena from raena_catalog_management.brand A left join raena_catalog_management.product B on A.id = B.brand_id group by 1 ) b on LOWER(b.name) = LOWER(rceb.brand_name) left join ( select * from raena_spider_management.rce_reseller_store ) rcers on rcers.id = rcep.rce_store_id where product_sold_total is not null and brand_name is not null and brand_name != '' group by brand_name, brand_page_url,rceb.rce_source_id,CASE WHEN LOWER(brand_name) = LOWER(b.name) then true ELSE false end,b.name,number_of_products_in_raena order by sum(product_sold_total) desc; drop table if exists raena_analytics.inventory_snapshot_dashboard_table ; create table raena_analytics.inventory_snapshot_dashboard_table as SELECT snp_date, sku_code,/*case WHEN warehouse_code='WH-CGK45' THEN 'Cikarang' WHEN warehouse_code='WH-SRG18' THEN 'Semarang' WHEN warehouse_code='WH-SUB51' THEN 'Surabaya' WHEN warehouse_code='WH-UPG04' THEN 'Makassar' WHEN warehouse_code='WH-MES07' THEN 'Medan' WHEN warehouse_code='WH-AAP02' THEN 'Samarinda' end*/ warehouse_code warehouse , min(inventory) inventory_remaining FROM raena_analytics.inventory_snapshot GROUP BY 1,2,3 ORDER BY 1,2,3; " > /home/ec2-user/cronjob/redshift/sql_code/sold_product.sql psql "host=redshift-cluster-1.cdqj58hfx4p7.ap-southeast-1.redshift.amazonaws.com user=dbadmin dbname=analytics port=5439 password=5qCif6eyY3Kmg4z" -f /home/ec2-user/cronjob/redshift/sql_code/sold_product.sql