2016-12-21 4 views
0

У меня возник вопрос о возможности отображения сообщения в случае наличия несвязанных измерений.SQL Server Analysis Services - используя IgnoreUnrelatedDimensions

Я использую IgnoreUnrelatedDimensions FALSE, чтобы иметь нулевые или пустые значения, но я изучаю возможность отображения некоторого сообщения, когда это происходит вместо нулевых или пустых значений. Это можно сделать?

ответ

1

Вы можете сделать это; однако я проголосую против него. См. Обзор предлагаемого решения ниже. Решение возможно с оператором SCOPE, но с некоторыми ограничениями.
Предположим, у вас есть куб с двумя измерениями, и В и мера M, не связанные с размерности B. Кроме того, размер B имеет два атрибута: b1 и b2. Тогда вы можете создать следующий SCOPE заявление

SCOPE ([Measures].[M]); 
    SCOPE([Dim B].[b1].[b1]); THIS="message"; END SCOPE; 
    SCOPE([Dim B].[b2].[b2]); THIS="message"; END SCOPE; 
END SCOPE; 

Это SCOPE покажет message при попытке добавить анализ на b1 или b2 атрибута. Примечание [Dim B]. [B1]. [B1] - мы не хотим, чтобы наше полевое сообщение отображалось на [Dim B]. [B1]. [Все] участник.
Теперь давайте рассмотрим недостатки этого подхода.

  1. Вы должны перечислить все иерархий всех несвязанных размеров. Сложность и склонность к ошибкам.
  2. Если добавить и Dim A и Dim B к вашему запросу, цифры будут показывать только в Dim B агрегированном уровне.

В принципе, это решение заменяет общую фигуру IgnoreUnrelatedDimensions = True с пользовательскими сообщениями в цене вручную перечислять все несвязанные измерения и его иерархии.

Смежные вопросы