Данный атрибут содержит наименование пользовательского фильтра, который был создан для фильтрации данных столбца. По сути данный атрибут позволяет использовать в расчетах показателя данные фильтра (результат фильтрации). Т.е. при расчёте показателей используются не все данные столбца, а только те, которые соответствуют поставленной задаче (например, только этого года/недели, либо только в определенном числовом диапазоне, только определенного товара и пр.)
Пользовательский показатель может ссылаться на любой фильтр, а также несколько пользовательских показателей могут ссылаться на один и тот же фильтр, что позволяет оптимизировать скорость фильтрации.
Пример1
Задача: необходимо отдельно вывести показатель количества проданных брауншвейгских колбас.
Решение:
1. Создадим фильтр, который для показателя будет оставлять строки только с «Sausage Brunswick»:
<Filter Name = "Sausage Brunswick" >
<Parameter Name = "Product" >
<Cluster Name = "Sausage Brunswick" />
</Parameter>
</Filter>
Данный код добавляет фильтр с именем «Sausage Brunswick», который будет брать только те строки, где столбец Product имеет значение Sausage Brunswick .
2. Создадим показатель, который будет считать количество проданного товара «Sausage Brunswick»:
<Ratio Name = "Sausage Brunswick" RatioType = "Count" Filter = "Sausage Brunswick" />
Т.е. пользовательский показатель подсчитывает количество ( RatioType ="Count") проданных Sausage Brunswick ( Filter ="Sausage Brunswick"). SumParam не указан, значит используется по умолчанию столбец, который был выбран в начале работы с отчетом как «использовать в качестве Суммы» (в нашем примере это “Unit Price”).
Итог:
Пример 2
Задача: необходимо проанализировать средний размер прибыли на основании данных примера CustomRatios.xls., но не по всем городам и странам, а только по Европе (London+Berlin+Roma).
Решение: нужно создать следующий показатель:
<Ratio Name = "Europe,average profit" RatioType = "Average" SumParam = "Profit" Filter = "Europe" />, где :
¾ Europe,average profit - наименование показателя;
¾ Average – значения атрибута RatioType , которое означает, что в колонке "Profit" будет рассчитано среднее из числовых значений, после фильтрации данных фильтром Europe;
¾ SumParam="Profit" – расчёт будет проводиться в столбце»Profit»( см.SumParam );
¾ Filter="Europe" – к данным столбца будет применен пользовательский фильтр Europe.
Теперь необходимо создать пользовательский фильтр , который позволит использовать данные только Лондона, Берлина и Рима. Его можно составить следующим образом:
<Filter Name = "Europe" >
<Parameter Name = "Region" >
<Cluster Name = "London" />
<Cluster Name = "Berlin" />
<Cluster Name = "Roma" />
</ Parameter >
</ Filter >
Но более рационально написать код, используя атрибут Exclude , чтобы не перечислять все города, которые входят в множество «Европа», а наоборот, исключить один город Нью Йорк, который в это множество не входит:
<Filter Name = "Europe" Exclude = "True" >
<Parameter Name = "Region" >
<Cluster Name = "New York" />
</ Parameter >
</ Filter >
Созданный показатель позволяет проанализировать средний размер прибыли по месяцам только по выбранному перечню городов (London+Berlin+Roma):