Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Доброго времени суток.
Столкнулся с интересным вопросом используя QlikView.
Существует таблица с выполненными продажами (один столбец) и агентами (два столбца)
Одну продажу могут совершать один или два агента (один и тот же агент может в разных продажах может быть как в первом так и во втором списке)
Вопрос: как подсчитать и вывести (в один столбец) общее количество продаж совершенных каждым агентом?
Проблема вывести их в один столбец, т.к. QlikView воспринимает агентов с одинаковыми фамилиями но в разных столбцах как разных людей.
Заранее благодарен.
Попробуйте ,
t1:
LOAD Agent1 AS Agent,
Agent1,
Agent2,
Sales
FROM
[..\..\161489.xlsx]
(ooxml, embedded labels, table is Sheet1);
Concatenate
CONCATENATE (t1)
t2:
LOAD Agent2 as Agent,
Sales
FROM
[..\..\161489.xlsx]
(ooxml, embedded labels, table is Sheet1);
как сможете за- начинают манипулировать таблицы с триггерами , чтобы показать и скрыть ...
Если не смущает, что общий итог продаж будет завышен, то можно примерно так:
Продажи:
load Агент1 as Агент, Продажа from ...;
load Агент2 as Агент, Продажа from ...;
t1:
LOAD Agent1 as A,
Sales
FROM
[161489.xlsx]
(ooxml, embedded labels, table is Sheet1);
Concatenate
CONCATENATE (t1)
t2:
LOAD Agent2 as A,
Sales
FROM
[161489.xlsx]
(ooxml, embedded labels, table is Sheet1);
Да, я бы ещё в конечной таблице убрала бы total, чтобы он не пугал завышенной суммой
и supress when value is null для этого dimention, чтобы строку с продавцом "-" убрать
Большое спасибо все прекрасно работает.
Но есть один нюанс: если я например хочу видеть все продажи по агенту "G" и кликаю на него, но в списке Agent2 из исходной таблицы, то никаких действий в таблице sum(Sales) не происходит их возможно соединить?
Попробуйте ,
t1:
LOAD Agent1 AS Agent,
Agent1,
Agent2,
Sales
FROM
[..\..\161489.xlsx]
(ooxml, embedded labels, table is Sheet1);
Concatenate
CONCATENATE (t1)
t2:
LOAD Agent2 as Agent,
Sales
FROM
[..\..\161489.xlsx]
(ooxml, embedded labels, table is Sheet1);
как сможете за- начинают манипулировать таблицы с триггерами , чтобы показать и скрыть ...
Откройте полученную таблицу (Агент, Продажи) в виде простой таблицы. И тогда можно увидеть, весьма условно на мой взгляд, все продажи по условию фильтра.
По сути, мы получили ту же таблицу "Пример", правда с потерей некоторой информации. Но отвечающую на вопрос :"как подсчитать и вывести (в один столбец) общее количество продаж совершенных каждым агентом?"
При этом мы потеряли часть сведений, и не можем ответить на вопросы:
- Сколько совместных покупок совершено каждым агентом.
- Какие пары самые эффективные в продажах.
- Кто чаще играет ведущую роль (Агент1)
- Кто чаще выступает в роли второго Агента. (если имеет значение в каком поле ФИО агента)
Наверняка, это лишь небольшая часть задачи, которую вы решаете.
Здесь следует пошире взглянуть, и оценить целиком имеющиеся данные, вопросы и задачи.
А что касается ответа на вопрос, привожу пример:
пример:
LOAD * , recno() as idRow INLINE [
Агент1, Агент2, Продажа
A, , 1
B, A, 1
C, E, 1
D, F, 1
E, , 1
B, G, 1
D, B, 1
];
АгентПродажа:
LOAD idRow, Агент1 As Агент, Продажа As Продажи Resident пример Where len(Агент1)>0;
LOAD idRow, Агент2 As Агент, Продажа As Продажи Resident пример Where len(Агент2)>0;
В пример мы добавляем ключевое поле idRow - номер строки. В преобразованной таблице мы также используем это поле.
В итоге, ядро-Qlik связывает эти таблицы, и выделяя любого агента, происходит фильтрация всех связанных с ним idRow.
Огромная благодарность Eugenyllyin и Robert Mika, все работает.
Да Eugenyllyin, вы правы это часть задачи на самом деле измерений около 10-ти (Регион, Компания и т.д) и задачу придется решать комплексно.