SQL SERVER SSAS: как мне обработать значение даты NULL в моей таблице фактов, чтобы я мог обработать свое измерение времени без ошибок? - PullRequest
4 голосов
/ 29 апреля 2010

У меня есть таблица фактов, в которой есть столбец с датами, загруженными из источника MS Access. Дело в том, что некоторые значения равны NULL, и SSAS не позволяет мне ссылаться на это в моем измерении DATE.

Лучше решить ее на этапе SSIS или есть какое-то решение в SSAS?

Большое спасибо за помощь.

Ответы [ 3 ]

11 голосов
/ 29 апреля 2010

Рекомендуется не иметь значения NULL-ключа (т. Е. Ключа измерения) в таблице фактов.

Вместо этого создайте МАКСИМАЛЬНУЮ дату в таблице измерения «Дата» (или «UnknownValue», например, «-1») и укажите ее.

4 голосов
/ 09 июля 2010

Иногда по нетехническим причинам нежелательно исправлять пустые значения в DSV или исходной системе. В этом случае вы можете использовать неизвестный член и свойства обработки пустых значений, чтобы обойти эту проблему:

http://technet.microsoft.com/en-us/library/ms170707.aspx

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

1 голос
/ 04 июня 2010

Каждый член иерархии имеет свойство «HideMemberIf». Установка этого параметра в «NoName» должна скрывать нулевые значения в браузере измерений и разрешать обработку куба.

Также вы можете создавать Именованные вычисления в представлении Datamart. Именованный расчет будет использовать функцию ISNULL, которая может заполнять значения вместо нулей. Затем, конечно, постройте свое измерение времени из этих именованных вычислений вместо полей необработанных данных.

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

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