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

Автор Тема: Объединение таблиц с заменой  (Прочитано 1936 раз)

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Объединение таблиц с заменой
« : Декабрь 05, 2014, 07:21:27 pm »
Требуется объединить клиентов в одну табличку. При этом если в таблице сопоставления есть правило замены старого клиента на нового, то заменить, если нет, то загрузить клиентов из таблиц.

Например, есть три таблички:
    Клиент новый
                - Клиент Н1
                - Клиент Н2

2)     Клиент старый
                - Клиент С1
                - Клиент С2

3)     |Сопоставление|
                - Клиент Н1 | Клиент С1 (т.е. С1 заменяем на Н1)

Какими лопатами-граблями можно добиться, следующей таблички:
Н1
Н2
С2

Спасибо!
| |

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1236
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Re: Объединение таблиц с заменой
« Ответ #1 : Декабрь 06, 2014, 10:58:00 pm »
Доброго времени суток  :)
Вот как вариант, идея такая:
В таблице  старых клиентов ставим метку для тех, которые уже есть в новых клиентах, через таблицу сопоставления.
Затем отсекаем по проставленной метке тех кто имеет сопоставления и грузим тех, кто таких записей не имеет.
Код примера несложный, копируем и запускаем:
// Пример скрипта для форума Qlikview & Qlik SENSE
ClientNew:
LOAD * INLINE [
    %IDN, NewClient
    n1, Клиент A
    n2, Клиент B
    n3, Клиент C
    n4, Клиент D
];

ClientOld:
LOAD * INLINE [
   %IDN, %IDO
    n3, o2
    n1, o4
];

right Join LOAD * INLINE [
    %IDO, OldClient
    o1, Клиент Ф
    o2, Клиент Ц
    o3, Клиент Л
    o4, Клиент А
];
STORE * from ClientOld into ClientOld.qvd(qvd);
drop Table ClientOld;

LOAD %IDO as [%IDN], OldClient as [NewClient]
FROM [ClientOld.qvd](qvd)
WHERE(IsNull(%IDN));

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Re: Объединение таблиц с заменой
« Ответ #2 : Декабрь 18, 2014, 05:03:58 pm »
Спасибо! Попробую!
| |

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

Re: Объединение таблиц с заменой
« Ответ #2 : Декабрь 18, 2014, 05:03:58 pm »