Создание статистических обработок (XMLA)

Статистические схемы ассоциируются с секциями определенных групп мер с тем, чтобы эти секции при хранении агрегатов использовали одинаковую структуру. При использовании одинаковой структуры хранилища для секций можно легко определять секции, которые затем можно будет слить в одну при помощи команды MergePartitions. Дополнительные сведения о статистических схемах см. в разделе Агрегаты и статистические схемы.

Чтобы определить агрегаты для статистической схемы, в XML для аналитики (XMLA) используется команда DesignAggregations. Команда DesignAggregations имеет свойства, указывающие, какая статистическая схема должна использоваться в качестве ссылки, а также как управлять процессом проектирования, основанном на этой ссылке. При помощи команды DesignAggregations и ее свойств агрегаты можно проектировать последовательно или в пакете, а затем просматривать итоговую статистику создания для оценки процесса проектирования.

Указание статистической схемы

Свойство Object команды DesignAggregations должно содержать ссылку на существующую статистическую схему. Ссылка содержит идентификатор базы данных, идентификатор куба, идентификатор группы мер и идентификатор статистической схемы. Если этой статистической схемы еще не существует, возникает ошибка.

Управление процессом создания

Управлять алгоритмом, который используется для определения агрегатов для статистической схемы, можно при помощи следующих свойств команды DesignAggregations:

  • Свойство Steps определяет, сколько этапов должна выполнить команда DesignAggregations перед возвращением управления клиентскому приложению.

  • Свойство Time определяет, сколько миллисекунд должна ждать команда DesignAggregations перед возвращением управления клиентскому приложению.

  • Свойство Optimization определяет примерный процент повышения производительности, который должна попытаться достигнуть команда DesignAggregations. При итеративном создании статистических обработок это свойство необходимо отправлять только в первой команде.

  • Свойство Storage определяет примерный объем дискового пространства, в байтах, используемого командой DesignAggregations. При итеративном создании статистических обработок это свойство необходимо отправлять только в первой команде.

  • Свойство Materialize определяет, должна ли команда DesignAggregations создавать агрегаты, определенные во время процесса проектирования. При последовательном проектировании агрегатов на время, пока спроектированные агрегаты ни будут готовы к сохранению, этому свойству следует задать значение FALSE. Когда этому свойству устанавливается значение TRUE, текущий процесс проектирования завершается, а определенные агрегаты добавляются в указанную статистическую схему.

Указание запросов

В команде DesignAggregations поддержка оптимизации с учетом использования обеспечивается включением одного или нескольких элементов Query в свойство Queries. Свойство Queries может содержать один или несколько элементов Query. Если свойство Queries не содержит ни одного элемента Query, то в указанной в элементе Object статистической схеме будет использоваться структура по умолчанию, которая содержит общий набор агрегатов. Этот общий набор агрегатов собран с учетом критериев, указанных в свойствах OptimizationStorage команды DesignAggregations.

Каждый элемент Query представляет собой целевой запрос, с помощью которого при проектировании можно определить агрегаты, охватывающие наиболее часто используемые запросы. Можно определить целевые запросы самостоятельно, либо при помощи данных, сохраненных экземпляром служб Microsoft SQL Server Службы Analysis Services в журнале запросов, получить сведения о наиболее часто используемых запросах. Мастер оптимизации с учетом использования извлекает целевые запросы с помощью журнала запросов, исходя из времени, использования или указанного пользователя, когда он отправляет команду DesignAggregations. Дополнительные сведения см. в разделе Справка F1 мастера оптимизации с учетом использования.

При многократном проектировании агрегатов поисковые запросы необходимо передать только в первой команде DesignAggregations, поскольку экземпляр служб Службы Analysis Services сохраняет целевые запросы и использует их при выполнении последующих команд DesignAggregations. После передачи целевых запросов в первой команде DesignAggregations многократной обработки, любые последующие команды DesignAggregations, в свойстве Queries которых содержатся поисковые запросы, приведут к формированию ошибки.

Элемент Query содержит значение с разделителями-запятыми, включающее следующие аргументы.

Frequency,Dataset[,Dataset...]

  • Frequency
    Весовой коэффициент, соответствующий количеству предыдущих выполнений данного запроса. Если элемент Query представляет новый запрос, значение Frequency представляет весовой коэффициент, использованный во время проектирования в целях оценки запроса. По мере увеличения частоты, увеличивается и вес, присвоенный запросу во время проектирования.

  • Dataset
    Числовая строка, определяющая атрибуты измерения, включаемые в запрос. Количество символов в данной строке должно совпадать с количеством атрибутов в измерении. Ноль (0) обозначает, что атрибут, находящийся на указанной порядковой позиции, в запрос для указанного измерения не включается, тогда как единица (1) обозначает включение атрибута, находящегося на указанной порядковой позиции, в запрос для указанного измерения.

    Так, например, строка «011» относится к запросу, в котором задействовано измерение с тремя атрибутами, причем в запрос включены только второй и третий атрибут.

    ПримечаниеПримечание

    Некоторые атрибуты не рассматриваются в наборе данных. Дополнительные сведения об исключенных атрибутах см. в разделе Элемент Query (XML для аналитики).

    Каждое измерение в группе мер, включающее статистическую схему, представлено значением Dataset в элементе Query. Порядок значений Dataset должен соответствовать порядку измерений, включенных в группу мер.

Проектирование агрегатов при помощи последовательного или пакетного процессов

В зависимости того, какие интерактивные возможности требуются процессу проектирования команду DesignAggregations можно использовать, как часть итеративного или пакетного процесса.

Проектирование агрегатов при помощи последовательного процесса

Чтобы проектировать агрегаты последовательно, следует оправить несколько команд DesignAggregations для обеспечения управления процессом проектирования. В мастере статистических схем этот подход используется для обеспечения тонкого управления процессом проектирования. Дополнительные сведения см. в разделе Справка F1 мастера статистических схем.

ПримечаниеПримечание

Для последовательного проектирования агрегатов требуется явный сеанс. Дополнительные сведения о явных сеансах см. в разделе Управление соединениями и сеансами (XMLA).

Чтобы начать последовательный процесс, сначала отправляется команда DesignAggregations со следующими данными:

  • Значения свойств Storage и Optimization, которые являются целевыми для всего процесса проектирования.

  • Значения свойств Steps и Time, которыми ограничен первый шаг процесса проектирования.

  • Если требуется оптимизация на основе использования, задайте свойство Queries, содержащее целевые запросы, на которые нацелен весь процесс проектирования.

  • Свойству Materialize устанавливается значение FALSE. Установка этому свойству значения FALSE указывает, что по завершении этой команды процесс проектирования не будет сохранять определенные агрегаты в статистическую схему.

После завершения первой команды DesignAggregations она возвращает набор строк, содержащий статистику проектирования. Оценка этих статистических данных позволяет определить, следует ли продолжать процесс проектирования или закончить его. Если процесс стоит продолжить, то отправляется еще одна команда DesignAggregations, содержащая значения Steps и Time, которыми будет ограничен этот шаг процесса проектирования. После этого производится оценка итоговой статистики и определяется, следует ли продолжать процесс проектирования. Этот последовательный процесс отправки команд DesignAggregations и оценки результатов продолжается, пока не будут достигнуты поставленные цели и создан соответствующий набор определенных агрегатов.

После получения требуемого набора агрегатов отправляется одна конечная команда DesignAggregations. Свойству Steps этой конечной команды DesignAggregations следует установить значение 1, а его свойству Materialize — значение TRUE. При этих параметрах конечная команда DesignAggregations завершит процесс проектирования и сохранит определенный агрегат в статистическую схему.

Проектирование агрегатов при помощи пакетного процесса

Агрегаты также можно проектировать в рамках пакетного процесса путем отправки одной команды DesignAggregations, содержащей значения свойств Steps, Time, Storage и Optimization, которые являются целевыми для всего процесса проектирования, и которыми он ограничен. Если требуется оптимизация на основе использования, то в свойство Queries следует также включить целевые запросы, на которые нацелен процесс проектирования. Проверьте также, что свойство Materialize имеет значение TRUE с тем, чтобы по завершении команды процесс проектирования сохранял определенные агрегаты в статистическую схему.

При помощи пакетного процесса агрегаты можно проектировать как в рамках неявного, так и явного сеанса. Дополнительные сведения о явных и неявных сеансах см. в разделе Управление соединениями и сеансами (XMLA).

Возвращение статистики проектирования

При передаче командой DesignAggregations управления клиентскому приложению она возвращает набор строк с одной строкой, в которой представлена статистика проектирования для этой команды. Набор строк содержит столбцы, перечисленные в следующей таблице.

столбцу.

Тип данных

Description

Шаги

Целочисленные

Число шагов, выполняемых командой перед возвращением управления клиентскому приложению.

время

Long integer

Число миллисекунд, которое проходит до возвращения командой управления клиентскому приложению.

Оптимизация

Double

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

Занимаемая память

Long integer

Примерный объем в байтах, занимаемый командой перед возвращением управления клиентскому приложению.

Aggregations

Long integer

Число агрегатов, определенных командой перед возвращением управления клиентскому приложению.

LastStep

Логическое

Указывает, представляют ли данные в наборе строк последний шаг в процессе проектирования. Если свойству Materialize команды было установлено значение TRUE, этому столбцу задается значение TRUE.

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