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

Автор Тема: Как реализовать QlikView аналог SQL запроса работая с таблицами из QVD  (Прочитано 509 раз)

Оффлайн dbf_usr

  • Новичок
  • *
  • Сообщений: 4
  • Страна: pl
  • Рейтинг: +2/-0
    • Просмотр профиля
Как реализовать QlikView аналог SQL запроса работая с таблицами из QVD.
получаю данные в несколько QVD файлов.
Тут основной вопрос это как реализовать вложенный запрос для подсчета количества покупок в чеке???
Запрос:
Select
    (SELECT
       Count(*)
     FROM
        pos.order_client,
        pos.wares_order
    WHERE
        order_client.code_order = wares_order.code_order AND
        order_client.id_workplace = wares_order.id_workplace AND
        order_client.code_shop = wares_order.code_shop) AS "Кол-во позиций",
  order_client.date_receipt AS "Дата чека (если чек не выбит)",
  order_client.number_receipt AS "Номер чека(если чек выбит)",
  order_client.date_order AS "Дата покупки",
  order_client.sum_order AS "Сумма чека"
  pos.order_client.code_order AS "id_Код чека",
  order_client.code_client AS "ID_Код клиента",
  order_client.code_shop AS "ID_Код магазина",
  pos.order_client.id_workplace AS "ID_Код кассы"
FROM
  pos.order_client;
Всем за ранее спасибо!

Оффлайн Prive

  • Новичок
  • *
  • Сообщений: 43
  • Страна: ru
  • Рейтинг: +20/-0
    • Просмотр профиля
Можно сделать так:

order_client:
LOAD
  code_order,
  id_workplace,
  code_shop,
  date_receipt,
  number_receipt,
  date_order,
  sum_order,
  code_client
FROM [order_client.qvd];

NoConcatenate
wares_order:
LOAD
  code_order,
  id_workplace,
  code_shop,
  RowNo() as номерСтроки
FROM [wares_order.qvd];

LEFT JOIN(order_client)
LOAD
 code_order,
 id_workplace,
 code_shop,
 Count(номерСтроки) as "Кол-во позиций"
Resident wares_order
Group by
 code_order,
 id_workplace,
 code_shop;

DROP TABLE wares_order;

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 983
  • Страна: ru
  • Рейтинг: +97/-0
    • Просмотр профиля
+1

Дополню, по ситуации, можно сформировать таблицу с расчетом чего-либо и использовать ее как таблицу маппинга с присвоением значения в целевую таблицу через Applymap(). Иногда, это может быть эффективнее, чем использование left join.

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