Дата SSAS хранится в виде текста - PullRequest
0 голосов
/ 17 июня 2020

У меня есть таблица показателей для прогноза, в которой дата MMM-YY хранится в виде текста;

Period Forecast
-------------------
Jan-20 200
Feb-20 300

У меня также есть несколько других таблиц в моей модели, которые имеют аналогичные форматы даты ie. (1/2020) или 2020_1. Следовательно, я создал измерение даты, которое сопоставляет период с фактической датой и временем, и связал его с таблицей фактов;

Period (Month/Year) Year_Month MonthEnd
---------------------------------------------------
Jan-20 (1/2020) 2020_1 31/01/2020
Feb-20 (2/2020) 2020_2 28/02/2020

Это вызывает у меня две проблемы:

  1. Если я разрежу прогноз по периодам, я получу правильный ответ, но если я разрежу по полю datetime 'MonthEnd', SSAS не сможет распределять затраты по атрибутам, и я получаю итоговую сумму каждый месяц (так что 500 как в январе, так и в феврале в этом примере). Почему?

  2. Я не могу связать время как указанное измерение с измерением даты, поэтому я не могу использовать какие-либо функции анализа времени.

Я мог бы просто поменять идентификатор периода на datetime в ETL, чтобы стандартизировать поля даты в модели, но мне было интересно, есть ли стандартный способ приблизиться к этому?

cube

https://imgur.com/gallery/onxtvhq

Ответы [ 2 ]

1 голос
/ 23 июня 2020

В многомерных моделях служб Analysis Services необходимо стандартизировать один формат для представления периода и использовать его во всех группах мер. Я бы порекомендовал вам изменить запрос SQL для вашей группы мер Actuals, чтобы возвращать значения, которые присоединяются к столбцу Period в вашей таблице Date.

Понимание того, как это работает, означает понимание отношений атрибутов и IgnoreUnrelatedDimensions установка. Если установлено значение true, то нарезка по «несвязанному» атрибуту (тот, который находится ниже уровня зерна или несвязанное или несвязанное измерение) просто вызовет повторение меры. Если установлено значение false, оно станет нулевым.

Я не понимаю, зачем вам нужно время в качестве эталонного измерения. Похоже, он также содержит иерархию дат. Обычно дата указывается в днях, неделях, месяцах и годах. Обычно время указывается в часах, минутах и ​​секундах. По соображениям производительности обработки я бы избегал эталонных размеров. С ними больше проблем, чем они того стоят. Добавьте ключ измерения времени в свои таблицы фактов.

0 голосов
/ 23 июня 2020

Скрреншот показывает, что существует связь между датой и прогнозом, поэтому я не думаю, что причина root является причиной root, однако вы можете попробовать решение GreGalloway, чтобы установить для свойства IgnoreUnrelatedDimensions значение False для проверки . введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...