Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Декабрь 12, 2018, 09:24:15 am

Автор Тема: Сохранение суммы в переменной  (Прочитано 318 раз)

Оффлайн Валерий

  • Новичок
  • *
  • Сообщений: 25
  • Страна: ua
  • Рейтинг: +3/-0
    • Просмотр профиля
Сохранение суммы в переменной
« : Ноябрь 27, 2018, 02:44:25 pm »
Проветствую!
Прошу помощи в написании самого простого скрипта QS DESKTOP для сбора суммы в переменную при загрузке.
Например, есть таблица:

МЕСЯЦ              МАГАЗИН                ТОВАР               СУММА
январь               Ашан                      Яблоки                50 000
январь               Ашан                      Сливы                 30 000
январь               Метро                     Яблоки                100 000
январь               Метро                     Яблоки                20 000
январь               Метро                     Груши                  10 000
февраль             Ашан                      Яблоки                150 000     
февраль             Ашан                      Груши                  50 000   
февраль             Сильпо                   Бананы                200 000   

Хочу понять как:
1. Собрать в переменную Total продажи за все месяцы по всем клиентам
2. Собрать в переменную Last_mth продажи за последний месяц
3. Собрать в переменную Customer продажи по определённому клиенту (например, Метро) за весь период и за последний месяц
4. Собрать в переменную Tovar продажи по определённому товару (например, Яблоки) за весь период и за последний месяц.

Доп. условия:
К-во и названия клиентов и товаров фиксированное, т.е. я знаю наперёд что нужно будет собирать.
В одном месяце клиенты и товары могут повторяться.

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

Заранее спасибо.

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1236
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Re: Сохранение суммы в переменной
« Ответ #1 : Ноябрь 27, 2018, 06:52:53 pm »
Привет
все просто, считаем и сохраняем в переменную примерно так:

t1:
load sum(СУММА) as TotalSum
resident таблица // или load если из файла
group by условие группировки // или 1 если одна строка
;
// присваиваем значение переменной
let v.TotalSum = peek('TotalSum ',0,'t1');    // если одна переменная
Для перебора используем циклы, с присвоением значений внутри цикла.

Т.о. для расчета показателей и сохранения в переменные ключевыми моментами являются:
- расчет показателей с использованием запросов с группировками и условиями (load ... group by...)
- перенос значений из таблицы в переменную ( let ...... peek(...)  )

Но можно поинтересоваться, для какой задачи требуется такое количество переменных?



Оффлайн Валерий

  • Новичок
  • *
  • Сообщений: 25
  • Страна: ua
  • Рейтинг: +3/-0
    • Просмотр профиля
Re: Сохранение суммы в переменной
« Ответ #2 : Ноябрь 28, 2018, 12:10:33 pm »
Привет!
Спасибо за объяснение.
Хочу попробовать реализовать отправку ключевых показателей компании через телегам.
А именно: продажи по клиентам, продажи по группам товаров, кумулятивные и ежемесячные продажи.

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

Re: Сохранение суммы в переменной
« Ответ #2 : Ноябрь 28, 2018, 12:10:33 pm »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1236
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Re: Сохранение суммы в переменной
« Ответ #3 : Ноябрь 28, 2018, 01:39:14 pm »
Ясно, сразу хочу предостеречь.
не стоит плодить переменные.
Учтите, что их следует стирать по завершении скрипта, т.е. после отправки сообщения.

Разбейте сообщение на блоки.
На каждый блок переменную. (b_01.1.Text,b_01.2.Text...)
и в переменной сохраняйте не значение, а строку вывода.
Используйте циклы, внутри цикла временные переменные, которые в конце цикла сформируют строку сообщения, с элементами форматирования.
Используйте формат <pre>,  длина строки - не более 30 символов, иначе будут "пляски строк" на разных устройствах.

Оффлайн Валерий

  • Новичок
  • *
  • Сообщений: 25
  • Страна: ua
  • Рейтинг: +3/-0
    • Просмотр профиля
Re: Сохранение суммы в переменной
« Ответ #4 : Декабрь 03, 2018, 12:56:56 pm »
Спасибо. Я учту этот нюанс.

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

Re: Сохранение суммы в переменной
« Ответ #4 : Декабрь 03, 2018, 12:56:56 pm »