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

Автор Тема: Разность между двумя полями в разных таблицах  (Прочитано 682 раз)

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Добрый день! Я не давно начал знакомится с Qlik и не много есть не понятно.
Например задача такая мне нужно посчитать остаток количестовоТовара и колРеалТовар
посчитать разницу между ними колТ - КолРеалТовар
Все обыскал, то ли  не могу понять то ли в qliki реально нету функции разницы  помогите с скриптом что бы данные из одно поле с именем колРеал Товар отнималась от КолТ и выводилость в поле Остаток

буду очень признателен

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1220
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #1 : Февраль 26, 2018, 12:06:58 pm »
Привет, чтобы сформировать новое поле , необходимо связать таблицы по ключевым полям и в запросе просто сформировать новое поле. Ничего сложного.

Здесь все хорошо описано

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #2 : Февраль 26, 2018, 12:30:28 pm »
Они у меня взаимосвязаны по ключу штрихкод новое поле сформировано
меня интересует сам скрипт проведения разницы между полями

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

Re: Разность между двумя полями в разных таблицах
« Ответ #2 : Февраль 26, 2018, 12:30:28 pm »

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #3 : Февраль 26, 2018, 12:35:20 pm »
Например

штрихкод  ,   кол проданного товара,  количество товара
12314123213               10                           20
12312412341                2                             12

и я хотел бы получить разность в поле остаток
штрихкод  ,   кол проданного товара,  количество товара     остаток
12314123213               9                           20                        11

что то вроде того

Оффлайн millik

  • Наставник
  • **
  • Сообщений: 81
  • Страна: by
  • Рейтинг: +35/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #4 : Февраль 26, 2018, 03:35:11 pm »
Например

штрихкод  ,   кол проданного товара,  количество товара
12314123213               10                           20
12312412341                2                             12

и я хотел бы получить разность в поле остаток
штрихкод  ,   кол проданного товара,  количество товара     остаток
12314123213               9                           20                        11

что то вроде того

Все очень просто. В скрипте очень много аналогий с SQL
Чтобы получилось как вы хотите, можно просто написать.

LOAD
[штрихкод],
[кол проданного товара], 
[количество товара],
[количество товара] - [кол проданного товара] as остаток

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

Хотя я бы в принципе рекомендовал так делать со всеми полями, чтобы явно дать знать движку какого типа значение находится в поле: текст через Text(), числа через Num(), даты через Date() и т.п.. Потому что потом, как показывает практика, бывают недопонимания между разработчиком и Qlik'ом =)

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #5 : Февраль 27, 2018, 09:00:21 am »
Сам код программа  прокомпелировала, однако результат безуспешен вот код, почему не рассчитывает? помогите
LOAD Товар, Поставщик, UNP, КоличествоТ, Штрихкод, PRICEN, ЦенаР
FROM Продажа.xlsx (ooxml, embedded labels);
Directory;
LOAD  Штрихкод, [КоличествоРТ]
FROM Реализация.xls (biff, embedded labels, table is Лист1$);

Directory;

load * Inline [Остаток, Проценты];

load
[Штрихкод],
[КоличествоТ],
[КоличествоРТ],
num(КоличествоТ)-num(КоличествоРТ) as Остаток;
 

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1220
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #6 : Февраль 27, 2018, 09:16:02 am »
А если примерно так:
t1:
LOAD Товар, Поставщик, UNP, КоличествоТ, Штрихкод, PRICEN, ЦенаР
FROM Продажа.xlsx (ooxml, embedded labels);
Directory;
left join (t1)
LOAD  Штрихкод, [КоличествоРТ]
FROM Реализация.xls (biff, embedded labels, table is Лист1$);

left join (t1)
Штрихкод,
КоличествоТ-КоличествоРТ as Остаток
resident t1;

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

Re: Разность между двумя полями в разных таблицах
« Ответ #6 : Февраль 27, 2018, 09:16:02 am »

Оффлайн SEGA

  • Новичок
  • *
  • Сообщений: 13
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #7 : Февраль 27, 2018, 09:28:57 am »
УРА получилось ОГРОМНОЕ СПАСИБО

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1220
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #8 : Февраль 27, 2018, 09:41:52 am »
Суть уловили?
Скрипт считает поля только в одной таблице.

Оффлайн millik

  • Наставник
  • **
  • Сообщений: 81
  • Страна: by
  • Рейтинг: +35/-0
    • Просмотр профиля
Re: Разность между двумя полями в разных таблицах
« Ответ #9 : Февраль 27, 2018, 10:10:39 am »
Пока писал ответ, уже всё объяснили)

ПС
Не очень понял зачем вы используете оператор Directory без ничего. И зачем вы загрузили пустую таблицу load * Inline [Остаток, Проценты];

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

Re: Разность между двумя полями в разных таблицах
« Ответ #9 : Февраль 27, 2018, 10:10:39 am »