Несовместимая дата между кубом SSAS и табличной моделью - PullRequest
0 голосов
/ 05 марта 2019

У меня очень странная проблема. Я построил табличную модель, которая берет данные из куба SSAS. В кубе источника данных есть столбец «Дата процесса» в формате даты Великобритании (дд / мм / гггг). Когда я добавляю этот столбец в мою модель, даты перепутаны, где значения даты и месяца меняются местами на некоторые даты!

Ниже приведены изображения, иллюстрирующие это, и я выделил одну конкретную дату красным цветом. В кубе SSAS источника данных дата - 12/02/2019, а когда речь идет о табличной модели, эта дата начинается с 12/12/2019. Я добавил столбец check_month в табличную модель и обнаружил, что табличная модель считает, что ее декабрь, т. Е. День / месяц, поменялся местами!

дата источника данных

дата модели

Спасибо

JC

Редактировать: это было решено путем изменения идентификатора локали в соединении. Смотрите комментарий в ответе ниже userfl89. Это связано с тем, что куб источника данных использует другую локаль (американский английский), чем та, которую я использую в модели, изменение идентификатора локали переопределит это и, следовательно, решит проблему

1 Ответ

0 голосов
/ 05 марта 2019

Формат даты может быть определен из SSDT. Выделите столбец даты и перейдите в окно свойств (нажмите F4). Для свойства Data Format выберите желаемый формат даты. Если вам нужен формат даты, которого нет в списке, вычисляемый столбец с помощью функции FORMAT можно создать на основе исходного столбца, а тип данных этого столбца затем установить на Date. Пример этого ниже. Кроме того, подтвердите Locale Identifier (LCID) в SSDT. Это можно просмотреть, выбрав Модель > Существующие соединения > Редактировать > Построить > Все > затем Идентификатор локали свойство. Документация Microsoft содержит подробности относительно определения правильного LCID.

=FORMAT('Process'[Process Date], "dd-MM-yyyy")
...