Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Ноябрь 18, 2018, 02:53:08 pm

Автор Тема: Выборка данных в диапазоне дат (Qlikview)  (Прочитано 5446 раз)

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Выборка данных в диапазоне дат (Qlikview)
« : Апрель 11, 2014, 09:09:56 am »
Здравствуйте!

Только начинаю изучать QV, поэтому не судите строго за, уверен, простой вопрос для вас.

У меня две таблицы - План продаж помесячный и Накладные
Делаю прямую таблицу, где хочу получить:

- Период плана (Дата начала и Дата окончания) - сделал
- Плановую сумму - сделал
- Фактическую сумму

Как в прямой таблице указать, что фактическая сумма (т.е. сумма по накладным), должна рассчитываться в диапазоне плана?

Заранее спасибо за ответ!
| |

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1216
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Выборка данных в диапазоне дат
« Ответ #1 : Апрель 11, 2014, 09:43:37 am »
День добрый.
Не совсем понятно по составу измерений.
Хотелось бы посмотреть на модель данных (Ctrl-T, Копировать изображение, и вложением или через галерею в сообщение на форум).
Там где есть поля даты, сложно обойтись без календаря. Поэтому потребуется добавить календарь.
Далее, исходя из состава таблиц, потребуется определится с моделью данных, т.е. сколько таблиц с фактами будем использовать. Думаю, что надо будет объединить план с фактом в одну.
Ну и, без расширенной фильтрации в выражениях диаграмм тоже не обойтись.

По одной таблице фактов, к примеру:
вариант 1
признак,дата, номенклатура,покупатель, количество, сумма  (где признак= план или факт)

вариант 2
дата, номенклатура,покупатель, количество плановое, сумма плановая, количество факт, сумма факт

Тогда для получения суммы в первом случае потребуется использовать фильтрацию по признаку,
во втором - достаточно будет посчитать сумму по плановым показателям.
Результат будет получен в обоих случаях, а о том какой вариант правильнее, на небольших данных не принципиально.

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Re: Выборка данных в диапазоне дат
« Ответ #2 : Апрель 11, 2014, 10:58:59 am »
План:
Дата началаДата окончанияНазвание планаПлан
01.01.201431.01.2014Январь100
01.02.201428.02.2014Февраль200
01.03.201431.02.2014Март300

Факт
Дата накладнойФакт
15.01.20145
20.01.201410
17.03.201420

План-факт - Который я хочу получить
Название планаПланФакт
Январь10015
Февраль2000
Март30020


Попробовал сделать как советуют англоязычные форумы- Sum({<ДАТА_НАКЛАДНОЙ= {">=$(=Date(ДАТА_НАЧАЛА)) <=$(=Date(ДАТА_ОКОНЧАНИЯ))"}>} ФАКТ)
Но функция не отрабатывает, выводит нули.

| |

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

Re: Выборка данных в диапазоне дат
« Ответ #2 : Апрель 11, 2014, 10:58:59 am »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1216
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Выборка данных в диапазоне дат
« Ответ #3 : Апрель 11, 2014, 12:02:01 pm »
Какой смысл в датах начала и конца месяца плана?
Если план месячный без дат продаж, то принимаем дату плана скажем начало месяца за дату формирования плана.
Дату окончания убираем, "Дата начала" и "Дата накладной"  - переименуем в Дата.
Формируем календарь с полем Дата, Месяц
и получаем отчеты по месяцу. Связь будет через "Дата".
Как вариант. навскидку.

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Re: Выборка данных в диапазоне дат
« Ответ #4 : Апрель 11, 2014, 01:54:14 pm »
Спасибо!

Календарь через Объект "Календарь/Ползунок"?
| |

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1216
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Выборка данных в диапазоне дат
« Ответ #5 : Апрель 11, 2014, 02:04:47 pm »
Нет, через скрипт, здесь пример.

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Re: Выборка данных в диапазоне дат
« Ответ #6 : Апрель 15, 2014, 12:03:20 pm »
Спасибо за ответ!

Пробовал настроить - получилось на 50%. Не сохранил данные. Сейчас заново настрою, отпишу. Но, чувствую уже близок к результату!
| |

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

Re: Выборка данных в диапазоне дат
« Ответ #6 : Апрель 15, 2014, 12:03:20 pm »

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Re: Выборка данных в диапазоне дат
« Ответ #7 : Апрель 15, 2014, 12:33:50 pm »
Получилось! Спасибо!

Правда сделал без календаря.

Все же не понятно почему через Sum({<ДАТА_НАКЛАДНОЙ= {">=$(=Date(ДАТА_НАЧАЛА)) <=$(=Date(ДАТА_ОКОНЧАНИЯ))"}>} ФАКТ) не отработало?
| |

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1216
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Выборка данных в диапазоне дат
« Ответ #8 : Апрель 15, 2014, 02:01:04 pm »
Чтобы фильтровать диапазон дат, следует использовать переменные
Скажем, vFromDate и vToDate.
Переменные привязываем на объекты Ползунок/Календарь.

Выражение для кнопки, по нажатию которой устанавливается фильтр на диапазон дат
='>=' & date(vFromDate, 'DD/MM/YYYY') & '<=' & date(vToDate, 'DD/MM/YYYY')Т.о. выбирая переменные в календариках и нажимая кнопку мы даем условие на фильтрацию диапазона дат.

Без календаря обойтись сложно.

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

Re: Выборка данных в диапазоне дат
« Ответ #8 : Апрель 15, 2014, 02:01:04 pm »