Custom reporting & analytics is simple by utilizing our query language combined with the aggregate response value modifier functions and group by capabilities.
Using the ARM (API Relational Model) design of our software libraries, constructing complex reporting queries is simple and intuitive.
Below is an example of an API query that can be used to generate a monthly and weekly report.
results = pl.Transaction.select(
pl.attr.completed_date.dayofweek(),
pl.attr.amount.avgsum()
).filter_by(
pl.attr.status == 'complete',
pl.attr.completed_date.year() == 2020
).group_by(
pl.attr.completed_date.dayofweek()
).all()
const results = await pl.select(
pl.Transaction.completed_date.dayofweek(),
pl.Transaction.amount.avgsum()
)
.filterBy(
pl.Transaction.status.eq('complete'),
pl.Transaction.completed_date.year().eq(2020)
)
.groupBy(pl.Transaction.completed_date.dayofweek())
var results = await pl.Transaction
.Select(
pl.Attr.completed_date.dayofweek(),
pl.Attr.amount.avgsum()
)
.FilterBy(
pl.Attr.status.eq("complete"),
pl.Attr.completed_date.year().eq(2020)
)
.GroupBy(pl.Attr.completed_date.dayofweek())
.AllAsync();
dayofweek(completed_date) | avgsum(amount) |
---|---|
sunday | 24960.22 |
monday | 8060.74 |
tuesday | 15732.97 |
wednesday | 15732.97 |
thursday | 26703.59 |
friday | 29253.64 |
saturday | 25357.85 |