Каскадные фильтры в PerformancePoint Services
Исходная статья опубликована во вторник, 29 ноября 2011 г.
В SharePoint Server 2010 с пакетом обновления 1 (SP1) для PerformancePoint теперь доступны давно ожидаемые каскадные фильтры. В этой статье я продемонстрирую процесс развертывания панели мониторинга с использованием каскадных фильтров, а также покажу всю простоту работы с ними и предоставляемые ими возможности.
Идея каскадных фильтров заключается в том, что результаты работы одного фильтра становятся входными данными для другого или, если говорить точнее, выбранные параметры одного фильтра ограничивают возможные параметры другого. Как правило, это фильтры из одной иерархии, например "время", "географическое расположение" или "организации".
Перед тем как показать настройку панели мониторинга с каскадными фильтрами, я рассмотрю рабочий пример, сконцентрировавшись только на фильтрах.
В этом примере на базе куба "Продажи" (Sales) базы данных Contoso Retail DW используется каскад фильтров географического расположения (страна/регион, штат/провинция и город). Когда заданы все параметры, зона фильтра на панели мониторинга выглядит следующим образом.
При выборе в фильтре "Штат или провинция" (States or Provinces) другого значения изменяются доступные варианты в фильтре "Города" (Cities).
Для примера изменим значение в фильтре "Северная Америка" (North America).
Обратите внимание, что если теперь открыть фильтр "Штат или провинция" (States or Provinces), в нем будут представлены только канадские провинции.
Если отключить фильтр "Северная Америка" (North America) от фильтра "Штат или провинция" (States or Provinces) и снова открыть его, количество вариантов в нем значительно увеличится.
Отключив каскад, можно наглядно увидеть преимущества каскадных фильтров — уточнение вариантов в одном фильтре на основании выбранного значения в другом.
Давайте посмотрим, как устроена данная панель мониторинга, и добавим отчет для более наглядного представления результата работы каскада фильтров.
Откроем конструктор панели мониторинга и создадим подключение к данным. На рисунке выше показано диалоговое окно, в котором указывается подключение к данным для сервера служб Analysis Services в этом примере. (Если вы повторяете эту процедуру, указанный сервер будет другим.) После сохранения подключения к данным можно создать фильтры.
Выберите раздел "Контент PerformancePoint" (PerformancePoint Content) в обозревателе рабочей области и создайте фильтр в конструкторе панели мониторинга.
Воспользуемся шаблоном фильтра "Выбор элементов" (Member Selection) и только что созданным подключением к данным.
Нам нужно создать фильтры для географического расположения. В иерархии "Территория продаж" (Sales Territory) имеется несколько уровней географических данных. В данном примере мы будем использовать просто иерархию "Sales Territory.Territory Hierarchy", которая содержит все имеющиеся географические объекты, но сосредоточимся на уровне стран и выберем только страны, представленные в разделе "Северная Америка" (North America). Сначала выберем измерение для фильтра.
Затем выберем интересующие нас элементы.
Зададим метод отображения. Простейшим типом является список.
Назовем фильтр "Северная Америка" (North America).
Следующим интересующим нас уровнем в иерархии "Территория продаж" (Sales Territory) являются штаты и провинции. Повторите приведенную выше процедуру, чтобы создать соответствующий фильтр в измерении "Sales Territory.Territory Hierarchy", но в этот раз выберите только дочерние элементы Канады и США.
Укажите для фильтра тип "Список" (List) и назовите его "Штат или провинция" (States or Provinces).
Наконец, создадим фильтр "Города" (Cities), для которого будут использоваться дочерние элементы всех канадских провинций и штатов США.
Совет. Здесь удобно воспользоваться командой "Выбор внучатых элементов" (Select Grandchildren). Здесь можно упростить себе работу: выберите в качестве измерения элемент "Sales Territory.Sales Territory Name", который близко соответствует уровню городов в иерархии, и выберите все элементы. Функция каскадов правильно выберет дочерние элементы вышестоящего фильтра.
Теперь создадим панель мониторинга с несколькими зонами и системой показателей или отчетом. Перетащите фильтры, отчеты и системы показателей на панель мониторинга. Разместите фильтры в естественном порядке от высшего уровня к низшему, чтобы максимально упростить работу для пользователей панели мониторинга.
А теперь, чтобы соединить фильтр "Северная Америка" (North America) с фильтром "Штат или провинция", или
· Перетащите "Уникальное имя элемента" (Member Unique Name) из фильтра "Северная Америка" (North America) в фильтр "Штат или провинция" (States or Provinces)
--или--
· Выполните команду "Создать подключение" (Create Connection) для фильтра "Северная Америка" (North America) (в разделе "Правка" на ленте или в соответствующем меню со стрелкой), чтобы отправить значения в фильтр "Штат или провинция" (States or Provinces) с исходным значением "Уникальное имя элемента" (Member Unique Name).
Аналогично, подключите фильтр "Штат или провинция" (States or Provinces) к фильтру "Города" (Cities) с помощью уникального имени элемента.
Подключите фильтр "Города" (Cities) к любым нужным отчетам и системам показателей. Разверните панель мониторинга, после чего вся система готова к использованию.
Кнопка "Применить фильтры" (Apply Filters) — пакетная модификация
Одним из незначительных на первый взгляд изменений в пакете обновления 1 является возможность добавлять на панель мониторинга кнопку "Применить фильтры" (Apply Filters) в конструкторе панели мониторинга, которая отлично сочетается с каскадными фильтрами.
Кнопка "Применить фильтры" (Apply Filters) является по-настоящему удобным дополнением к каскадным фильтрам, поскольку позволяет сразу задать все параметры фильтров до обновления систем показателей и отчетов. Таким образом, пользователю не нужно ждать изменения систем показателей и отчетов при каждой модификации фильтров.
Добавить кнопку очень легко. Она находится наверху списка фильтров в панели "Сведения" (Details) редактора панелей мониторинга в конструкторе.
Выберите ее и воспользуйтесь элементом управления "Добавить в зону" (Add To Zone) либо просто перетащите ее на панель мониторинга.
Теперь, когда пользователь развернутой панели мониторинга изменяет настройку фильтра, другие фильтры, находящиеся далее по каскаду (зависящие от данного фильтра), будут обновлены, однако отчеты и системы показателей останутся без изменений, позволяя пользователю определить точные значения фильтров. После этого он может нажать эту кнопку и применить все значения фильтров за один раз.
Здесь, например, представлена создаваемая нами панель мониторинга, в которой применены все фильтры. Кнопка "Применить фильтры" (Apply Filters) неактивна, поскольку ожидающих изменений нет.
Теперь измените значение в фильтре "Штат или провинция" (States or Provinces) на "Онтарио" (Ontario). Фильтр "Города" (Cities) изменится в соответствии со значениями вышестоящего фильтра (здесь этот фильтр открыт, чтобы продемонстрировать доступные новые варианты), и кнопка "Применить фильтры" (Apply Filters) станет активной, однако отчет изменен не будет.
При нажатии кнопки "Применить фильтры" (Apply Filters) отчет обновится с учетом новых значений, а кнопка снова станет неактивной.
Итак, мы рассмотрели один из аспектов замечательной возможности каскадных фильтров! Правильная реализация каскадных фильтров повышает эффективность работы и сокращает время раздражающего ожидания для пользователей панелей мониторинга. Дополнительные сведения можно найти в этой статье TechNet.
Удачной работы с панелями мониторинга!
Пол Трешер (Paul Thrasher),
инженер по тестированию в подразделении бизнес-аналитики Office
Это локализованная запись блога. Исходная статья доступна по адресу: Cascading Filters in PerformancePoint Services