Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Eva от 14 ноября 2015, 10:41:03

Название: Данные в виде среза
Отправлено: Eva от 14 ноября 2015, 10:41:03
Коллеги,здравствуйте! Очень нужна ваша помощь.
Есть таблица с данными в виде среза,т.е в таком виде.
Дата, Сотрудник, Вид выплаты, сумма
01.01.15, Иванов, оклад,10000
01.01.15, Иванов, премия,5000
03.03.15, Иванов,премия,1000
05.05.15, Иванов,оклад,15000
Из таблицы такого типа мне нужен оклад сотрудника на каждый месяц, но запись есть лишь тогда,когда оклад либо назначается при приеме на работу,либо при изменении этого оклада,к примеру если человеку его повысили. Как можно решить такого типа проблему? Нужен оклад на каждый месяц.
Название: Re: Данные в виде среза
Отправлено: admin от 15 ноября 2015, 08:31:50
Привет, посмотрите примеры использования функции peek(), например в теме по загрузке курсов валют  (http://qlikview-forum.ru/qvf/index.php/topic,442.0.html)peek() используется для заполнения недостающих записей котировок на выходные дни.
В вашем случае потребуется привязать таблицу к календарю, отсортировать по сотруднику и периоду и заполнить недостающие сведения из предыдущей записи.
Извините, пишу "на ходу" )), если не совсем понятно, завтра сделаю пример.
Название: Re: Данные в виде среза
Отправлено: bibis от 16 ноября 2015, 09:16:28
Добрый день. Вот тут описал решение для аналогичной ситуации
http://qlikview-forum.ru/qvf/index.php/topic,894.0.html (http://qlikview-forum.ru/qvf/index.php/topic,894.0.html)

Суть:  создаем поле, которое показывает, когда сотрудник перестал получать данный оклад, если не переставал, то указываем заведомо большое число. 
Таким образом получаем таблицу с временными интервалами и дальше используем стандартный функционал, Intervalmatch
Название: Re: Данные в виде среза
Отправлено: Eva от 16 ноября 2015, 10:33:06
Спасибо! Проблема решена