{
  "columns": [
    "invoiceDate$yearMonth",
    "sum(invoiceAmount) as totalAmount",
    "count(invoiceId) as billCount",
    "previousAmount",
    "difference",
    "changeRatio"
  ],
  "slice": [
    {
      "field": "invoiceDate$id",
      "op": "[)",
      "value": [
        "2012-01-01",
        "2013-01-01"
      ]
    }
  ],
  "groupBy": [
    "invoiceDate$yearMonth"
  ],
  "orderBy": [
    "invoiceDate$yearMonth"
  ],
  "limit": 100,
  "calculatedFields": [
    {
      "name": "previousAmount",
      "expression": "lag(invoiceAmount, 1)",
      "windowOrderBy": [
        {
          "field": "invoiceDate$yearMonth",
          "dir": "asc"
        }
      ]
    },
    {
      "name": "difference",
      "expression": "invoiceAmount - previousAmount"
    },
    {
      "name": "changeRatio",
      "expression": "(invoiceAmount - previousAmount) / nullif(previousAmount, 0)"
    }
  ]
}