Поделиться через


Инструкция DRILLTHROUGH (многомерные выражения)

Получает строки базовой таблицы, которые использовались для создания определенной ячейки или куба.

Синтаксис

DRILLTHROUGH[MAXROWSUnsigned_Integer] 
      <MDX SELECT statement> 
      [RETURNSet_of_Attributes_and_Measures 
            [,Set_of_Attributes_and_Measures ...]
      ]

Аргументы

  • Unsigned_Integer
    Положительное целое значение.

  • MDX SELECT statement
    Любая допустимая инструкция SELECT с многомерным выражением.

  • Set_of_Attributes_and_Measures
    Список атрибутов и мер измерения, разделенный запятыми.

Замечания

Сквозная детализация — это операция, в которой конечный пользователь выбирает одиночную ячейку из куба и извлекает результирующий набор из исходных данных для данной ячейки для получения более полной информации. По умолчанию результирующий набор сквозной детализации выводится из строк таблицы, на основе которых было вычислено значение выбранной ячейки куба. Для использования сквозной детализации конечными пользователями необходима поддержка этой возможности их клиентскими приложениями. В службах Microsoft SQL Server Службы Analysis Services результаты извлекаются прямо из хранилища MOLAP, если не запрошены секции или измерения ROLAP.

Важное примечаниеВажно!

Безопасность сквозной детализации основана на общих свойствах безопасности, определенных на кубе. Если пользователь не может получить какие-то данные, используя многомерные выражения, сквозная детализация ограничит пользователя в точности таким же образом.

Многомерное выражение определяет требуемую ячейку. Величина, определенная аргументом MAXROWS, указывает максимальное количество строк, которые могут быть возвращены в результирующем наборе строк. Если не указано обратное, возвращенные столбцы включают в себя все атрибуты гранулярности всех измерений, связанных с группой заданной меры, кроме измерений «многие ко многим». Измерения куба начинаются с символа $ для отделения измерений от групп мер. Предложение RETURN используется для определения столбцов, возвращаемых запросом сквозной детализации. Следующие функции могут быть использованы по отношении к одиночному атрибуту или мере в предложении RETURN.

  • Name(имя_атрибута)
    Возвращает имя указанного элемента атрибута.

  • UniqueName(имя_атрибута)
    Возвращает уникальное имя указанного элемента атрибута.

  • Key(имя_атрибута[, N])
    Возвращает ключ указанного элемента атрибута, где N определяет столбец в составном ключе (если он существует). Значение по умолчанию для N равно 1.

  • Caption(имя_атрибута)
    Возвращает заголовок указанного элемента атрибута.

  • MemberValue(имя_атрибута)
    Возвращает значение указанного элемента атрибута.

  • Translation(имя_атрибута[, N])
    Возвращает переведенное значение указанного элемента атрибута, где N — язык.

  • CustomRollup(имя_атрибута)
    Возвращает пользовательскую свертку строк указанного элемента атрибута.

  • CustomRollupProperties(имя_атрибута)
    Возвращает свойства пользовательской свертки строк указанного элемента атрибута.

  • UnaryOperator(имя_атрибута)
    Возвращает унарный оператор указанного элемента атрибута.

Пример

В следующем примере определяется ячейка для июля 2003 г. для меры Reseller Sales Amount (мера по умолчанию) для Australia. Предложение RETURN определяет дату каждой продажи, название модели продукта, имя служащего, объем продаж, размер налога и значение затрат на товар, которые лежат в основе возвращенной ячейки.

DRILLTHROUGH
SELECT
   ([Date].[Calendar].[Month].[July 2003])
ON 0 
FROM [Adventure Works]
WHERE [Geography].[Country].[Australia]
RETURN 
  [$Date].[Date]
  ,KEY([$Product].[Model Name])
  ,NAME([$Employee].[Employee])
  ,[Reseller Sales].[Reseller Sales Amount]
  ,[Reseller Sales].[Reseller Tax Amount]
  ,[Reseller Sales].[Reseller Standard Product Cost]