×
Меню

Атрибут Value (<Parameter>)

Атрибут Value –    значение (число либо переменная) в неравенстве, с которым сравнивается данные каждой строки столбца. Условие (знак) неравенства задает атрибут Condition .
В результате проверки каждой ячейки столбца при помощи неравенства (атриьбут Condition  + атрибут Value ) остаются только те строки, которые удовлетворяют неравенству.
Пример неравенства:
<Parameter   Name = "Сумма"   Condition = "Less"   Value = "100" /> ,
Математическим языком его можно записать следующим образом:
ячейки столбца “Сумма”<100. В результате фильтрации остануться только те ячейки, значение которых меньше 100.
Значением атрибута Value может быть:
1) числовое значение;
2) особое значение (переменная).
Особые значения (переменные) бывают двух видов:
BeginTime/EndTime - соответственно начало/окончание выбранного периода в каждом элементе отчета. Данные периоды в каждом отдельном случае могут быть разными, но интуитивно понятны.
Рассмотрим возможные   варианты значений BeginTime/EndTime для различных периодов :
1. BeginTime и EndTime соответствуют началу и окончанию выбранного периода на ленте в Главная>Периоды>Период:
 
 
 
Показатели, рассчитанные на основании этих дат будут:
 
1.1 В полной сводной таблице, кроме первого блока “Период”:
 
 
 
1.2 В подсказках к блокам Полной сводной таблицы, кроме блока “Период”:
 
 
 
1.3.В таблицах, которые не содержат столбцов дат (см.вкладки Быстрая сводная таблица или  Шахматка), например:
 
 
1.4 В диаграммах, в которых отсутствует ось с датами, например:
 
 
2. Различные   BeginTime и EndTime для каждой отдельной точки на графике и равны началу и концу периода конкретно для данной точки.
BeginTime и EndTime будут зависеть от того, какой масштаб оси времени выбран: дни, недели, месяцы или года:
Например, для дней BeginTime и EndTime будут иметь следующие значения:
 
 
Для недель:
 
 
А, например для месяцев, такие:
 
 
3. Различные   BeginTime и EndTime для отдельных временных сегментов, которые находятся в колонке временных периодов в таблице. Для каждого периода эти значения будут свои.
Что такое отдельный временной сегмент? Как правило это первый столбец даты в таблице:
1. в Полной сводной таблице (блок “Период”)
 
 
2) первый столбец с отдельными временными сегментами (Период, месяцы, дни недели) в Шахматке или Быстрой сводной таблице:
 
 
Также к ним относятся отдельные временные сегменты в диаграмме:
 
 
 
Значения BeginTime и EndTime будут зависеть от того, к какому конкретно временному сегменту относится показатель. Рассмотрим варианты, когда рассчитываемый показатель находится::
 
в таблице со стандартным столбцом “Период” (Канбан (старое название - Полная сводная таблица), Показатели (старое название - Быстрая сводная таблица))
 
 
 
2) в таблице с раздельными временными сегментами “Месяцы”:
 
 
3) в таблице с раздельными временными сегментами “Дни недели”:
 
4. Рассчитываемые BeginTime и EndTime как начало или конец текущего / прошлого / будущего месяца при использовании атрибута   DateRange .
А трибут Value = "EndTime" можно использовать вместе с атрибутом тега <Filter> DateRange  и Condition  для получения данных за периоды, ограниченные началом/окончанием текущего/предыдущего/следующего месяца, например:
<Parameter   Name   =   "Столбец с датами"   DateRange   =   "Last month" Condition ="LessOrEqual" Value ="BeginTime" /> , т.е.мы получим массив данных с датами, начиная с самой ранней и до первого числа предыдущего месяца включительно.
Таким образом можно получить десятки различных комбинаций атрибутов DateRange ,   Condition  и Value.
Пример фильтра, когда Value – числовое значение
Стоит задача отслеживать и анализировать продажи брауншвейгской колбасы, которая была продана по цене 400 ден.ед. и дешевле. Для этого создан такой фильтр:
<Filter   Name = "Sausage Brunswick,Sum Less 400" >
      <Parameter   Name = "Product" >
            <Cluster   Name = "Sausage Brunswick" />
      </Parameter>
      <Parameter   Name = "Unit Price"   Condition = "LessOrEqual"   Value = "400" />
  </Filter>, где:
 
Затем добавив два показателя на основании данного фильтра (детально о пользовательских показателях можно узнать здесь), появилась возможность решить поставленную задачу и следить за продажами специфической группы товара описанной этом примере:
 
Найти эти показатели вы сможете в проекте CustomRatiosFilters.npt в Последних документах, скачав программу.
Пример фильтра, когда Value – особые значения:
Стоит задача отслеживать суммы по договорам, которые не оплачены и срок оплаты по которым уже прошел (с полным примером  можно ознакомиться  здесь) .
С этой целью создан фильтр:
  <Filter   Name = "Нет фактич.даты оплаты+Ожидаемая дата оплаты прошла" >
               <Parameter   Name = "Ожидаемая дата оплаты"   Condition = "Less"   Value = "EndTime" />
               <Parameter   Name = "Фактическая дата оплаты"   Condition = "Empty" />          </Filter>, где:
В итоге на основании этого фильтра был создан показатель, который позволяет в любой удобный момент отследить суммы остатков, по которым уже прошли ожидаемые сроки оплаты: