Skip to content

Instantly share code, notes, and snippets.

View romain9292's full-sized avatar
:shipit:
Happy

Romain Granger romain9292

:shipit:
Happy
View GitHub Profile
@romain9292
romain9292 / percent_rank.sql
Created September 2, 2022 17:11
[Numbering Functions - Row Number 7] Differences between numbering functions in BigQuery using SQL #SQL #BigQuery
SELECT
*,
ROUND(PERCENT_RANK() OVER(ORDER BY revenue)*100,2) AS pct_rank,
FROM
`datastic.ranking.base_table`;
@romain9292
romain9292 / quartiles.sql
Created August 16, 2022 15:25
[Numbering Functions - Row Number 6] Differences between numbering functions in BigQuery using SQL #SQL #BigQuery
SELECT
*,
NTILE(4) OVER(ORDER BY revenue) AS quartiles,
FROM
`datastic.ranking.base_table`;
@romain9292
romain9292 / cume_dist.sql
Last active August 16, 2022 14:27
[Numbering Functions - Row Number 5] Differences between numbering functions in BigQuery using SQL #SQL #BigQuery
SELECT
*,
ROUND(CUME_DIST() OVER(ORDER BY revenue),2)*100 AS cumulative_distribution,
FROM
`datastic.ranking.base_table`;
@romain9292
romain9292 / all_ranking_functions.sql
Last active August 16, 2022 13:56
[Numbering Functions - Row Number 4] Differences between numbering functions in BigQuery using SQL #SQL #BigQuery
SELECT
*,
ROW_NUMBER() OVER(ORDER BY revenue DESC) AS row_number,
RANK() OVER(ORDER BY revenue DESC) AS rank,
DENSE_RANK() OVER(ORDER BY revenue DESC) AS dense_rank,
FROM
`datastic.ranking.base_table`;
@romain9292
romain9292 / row_number_partition.sql
Created August 16, 2022 13:04
[Numbering Functions - Row Number 3] Differences between numbering functions in BigQuery using SQL #SQL #BigQuery
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY product_category ORDER BY revenue DESC) AS row_number
FROM
`datastic.ranking.base_table`;
@romain9292
romain9292 / row_number_revenue.sql
Created August 15, 2022 14:51
[Numbering Functions - Row Number 2] Differences between numbering functions in BigQuery using SQL #SQL #BigQuery
SELECT
*,
ROW_NUMBER() OVER(ORDER BY revenue DESC) AS row_number
FROM
`datastic.ranking.base_table`;
@romain9292
romain9292 / row_number_no_order.sql
Last active August 15, 2022 14:47
[Numbering Functions - Row Number 1] Differences between numbering functions in BigQuery using SQL #SQL #BigQuery
SELECT
*,
ROW_NUMBER() OVER() AS row_number
FROM
`datastic.ranking.base_table`
@romain9292
romain9292 / over_time_percentage.sql
Created August 12, 2022 15:31
[Perc Total - Over time - Part 2] How to compute a percentage of total in BigQuery using SQL #SQL #BigQuery
WITH
revenue_product AS (
SELECT
product_category,
DATE(DATE_TRUNC(order_date,MONTH)) AS order_month,
ROUND(SUM(product_revenue),0) AS revenue_per_category
FROM
`datastic.variables.base_table`
GROUP BY
1,
@romain9292
romain9292 / categories_over_time.sql
Created August 12, 2022 15:10
[Perc Total - Over time - Part 1] How to compute a percentage of total in BigQuery using SQL #SQL #BigQuery
WITH
revenue_product AS (
SELECT
product_category,
DATE(DATE_TRUNC(order_date,MONTH)) AS order_month,
ROUND(SUM(product_revenue),0) AS revenue_per_category
FROM
`datastic.variables.base_table`
GROUP BY
1,
@romain9292
romain9292 / share_categories.sql
Last active August 12, 2022 16:36
[Perc Total - Product categories - Part 2] How to compute a percentage of total in BigQuery using SQL #SQL #BigQuery
WITH
revenue_product AS (
SELECT
product_category,
ROUND(SUM(product_revenue),0) AS revenue_per_category
FROM
`datastic.variables.base_table`
GROUP BY
1)
-- Main Query