Здравствуйте !
Подскажите , как подойти к решению задачи лучше .
Необходимо реализовать деш для редактирования данных , если мы будем использовать koob-table-simple с настроенным редактированием данных, то необходимо еще перехватить событие Сохранение , где добавить функцию расчета дополнительного поля таблицы. Я так понимаю , секции сохранение у данного деша нет ? Как тогда подойти к решению наиболее оптимально ?
Добрый день, вам где необходимо перехватить событие “сохранение” на клиенте? или на сервере запускается какая-то процедура? В зависимости от ответа будут различные варианты решения
Необходимо после корректировки данных пользователем , например , в нескольких строках , выполнить расчет еще одного значения , которое далее будет записано в ту же таблицу для соответствующей строки . В идеале на сервере , но в целом оба варианта подойдут
После настройки куба для редактирования данных вам только нужно будет создать рассчитываемый столбец через конструктор (нажмите “+” в блоке “Факты” и выберите “Выражение” и создайте новый факт по принципу формула:алиас). После редактирования столбца, новый столбец будет автоматически обновляться и показывать новые данные. Ниже прикрепляю пример реализации нового факта:
На примере, представленном выше, если меняется значение в столбце id, то в соседнем столбце данные пересчитываются
там сложный расчет , и функция расчета зависит от самой строки , т.е. для разных строк разные формулы
еще как вариант , можно ли прописать для столбца не формулу , а имя функции , а в ней уже прописать функционал в зависимости от строки ?
Хотелось бы получить ответ на мои вопросы
Добрый день!
В данный момент можно использовать только встроенные функции, любые другие - к сожалению, нельзя, но при этом есть функция if, в которой можно сослаться на другие столбцы этой строчки, т.е формула будет выполняться для каждой строки отдельно
Например:
if(id < 4, 1, 2)
в зависимости от id выдаст два значения - единицу или двойку
понятно , событие Сохранение можно перехватить ?
такой вариант не подходит, ответьте все же про сохранение
Добрый день!
Можете пожалуйста подробнее рассказать, что вы имеете ввиду под “Перехватить событие Сохранение” ? Что является в данном вопросе “Секцией Сохранения” ?
нажатие на Галочку при корректировке числа
Вы вводите число в поле, нажимаете “Галочку” - Сохранить.
После вам необходимо, чтобы было “перехвачено данное событие по Сохранению”.
Куда и как бы вы хотите применить/вывести данное введенное число?
я хочу получить данные отображенные дешом , в т.ч. скорректированное число , выполнить ф-ю , которая в соответствии с данными , хранимыми в вспомогательной таблице выполнит расчет , результат расчета сложить или в столбец таблицы куба, на котором деш , или можно в отдельную таблицу
Хотелось бы прояснить вопрос до конца .
Добрый день!
При изменении информации колонках, данные будут изменяться непосредственно в кубе, а также в источнике, на основе которого он создан.
Далее данные будут храниться в вашей базе(источнике).
Если Вам необходимо перехватывать поступление данной информации уже в Вашей базе, то рекомендуем создать Триггер в БД, который будет уже реагировать на изменение данной информации и отрабатывать так, как вы его настроите.
но пользователь должен также сразу видеть результат расчета , а соответственно необходимо также обновлять деш после расчета
В данном случае после “обновления” данных в БД через дэш, Вам потребуется обновить страницу для поступления из источника свежих(обновленных) данных.
но это надо автоматически , а вы предлагаете , чтобы пользователь инициировал ?
В стандартных дешах из “коробки” нет возможности автоматического обновления.
Если вы хотите, чтобы какие-то действия производились автоматически, то нужно разрабатывать кастомный дэш на основе нашего API.