Материализованное представление с переменными ежемесячного замещения
Я пытаюсь перенастроить представление в материализованное представление для сводных сводок. Есть ли способ реализовать процесс, чтобы я мог легко собирать параметры каждого месяца из материализованного представления, не выполняя каждый раз замену переменных:
def RECORDMONTH = 201402
def BeginDate = 2/01/2014
def EndDate = 2/28/2014
def YEAR_MONTH = 2014-02
Сможет ли он быть спроектирован таким образом, чтобы он мог тянуть все два месяца, даже если этот месяц уже наступил.
Действительно ценю это.
1 ответ
Я предполагаю, что это продолжение ряда других вопросов, которые вы задали. Я предполагаю, что вы просто хотите что-то вроде этого, где вы генерируете нужные месяцы (в данном случае 12 месяцев 2015 года) и используете это во внешнем объединении в вашем запросе.
WITH all_months AS
SELECT add_months( date '2015-01-01', level-1 ) start_of_month,
last_day( add_months( date '2015-01-01', level-1 )) end_of_month
FROM dual
CONNECT BY level <= 12
)
SELECT am.start_of_month,
count(*) num_rows,
<<other aggregates>>
FROM your_table yt
RIGHT OUTER JOIN all_months am
ON( yt.some_date BETWEEN am.start_of_month AND am.end_of_month )
GROUP BY am.start_of_month