transferRule()

in ui/angular/src/app/measure/create-measure/pr/pr.component.ts [280:319]


  transferRule(rule, col) {
    switch (rule) {
      case "Total Count":
        return (
          `count(source.${col.name}) AS \`${col.name}_count\``
        );
      case "Distinct Count":
        return (
          `approx_count_distinct(source.${col.name}) AS \`${col.name}_distcount\``
        );
      case "Null Count":
        return (
          `count(source.${col.name}) AS \`${col.name}_nullcount\` WHERE source.${col.name} IS NULL`
        );
      case "Maximum":
        return (
          `max(source.${col.name}) AS \`${col.name}_max\``
        );
      case "Minimum":
        return (
          `min(source.${col.name}) AS \`${col.name}_min\``
        );
      case "Average":
        return (
          `avg(source.${col.name}) AS \`${col.name}_average\``
        );
      case "Empty Count":
        return (
          `count(source.${col.name}) AS \`${col.name}_emptycount\` WHERE source.${col.name} = ''`
        );
      case "Regular Expression Detection Count":
        return (
          `count(source.${col.name}) AS \`${col.name}_regexcount\` WHERE source.${col.name} RLIKE '^[0-9]{4}$'`
        );
      case "Enum Detection Top5 Count":
        return (
          `source.${col.name} AS ${col.name}, count(*) AS count GROUP BY source.${col.name} ORDER BY count DESC LIMIT 5`
        );
    }
  }