WITH sample AS ( SELECT col,11.5 value_percentile_25,32.5 value_percentile_75 FROM UNNEST(ARRAY[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,90,134]) AS col ) SELECT `justfunctions.eu.outliers_iqr`(col, value_percentile_25, value_percentile_75) FROM sample
/*--Output--
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1]
*/
CREATE OR REPLACE FUNCTION `your_project_id.your_dataset_id.outliers_iqr`(`col` FLOAT64, `value_percentile_25` FLOAT64, `value_percentile_75` FLOAT64)
RETURNS INT64 AS (CASE
WHEN
col < value_percentile_25 - 1.5 * (value_percentile_75 - value_percentile_25) THEN -1
WHEN
col > value_percentile_75 + 1.5 * (value_percentile_75 - value_percentile_25) THEN 1
ELSE 0
END
)
OPTIONS ( description = '''Detects if a <value> is an outlier based on the IQR method, using the 25th percentile <value_percentile_25> and 75th percentile <value_percentile_75>.''')
SQL User Defined Function (SQL UDF)
See something wrong? Contact us or report an issue on Github.