Я пытаюсь настроить таблицу данных из данных в Elasticsearch.
Предположим, у меня есть поле «Департамент», которое может быть «Департамент A», «Департамент B» или «Департамент C» и т. Д. Но я могу показать только общее количество всех записей вместо получение промежуточного итога с использованием поля отдела.
Только колонка «Итого» верна. Моя задача - добиться показателей в разделах «Департамент А» и «Другой департамент».
Есть ли какой-либо фильтр, который можно применить к метрике? Или какими-либо другими способами это сделать?
Сообщите, если вам нужна дополнительная информация.
Обновление ---------------------------------------------- -
После поиска я нахожу обходной путь:
Сначала создайте два скриптовых поля в Kibana, как показано ниже:
Имя поля в скрипте: sf_dept_A
Язык: безболезненный
Сценарий:
if (doc["department"].value.equals("Dept A"))
return 1;
else
return 0;
Имя поля в скрипте: sf_other_dept
Язык: безболезненный
Сценарий:
if (doc["department"].value.equals("Dept A") == false)
return 1;
else
return 0;
После создания двух указанных выше полей со сценарием перейдите к созданию таблицы данных, просто добавьте оценку суммы полей со сценарием,
Добавить показатели
Агрегация: Сумма
Поле: sf_dept_A
Особый ярлык: Dept A
Добавить показатели
- Агрегация: Сумма
- Поле: sf_dept_A
- Особый ярлык: Dept A
Добавить показатели
- Агрегация: подсчет
- Особый ярлык: Всего
Таким образом, количество различных отделов можно разделить столбцами. Но для этого потребуется гораздо больше ресурсов, и мне придется создавать много полей, если у меня много отделов.