Generated Time Series Columns
This example illustrates how the time series columns are generated by the Spectre syntax.
cplan {
input "time-series.cbase"
calc "Dollars" `sum(value("Price")*value("Units"))` label="$" format="$#,0.00"
// The time series can be named, so that two different time series do not
// produce conflicting columns. The label is part of the column name.
time-series label="TS" {
date "Order Date"
anchor `date("2017/06/04")`
// produce time series for both "Units" and "Dollars"
summary "Units"
summary "Dollars"
// for each summary, produce YTD, MTD, M, and Q columns
ranges {
year-to-date
month-to-date
current-month
current-quarter
}
// for each summary and range, also produce LY, TY Diff, and TY % Diff columns
variations {
previous-year {
difference
percent-difference
}
}
// Put all the columns into a calc-set, for easy reference in a dive script
calc-set "Time Series"
}
}
This time series definition results in 16 different columns for each summary. For example, for the first range year-to-date:
| TS Units YTD | Units summary, range year-to-date |
| TS Units YTD LY | variation: previous-year |
| TS Units YTD TY Diff | variation: previous-year difference |
| TS Units YTD TY % Diff | variation: previous-year percent-difference |
| TS $ YTD | Dollars summary calc has a label="$", range year-to-date |
| TS $ YTD LY | variation: previous-year |
| TS $ YTD TY Diff | variation: previous-year difference |
| TS $ YTD TY % Diff | variation: previous-year percent-difference |
The pattern repeats for the other three ranges listed: month-to-date, current-month, and current-quarter:
| TS Units MTD | TS $ MTD |
| TS Units MTD LY | TS $ MTD LY |
| TS Units MTD TY Diff | TS $ MTD TY Diff |
| TS Units MTD TY % Diff | TS $ MTD TY % Diff |
| TS Units M | TS $ M |
| TS Units M LY | TS $ M LY |
| TS Units M TY Diff | TS $ M TY Diff |
| TS Units M TY % Diff | TS $ M TY % Diff |
| TS Units Q | TS $ Q |
| TS Units Q LY | TS $ Q LY |
| TS Units Q TY Diff | TS $ Q TY Diff |
| TS Units Q TY % Diff | TS $ Q TY % Diff |