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


Свойства атрибута — группирование элементов атрибутов

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Группа элементов является созданным системой набором последовательных элементов измерения. В Microsoft SQL Server SQL Server Analysis Services элементы атрибута можно сгруппировать в несколько групп элементов с помощью процесса, называемого дискретизацией. Уровень в иерархии содержит либо группы элементов, либо элементы, но не то и другое сразу. Когда пользователи выполняют обзор уровня, содержащего группы элементов, они видят имена и значения ячеек групп элементов. Члены, созданные SQL Server Analysis Services для поддержки групп участников, называются участниками группирования и выглядят как обычные члены.

Свойство DiscretizationMethod атрибута управляет группированием элементов.

ЗначениеDiscretizationMethod Описание
None Позволяет отобразить элементы.
Автоматически Выбирает метод, наилучшим образом представляющий данные: метод EqualAreas или метод Clusters .
EqualAreas Пытается разделить элементы в атрибуте на группы, содержащие равное количество элементов.
Кластеры Пытается разделить элементы в атрибуте на группы с помощью выборки обучающих данных, инициализации для определенного количества случайных точек и выполнения нескольких итераций алгоритма кластеризации максимизации ожидания (EM).

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

Свойство DiscretizationNumber атрибута определяет количество отображаемых групп. Если для свойства задано значение по умолчанию 0, SQL Server Analysis Services определяет количество групп путем выборки или чтения данных в зависимости от параметра свойства DiscretizationMethod.

Порядок сортировки элементов в группах элементов контролируется при помощи свойства OrderBy атрибута. Последовательное построение элементов групп основано на этом порядке сортировки.

Группы элементов обычно используются для детализации с уровня с немногими элементами до уровня со многими элементами. Чтобы пользователи имели возможность выполнять детализацию между уровнями, измените свойство DiscretizationMethod атрибута для уровня, содержащего много элементов, с None на один из методов дискретизации, описанных в предыдущей таблице. Например, измерение Client содержит иерархию атрибутов Client Name с 500 000 элементов. Можно переименовать атрибут Client Groups и задать свойству DiscretizationMethod значение Automatic для отображения групп элементов на уровне элементов иерархии атрибутов.

Для детализации до отдельных клиентов в каждой группе можно создать другую иерархию атрибутов Client Name, привязанную к тому же столбцу в таблице. Затем создайте новую пользовательскую иерархию на основе двух атрибутов. Верхний уровень будет основываться на атрибуте Client Groups, нижний уровень — на атрибуте Client Name. Свойство IsAggregatable будет True на обоих атрибутах. После этого пользователь может раскрыть уровень (Все) в иерархии для просмотра элементов группы, а также раскрыть элементы группы для просмотра конечных элементов иерархии. Чтобы скрыть уровень группы или клиента, можно задать свойству AttributeHierarchyVisible значение False для соответствующего атрибута.

Шаблон именования

Имена групп элементов создаются автоматически при их создании. Если не определен шаблон именования, то используется шаблон по умолчанию. Метод именования можно изменить заданием шаблона именования в параметре Format для свойства NameColumn атрибута. Различные шаблоны именования могут быть переопределены для всех языков, заданных в коллекции Translations привязки к столбцу, используемой для свойства NameColumn атрибута.

Для определения шаблона именования настройка Format использует следующие строковые выражения:

<Naming template> ::= <First definition> [;<Intermediate definition>;<Last definition>]

<First definition> ::= <Name expression>

<Intermediate definition> ::= <Name expression>

<Last definition> ::= <Name expression>

Параметр <First definition> применяется только к первой группе элементов или к группе, созданной методом дискретизации. Если не предоставлены дополнительные параметры <Intermediate definition> и <Last definition> , параметр <First definition> используется для всех групп мер, сформированных для этого атрибута.

Параметр <Last definition> применяется только к последней группе элементов, созданной методом дискретизации.

Параметр <Intermediate bucket name> применяется ко всем группам элементов, отличных от первой и последней группы, созданным методом дискретизации. Если созданы две или более группы элементов, этот параметр игнорируется.

Параметр <Bucket name> представляет собой строковое выражение, которое может использовать набор переменных для представления данных об элементе или группе элементов в виде части имени группы элементов:

Переменная Описание
%{Первый элемент сегмента} Имя первого элемента должно включаться в текущую группу элементов.
%{Последний элемент сегмента} Имя последнего элемента должно включаться в текущую группу элементов.
%{Последний элемент предыдущего сегмента} Имя последнего элемента, назначенного в предыдущей группе элементов.
%{Первый элемент в следующем сегменте} Имя первого элемента, который будет назначен в следующей группе элементов.
%{Минимальный сегмент} Минимальное значение элементов, которые будут назначены текущей группе элементов.
%{Максимальный сегмент} Максимальное значение элементов, которые будут назначены текущей группе элементов.
%{Предыдущий максимальный сегмент} Максимальное значение элементов, назначенное для предыдущей группы элементов.
%{Следующий минимальный сегмент} Минимальное значение элементов, назначенное для следующей группы элементов.

Шаблон именования по умолчанию — "%{First bucket member} - %{Last bucket member}", чтобы обеспечить совместимость с более ранними версиями SQL Server Analysis Services.

Примечание

Чтобы включить в шаблон именования точку с запятой (;) в качестве буквенного символа, вставьте перед ним префикс в виде символа процента (%).

Пример

Следующее строковое выражение можно использовать для классификации атрибута Yearly Income измерения Customer в примере Adventure Works DW Multidimensional 2012 SQL Server Analysis Services базе данных, где атрибут Yearly Income использует группирование элементов:

«Меньше чем %{Следующий минимальный сегмент}; Между %{Первый элемент сегмента} и %{Последний элемент сегмента}; Больше чем %{Предыдущий максимальный сегмент}»

Добавление новых элементов к существующим группам элементов

Если новые элементы добавляются к измерению, то они назначаются соответствующим группам элементов с помощью сравнения значения элемента с текущим макетом группы элементов.

Если элемент вставляется между последним элементом предыдущей группы и первым элементом следующей группы, то новый элемент становится последним элементом предыдущей группы элементов.

Обновление измерения с дискретными атрибутами

При обработке измерения повторная дискретизация дискретного атрибута производится только при полном обновлении (ProcessFull). Для повторной дискретизации атрибута необходимо выполнить полное обновление измерения. Если таблица измерения дискретного атрибута обновляется, и измерение обрабатывается при помощи добавочного обновления (ProcessAdd), повторная дискретизация этого дискретного атрибута не производится. Имена и дочерние элементы новых сегментов остаются неизменными. Дополнительные сведения об обработке измерений см. в разделе Обработка объектов служб Analysis Services.

Ограничения на использование

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

  • Невозможно создать группы элементов в двух последовательных уровнях иерархии.

  • Группы элементов не поддерживаются для измерений, которые используют режим хранения ROLAP.

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

См. также:

Атрибуты и иерархии атрибутов