diff --git a/ingestion/src/metadata/profiler/metrics/static/mean.py b/ingestion/src/metadata/profiler/metrics/static/mean.py index 01538152d52..7261d256377 100644 --- a/ingestion/src/metadata/profiler/metrics/static/mean.py +++ b/ingestion/src/metadata/profiler/metrics/static/mean.py @@ -41,6 +41,16 @@ def _(element, compiler, **kw): return f"if(isNaN(avg({proc})), null, avg({proc}))" +@compiles(avg, Dialects.MSSQL) +def _(element, compiler, **kw): + """ + Cast to decimal to get around potential integer overflow error - + Error 8115: Arithmetic overflow error converting expression to data type int. + """ + proc = compiler.process(element.clauses, **kw) + return f"avg(cast({proc} as decimal))" + + class Mean(StaticMetric): """ AVG Metric