About Setting Chronological Keys in a Semantic Model
The chronological keys you set identify the member order within the time dimension level.
The chronological keys must be comparable with the standard SQL
ORDER BY clause. The ORDER BY clause on the
chronological key must reflect the real world chronological order of the time dimension
members represented by the key. For example, if the time dimension members are:
Jan-3-2022, Jan-4-2022, Jan-5-2022 then the following chronological keys can be assigned
to them in the same order: 1, 5, 9. However, assigning chronological keys such as 2,1,3
would result in Jan-4-2022, Jan-3-2022, Jan-5-2022, which is an incorrect chronological
order.
The Oracle Analytics query engine uses the chronological key to create mathematically correct time series
predictions, such as Jan + 2 months = Mar. You should set a chronological key for every
level, except for the Grand Total level, so that you can perform time series operations
on all levels with good performance. This enables you to use an AGO,
TODATE, or PERIODROLLING function for any level of
any time dimension hierarchy, such as fiscal month ago, calendar year ago, and day
ago.
Theoretically, time series functions operate correctly if only the bottom level key in the logical hierarchy is chronological. In practice, however, this causes performance problems because it forces the physical query to use the lowest grain, causing joins of orders of magnitude more rows, for example, 365 times more rows for a "year ago" joining at the "day" grain.
As with any level key, be sure the key is unique at its level. For example, a column containing simple month names such as "January" isn't unique unless it's concatenated to a column containing year names.