Служба анализа SQL Server: необходимо устранить пустые результаты
У нас очень скудный куб в SSAS. Размер куба составляет всего 50 Мбайт в хранилище MOLP. При написании собственного MDX-запроса вы можете использовать NON EMPTY/NONEMPTY для подавления/фильтрации пустых результатов. Но у нас есть сторонний инструмент (Cognos Analysis Studio) для наших бизнес-пользователей для запуска ad-hoc-анализа против куба. Сначала пользователи перетаскивают измерения и измерения с помощью Cognos Analysis Studio, исходные результаты выводятся с пустыми результатами. Затем пользователи пытаются подавить пустые результаты. Это занимает очень много времени, чтобы придумать непустые результаты.
Поскольку MDX генерируется Cognos, у нас нет контроля над тем, как MDX создается для работы с кубом. Наши пользователи, использующие этот куб, интересуются только непустыми результатами. Мы хотели бы знать, есть ли контроль поведения в кубе SSAS, который всегда возвращает непустые результаты.
Вопрос:
Как мы можем установить (или достичь) поведение в кубе, чтобы всегда подавлять пустые результаты?
Я думаю, что функция, которую вы ищете, называется "подавление нуля". Нажмите "Настройки", "Подавить",
"Нули и пустые клетки". Это изменяет значение по умолчанию, которое будет только подавлять пустые ячейки, а не ячейки, заполненные нулями. Или щелкните по столбцу в отчете. Нажмите на значок "Нулевое подавление" вверху. Любая строка, заполненная нулями, исчезнет.
Вы можете google на "cognos подавления нуля", чтобы получить больше объяснений об этом.
Я не знаю, разрешает ли Cognos Analysis Studio использовать наборы. Если это так, попробуйте создать non empty атрибута измерения в соответствии с мерой куба по умолчанию в MdxScript. Затем используйте этот набор вместо атрибута исходного измерения.
Например
CREATE CURRENTCUBE.[Set1] as NonEmpty([Dim1].[Atr1].allmembers, [Measures].DefaultMember);