Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Ознакомиться с примером настройки для одной группы показателей, остальные группы показателей настраивать аналогично.

  2. Перейти в секцию measure_groups, выбрать группу показателей.

  3. Настроить для обработки ViTalk текущую группу показателей :

    1. Установить значение поля "using": true для текущей группы показателей, если с ней должен работать ViTalk,

    2. Установить значение поля "using": false для текущей группы показателей, если с ней не должен работать ViTalk,

    3. Пример заполнения флага использования для одной группы показателей:

      Блок кода
      "measure_groups": { 
      	"Бюджет доходов и расходов": { 
      		"using": true, 
      		... 
      	},
       	... 
      }


    4. Проверить списки реальных показателей (real_measures) для текущей группы показателей. Для каждого показателя должна быть выгружена текущая агрегация из базы данных: "AVG", "SUM", "MIN", "MAX" или "COUNT". Например, так:

      Блок кода
      "Бюджет доходов и расходов": { 
      	"using": true, 
      	"real_measures": { 
      		"Средний оборот": "AVG", 
      		"Количество заявок": "COUNT", 
      		... 
      	}, 
      }


    5. Заполнить список виртуальных показателей (virtual_measures) для текущей группы показателей. Виртуальный показатель необходим для правильной работы ViTalk для показателей, у которых:
      - В названии встречаются общие слова/фразы с другими показателями.
      - В названии используется название агрегации.
      - Если вы хотите, чтобы к показателю автоматически применялись фильтры
      Примеры показателей, для которых нужно завести виртуальные показатели: Минимальный оборот, Средний оборот, Средний максимальный оборот 

      Пример настройки виртуальных показателей для случая "один показатель-одна агрегация": 

...

Блок кода
"Бюджет доходов и расходов": { 
	"using": true, 
    "real_measures": { 
		"Средний оборот": "AVG", 
		"Количество заявок": "COUNT", 
		"Максимальный оборот": "MAX"
            }, 
	"virtual_measures": { 
		"оборот": { 
			"AVG": "Средний оборот", 
			"MAX": "Максимальный оборот" 
		}, 
        "заявки": { 
			"COUNT": "Количество заявок" 
		}, 
     }, 
},

При работе с ViTalk, в зависимости от упомянутой пользователем (вместе с виртуальным показателем) агрегации (покажи число заявок)  выбирается соответствующей показатель из БД. Если агрегация не упомянута (покажи заявки), то ViTalk выбирает показатель, указанный для спец. агрегации DEFAULT. Пример настройки виртуальных показателей для случая в названии показателя "один показатель-несколько агрегаций" и с виртуальной агрегацией DEFAULT: 

...

Блок кода
"Оборотные средства": { 
	"using": true, 
    "real_measures": { 
		"Средний оборот": "AVG", 
		"Минимальный оборот": "MIN", 
		"Средний минимальный оборот": "AVG"
            }, 
	"virtual_measures": { 
		"оборот": { 
			"MIN": "Минимальный оборот", 
			"AVG": "Средний оборот", 
		}, 
		"Минимальный оборот": { 
			"AVG": "Средний минимальный оборот", 
           	"DEFAULT": "Минимальный оборот" 
     	}, 
	},
},

Настройка фильтров по умолчанию

ViTalk позволяет настроить виртуальный показатель, к которому по умолчанию применяется фильтрация. Например, мы хотим показатель "плановая прибыль" в группе показателей "Показатели выполнения плана", расписанный по каждому месяцу, но по умолчанию мы хотим смотреть его значение с начала года по окончание прошлого месяца. Для этого можно настроить виртуальный показатель следующим образом:

Блок кода
languagejs
"Показатели выполнения плана": {
	"using": true, 
	"real_measures": {
		"Прибыль": "SUM"
	}
	"virtual_measures": {
		"Плановая прибыль": {
			"DEFAULT": "Прибыль",
			"SUM": "Прибыль",
			"filters": [
				{
					"dimension_role": "Календарь", # или другое календарное ролевое измерение. Если измерение не ролевое, используется ключ "dimension"
					"type": "INCLUDE", # или EXCLUDE, если мы хотим исключить диапазон
					"dates": [
						{
							"from": {
								"position": "BEGIN", # позиции бывают BEGIN, END и CURRENT. 
								"year": 0 # Мы указываем, что хотим период с начала текущего года.
										  # 0 - это отступ от текущего года. Например, чтобы показать с начала прошлого года, 0 нужно заменить на -1
							},
							"to": {
								"position": "END",
								"month": -1 # до окончания прошлого месяца
							}
						}
					]
				}
			]
		}
	}
}

Таким образом настраиваются фильтры на даты.

Некалендарные фильтры можно построить следующим образом.

Блок кода
languagejs
"Финансовые показатели": {
	"using": true, 
	"real_measures": {
		"Прибыль": "SUM"
	}
	"virtual_measures": {
		"Столичная прибыль": {
			"DEFAULT": "Прибыль",
			"SUM": "Прибыль",
			"filters": [
				{
					"dimension_role": "Филиал", # у ГП должна быть связь с ролевым измерением "Филиал"
					"attribute": "Город", #
					"type": "INCLUDE", # или EXCLUDE
					"values": ["Москва", "Санкт-Петербург"]
				}
			]
		}
	}
}

Полученный показатель "столичная прибыль" при запросе будет автоматически отфильтровываться до филиалов в Москве и Санкт-Петербурге.

Настройка измерений

Используемые измерения описываются через их атрибуты и роли. Секция измерений имеет вид:

...