Skip to content
Please update to the latest release 0.77.2 to address Multiple CVEs.
Server.Utils.QuerySummary

Server.Utils.QuerySummary

Takes a query and outputs number of unique items per column, as well as the top 10 most frequently occurring 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 occurring 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