В UDT у вас есть возможность выполнить запрос к агрегированным таблицам в базе данных. Может быть задано условие, и этот запрос будет выполняться для агрегированных таблиц для оптимизации запроса. Этот метод использования агрегированных таблиц известен как совокупная осведомленность.
Чтобы использовать агрегированную осведомленность в Universe, вы можете использовать функцию @Aggregate_Aware в операторе «Select» для объекта, который направляет запрос для выполнения к агрегированным таблицам, а не к таблице, содержащей неагрегированные данные.
Чтобы использовать агрегированную осведомленность во Вселенной, вам нужно упорядочить объекты по уровню агрегации, а объекты создаются с помощью функции @aggregate_awareness. Чтобы построить агрегированные осведомленные объекты, вам необходимо сначала идентифицировать объекты: объекты измерения или измерения. Вам необходимо выяснить все возможные комбинации агрегатных объектов во всех таблицах, а затем расположить их в порядке агрегирования.
Например —
- AAYEAR.Profit — это самый высокий уровень агрегации.
- AAQTR.Profit — следующий уровень.
- AAMONTH.Profit — самый низкий уровень агрегации.
Использование функции @aggregate_aware направляет объект для запроса всех таблиц агрегирования в качестве его параметров. Вы можете увидеть объект с помощью функции @aggregate_aware в операторе «Выбор» —
Синтаксис, который будет использоваться для функции aggregate_aware, выглядит следующим образом:
@Aggregate_Aware(sum(agg_table_1), ... sum(agg_table_n))
Передайте имена всех агрегированных таблиц в качестве аргументов. Agg_table_1 — агрегат с самым высоким уровнем агрегации, а agg_table_n — агрегат с самым низким уровнем агрегации.
Определение объекта с помощью функции @aggregate_aware
Открыть диалоговое окно редактирования свойств объекта → Нажмите кнопку «>>» рядом с диалоговым окном.
В диалоговом окне «Редактировать оператор Select» необходимо щелкнуть в начале оператора SELECT.
Альтернативно, щелкните в любом месте поля выбора, если у объекта нет оператора SELECT.
Вы можете увидеть функцию @aggregate_aware в списке функций справа. Согласно описанию этой функции: « @Aggregate_Aware (sum (aggregate table1), …, sum (aggregate tableN)) Определяет объект меры с использованием предварительно вычисленных агрегированных таблиц ».