From 8da107b8fac02e72bb397b93a96ef95ea97d8307 Mon Sep 17 00:00:00 2001 From: Vivek Biradar Date: Thu, 23 Apr 2020 19:43:58 +0530 Subject: [PATCH] Fix Failed Status for Bounds in case of Non Aggregate Rule --- .../com/databricks/labs/validation/Validator.scala | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/scala/com/databricks/labs/validation/Validator.scala b/src/main/scala/com/databricks/labs/validation/Validator.scala index e4fcfec..983ba58 100644 --- a/src/main/scala/com/databricks/labs/validation/Validator.scala +++ b/src/main/scala/com/databricks/labs/validation/Validator.scala @@ -103,9 +103,13 @@ class Validator(ruleSet: RuleSet, detailLvl: Int) extends SparkSessionWrapper { rule.ruleType match { case "bounds" => val invalid = rule.inputColumn < rule.boundaries.lower || rule.inputColumn > rule.boundaries.upper - val failed = when( - col(rule.ruleName) < rule.boundaries.lower || col(rule.ruleName) > rule.boundaries.upper, true) - .otherwise(false).alias("Failed") + val failed = if (rule.isAgg) { + when( + col(rule.ruleName) < rule.boundaries.lower || col(rule.ruleName) > rule.boundaries.upper, true) + .otherwise(false).alias("Failed") + } else{ + when(col(rule.ruleName) > 0,true).otherwise(false).alias("Failed") + } val first = if (!rule.isAgg) { // Not Agg sum(when(invalid, 1).otherwise(0)).alias(rule.ruleName) } else { // Is Agg