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