Slackbot
05/04/2023, 8:15 AMAbhishek Agarwal
05/04/2023, 9:03 AMD K
05/04/2023, 10:14 AMD K
05/04/2023, 10:15 AMD K
05/04/2023, 10:17 AMAbhishek Agarwal
05/04/2023, 11:18 AMAbhishek Agarwal
05/04/2023, 11:18 AMD K
05/04/2023, 11:31 AMD K
05/04/2023, 11:31 AMD K
05/04/2023, 11:32 AMD K
05/04/2023, 11:32 AMD K
05/04/2023, 11:35 AMAbhishek Agarwal
05/04/2023, 12:35 PMD K
05/04/2023, 12:55 PMJohn Kowtko
05/04/2023, 12:57 PMwhere fe.manf_desc = 'BDD' OR fe.manf_desc = outer_table.top5manf_desc
to see if it gets around the error?D K
05/04/2023, 12:59 PMD K
05/04/2023, 1:28 PMD K
05/04/2023, 1:29 PMwith me_revenue as (select SUM(fe.dist_total_revenue) as me_rev,
fe.sales_year,
fe.sales_month,
fe.sales_quarter from denorm_fact_extrapolated_unspsc fe
-- INNER join
where __time BETWEEN TIME_PARSE ('2019-01-31T00:00:00.000Z')
AND TIME_PARSE ('2023-01-31T00:00:00.000Z')
AND fe.manf_desc = 'BD'
AND fe.taxonomy_id IN(
SELECT
unspsc_code
FROM
denorm_manf_entitlements
WHERE
email_address= '<mailto:a@dr.com|a@dr.com>'
)
group by fe.sales_year,
fe.sales_month,
fe.sales_quarter
),
manf_total_revenue as (select SUM(fe.dist_total_revenue) as manf_tot_rev,
fe.sales_year,
fe.sales_month,
fe.sales_quarter from denorm_fact_extrapolated_unspsc fe
-- INNER join
where fe.manf_desc in (SELECT
manf_desc as top5manf_desc
FROM
denorm_fact_extrapolated_unspsc fes
where
__time BETWEEN TIME_PARSE ('2019-01-31T00:00:00.000Z')
AND TIME_PARSE ('2023-01-31T00:00:00.000Z')
AND fes.manf_desc != 'BD'
and fes.taxonomy_id in (
SELECT
unspsc_code
FROM
denorm_manf_entitlements
where
email_address= '<mailto:a@dr.com|a@dr.com>'
)
group by
manf_desc
order by
SUM(fes.dist_total_revenue) desc
limit
5
)
-- top5manf on manf_desc = top5manf_desc
-- WHERE
AND
__time BETWEEN TIME_PARSE ('2019-01-31T00:00:00.000Z')
AND TIME_PARSE ('2023-01-31T00:00:00.000Z')
-- or fe.manf_desc = 'BD'
AND fe.taxonomy_id IN(
SELECT
unspsc_code
FROM
denorm_manf_entitlements
WHERE
email_address= '<mailto:a@dr.com|a@dr.com>'
)
group by fe.sales_year,
fe.sales_month,
fe.sales_quarter
),
temp_table as (SELECT
manf_desc as top5manf_desc
FROM
denorm_fact_extrapolated_unspsc fes
where
__time BETWEEN TIME_PARSE ('2019-01-31T00:00:00.000Z')
AND TIME_PARSE ('2023-01-31T00:00:00.000Z')
AND fes.manf_desc != 'BD'
and fes.taxonomy_id in (
SELECT
unspsc_code
FROM
denorm_manf_entitlements
where
email_address= '<mailto:a@dr.com|a@dr.com>'
)
group by
manf_desc
order by
SUM(fes.dist_total_revenue) desc
limit
5
),
manf_revenue AS (
SELECT
fe.manf_desc AS manf_desc,
SUM(fe.dist_total_revenue) AS manf_dist_total_revenue,
sales_year,
sales_month,
sales_quarter
FROM
denorm_fact_extrapolated_unspsc fe
WHERE
__time BETWEEN TIME_PARSE ('2019-01-31T00:00:00.000Z')
AND TIME_PARSE ('2023-01-31T00:00:00.000Z')
AND fe.taxonomy_id IN (
SELECT
unspsc_code
FROM
denorm_manf_entitlements
WHERE
email_address= '<mailto:a@dr.com|a@dr.com>'
)
AND (fe.manf_desc ='BD'
OR fe.manf_desc IN ( select top5manf_desc from temp_table))
GROUP BY
fe.manf_desc,
sales_year,
sales_month,
sales_quarter
),
total_revenue AS (
SELECT
SUM(fes.dist_total_revenue) AS total_rev,
sales_year,
sales_month,
sales_quarter
FROM
denorm_fact_extrapolated_unspsc fes
WHERE
__time BETWEEN TIME_PARSE ('2019-01-31T00:00:00.000Z')
AND TIME_PARSE ('2023-01-31T00:00:00.000Z')
AND fes.taxonomy_id IN(
SELECT
unspsc_code
FROM
denorm_manf_entitlements
WHERE
email_address= '<mailto:a@dr.com|a@dr.com>'
)
GROUP BY
sales_year,
sales_month,
sales_quarter
)
SELECT
manf_desc,
mr.sales_year,
mr.sales_month,
mr.sales_quarter,
total_rev as total_revenue,
manf_dist_total_revenue,
(
manf_dist_total_revenue / total_rev
)* 100 AS percentage,
(total_rev - (me_rev + manf_tot_rev)) as others_revenue,
((total_rev - (me_rev + manf_tot_rev)) / total_rev)* 100 AS others_percentage
FROM
manf_revenue mr
JOIN total_revenue tr ON mr.sales_year = tr.sales_year
AND mr.sales_month = tr.sales_month
AND mr.sales_quarter = tr.sales_quarter
JOIN me_revenue ot ON mr.sales_year = ot.sales_year
AND mr.sales_month = ot.sales_month
AND mr.sales_quarter = ot.sales_quarter
JOIN manf_total_revenue mtr ON mr.sales_year = mtr.sales_year
AND mr.sales_month = mtr.sales_month
AND mr.sales_quarter = mtr.sales_quarter
D K
05/04/2023, 1:30 PMJohn Kowtko
05/04/2023, 1:37 PMmanf_revenue AS (
SELECT fe.manf_desc AS manf_desc,
SUM(fe.dist_total_revenue) AS manf_dist_total_revenue,
sales_year,
sales_month,
sales_quarter
FROM denorm_fact_extrapolated_unspsc fe
LEFT JOIN temp_table t on fe.manf_desc = t.top5manf_desc
WHERE __time BETWEEN TIME_PARSE ('2019-01-31T00:00:00.000Z')
AND TIME_PARSE ('2023-01-31T00:00:00.000Z')
AND fe.taxonomy_id IN (
SELECT unspsc_code
FROM denorm_manf_entitlements
WHERE email_address= '<mailto:a@dr.com|a@dr.com>'
)
AND (fe.manf_desc ='BD' OR fe.manf_desc = t.top5manf_desc)
GROUP BY
fe.manf_desc,
sales_year,
sales_month,
sales_quarter
),