Github user ashutakGG commented on a diff in the pull request:

    https://github.com/apache/incubator-griffin/pull/434#discussion_r224425167
  
    --- Diff: 
measure/src/main/scala/org/apache/griffin/measure/step/builder/dsl/transform/AccuracyExpr2DQSteps.scala
 ---
    @@ -125,14 +126,26 @@ case class AccuracyExpr2DQSteps(context: DQContext,
           // 4. accuracy metric
           val accuracyTableName = ruleParam.getOutDfName()
           val matchedColName = details.getStringOrKey(_matched)
    +      val matchedFractionColName = details.getStringOrKey(_matchedFraction)
           val accuracyMetricSql = procType match {
             case BatchProcessType =>
               s"""
    -             |SELECT `${totalCountTableName}`.`${totalColName}` AS 
`${totalColName}`,
    -             |coalesce(`${missCountTableName}`.`${missColName}`, 0) AS 
`${missColName}`,
    -             |(`${totalCountTableName}`.`${totalColName}` - 
coalesce(`${missCountTableName}`.`${missColName}`, 0)) AS `${matchedColName}`
    -             |FROM `${totalCountTableName}` LEFT JOIN 
`${missCountTableName}`
    -         """.stripMargin
    +             SELECT `${totalColName}`,
    +                    `${missColName}`,
    +                    `${matchedColName}`,
    +                    coalesce(`${matchedColName}` / `${totalColName}`, 1.0) 
AS `${matchedFractionColName}`
    +
    +             FROM (
    +               SELECT `${totalColName}`,
    +                      `${missColName}`,
    +                      (`${totalColName}` - `${missColName}`) AS 
`${matchedColName}`
    --- End diff --
    
    Whole point of nesting levels here to increase readability. Now, I have an 
idea where it will "good enough" to read even with 1 level of nesting.


---

Reply via email to