Takes a query and outputs number of unique items per column, as well as the top 10 most frequently occuring items
name: Server.Utils.QuerySummary
author: Clay Norris, Mike Cohen
description: Takes a query and outputs number of unique items per column, as well as the top 10 most frequently occuring items
parameters:
- name: Query
sources:
- query: |
LET summary <= dict()
LET IncrementValue(Value, Dict) = set(item=Dict, field=Value, value=get(item=Dict, field=Value, default=0) + 1)
LET Increment(Column, Value) = set(item=summary, field=Column,
value=IncrementValue(Value=Value, Dict=get(item=summary, field=Column, default=dict())))
LET _ <= SELECT *, {
SELECT Increment(Column=_key, Value=str(str=_value))
FROM items(item=_value)
}
FROM items(item=Query)
SELECT _key as Column, to_dict(item={
SELECT _key,_value FROM items(item=_value) ORDER BY _value Desc LIMIT 10
}) as Top10,
len(list=_value) as TotalCount
FROM items(item=summary) ORDER BY TotalCount DESC