Измерения одной записи в хранилище данных SQL кажется неподходящим, как еще я могу удовлетворить эти потребности?

Бизнесу необходимы некоторые параметры с одним значением:

DIM_BuildDate - store datetime of the DW build, with latest inventory date
DIM_CurrentAccountingPeriod - what is the accounting period now (at build date)
DIM_CurrentExchangeRate - what is the currency exchange rate now

Возможно, все они могут быть объединены в одно измерение с атрибутами для каждого значения, но меня это не касается.

Это кажется неправильным. Значения меняются ежедневно или периодически, в лучшем случае медленно меняя размеры. Однако есть реальная полезность в хранении этих значений в DW.

  • Если транзакционное задание завершилось неудачно, сборка DW может иметь данные инвентаризации двухдневной давности, и это важно. Поэтому я сохраняю его в DIM_BuildDate.
  • Часто календарная дата не совпадает с отчетным периодом, особенно в начале и в конце месяцев. Поэтому я сохраняю это как DIM_CurrentAccountingPeriod.
  • Существует FACT_ExchangeRate, который хранит значения обменного курса с течением времени, но деловые люди хотят иметь простой способ доступа к «Текущему обменному курсу».

Я хочу быть практичным и предлагать полезные объекты, подобные этим, но подозреваю, что эти размеры не соответствуют правильной реализации Кимбалла.

Как еще можно отразить эти требования в ХД?


person Chris Adragna    schedule 06.03.2019    source источник
comment
Вы смотрели габариты барахла?   -  person JoeDBAHAHAHA    schedule 06.03.2019
comment
Похоже на футляр для барахла габаритов. для получения дополнительной информации kimballgroup. ru / 2009/06 /   -  person demircioglu    schedule 07.03.2019


Ответы (1)


Конечно, неправильно создавать измерение с отдельными записями для каждой метрики - ваша звездная схема раздувается.

Необходимо добавить дату сборки, ее нельзя обойти (это уникальный фрагмент данных, которого нет в вашей звездообразной схеме).

Текущий обменный курс можно легко добавить в вашу табличную модель в качестве вычисляемой меры DAX (просто выберите курс, где дата = дата построения). Не нужно хранить его в отдельном измерении. В качестве меры ее было бы намного проще использовать в расчетах.

Финансовые даты можно смоделировать либо как отдельную (финансовую) календарную таблицу, либо вы можете просто добавить финансовые даты в качестве атрибутов в свою календарную таблицу (например, «Финансовая дата», «Финансовый год» и т. Д.).

Точно так же вы можете отметить «текущий» период в календарной таблице (т.е. добавить поле «Тип периода» со значениями «Текущий период», «Прошлый период» («Будущий период», если вам нужно)). Его можно использовать как срез или как фильтр DAX. То же самое и с «текущим» финансовым периодом - это просто еще один атрибут в календарной таблице.

person RADO    schedule 10.03.2019
comment
Это как раз тот ответ, который мне был нужен, и все это имеет смысл. Спасибо. - person Chris Adragna; 11.03.2019