РПИ
РПИ (Реестр Показателей и Измерений) - Структурированный каталог, содержащий описание показателей, измерений, фактов, справочников и их взаимосвязей. Используется для стандартизации и управления семантическим слоем аналитического хранилища данных.
- Показатели - агрегированные величины, за которыми следит бизнес и которые вычисляются по формулам на основе конкретных значений фактов и измерений
- Например, показатель “Сумма возвратов” может определяться формулой “SUM({[Тип операции]=”Возврат”} [Размер транзакции])” и вычисляться как сумма по факту “Размер транзакции” для операций, у которых для измерения “Тип операции” стоит значение “Возврат”
- Измерения - конкретные поля (колонки) в базе данных, содержащие атрибуты объектов или событий, имеющие в большинстве случае небольшое количество возможный значений и используемые в качестве срезов или фильтров, в рамках которых бизнес следит за показателями
- Основная часть измерений находится в справочниках (отдельных таблицах измерений), хотя отдельные измерения могут не требовать вынесения в справочники и находиться напрямую в таблицах фактов
- Например, измерение “Тип магазина” может соответствовать полю “store_type” в таблице измерений “dim_stores” и иметь варианты значений “Обычный” и “Дисконт”, а измерение “Тип операции” может соответствовать полю “operation_type” в таблице фактов “fact_sales” и иметь варианты значений “Продажа”, “Предзаказ” и “Возврат”
- Служебные или ключевые поля, не имеющие прямого бизнес-смысла и не использующиеся для расчета или фильтрации показателей, измерениями не являются
- Например, поле “store_id_unique”, существующее в таблице измерений “dim_stores”, может использоваться только для установки связей между этой таблицей измерений и таблицами фактов, а поле “load_dttm”, существующее в таблице фактов “fact_sales” может использоваться только для сохранения временной метки, когда каждая конкретная запись была сохранена в этой таблице фактов (а не когда зарегистрированная продажа произошла). Для таких полей измерения создаваться не должны
- Факты - конкретные поля (колонки) в базе данных, содержащие подсчитываемые значения (обычно числовые) и используемые как основной источник для расчета показателей
- Факты находятся в таблицах фактов и обычно содержат числовые значения
- Например, факт “Размер транзакции” может соответствовать полю “total_gross” в таблице фактов “fact_sales” и использоваться для расчета показателей “Сумма возвратов” и “Сумма продаж”
- Поля с числовыми значениями, находящиеся в справочниках (таблицах измерений), фактами не являются
- Например, поле “item_price” с числовыми значениями, существующее в таблице измерений “dim_items” и имеющее прямой бизнес-смысл, нельзя оформить как факт, так как такое поле должно быть оформлено как измерение
- Справочники - группы измерений, объединенных по смыслу
- Справочники соответствуют таблицам измерений в базе данных и обычно содержат отдельные атрибуты (измерения) конкретных объектов
- Например, справочник “Магазины” может соответствовать таблице измерений “dim_stores” и содержать измерения “Название магазина”, “Тип магазина” и “Класс магазина”