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`
);
}
}