Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Коллеги, привет
Подскажите с очередной задачкой, кто сталкивался:
Пусть имеем простую модель:
Где 1 - Таблица фактов. 2 - справочник
Содержание:
1:
2:
Требуется посчитать табличку, с выражениями
1. сумма продаж
2. количество менеджеров, которые сработали
3. общее количество менеджеров в базе
с 1 и 2 - все понятно
Вопрос по поводу 3. Как запихать сюда общее количество менеджеров в базе (Результат для Москвы = 2, для Омска = 1), которые присутствуют в справочнике, но не связаны с таблицей фактов, т.к. по ним нет документов продаж?
Спасибо
Объедините всё в одну таблицу, получится то что нужно ?
А еще, на всякий случай, для подсчёта Null можно использовать функцию: NullCount - chart function ‒ QlikView
Тут, кажется всё просто:
count (TOTAL Manager)
или через Анализ множеств :
count ( {<Sales= >} Manager) или count ( {<Sales= , Region=>} Manager)
По вашему п.2 - а почему не написать просто: count (Manager) ? Вместо IF в COUNT'e ?
И вообще структура у вас странная....
Если у вас таблица 1 содержит продажи, а таблица 2 содержит все связи с Менеджеров и Регионов то сделайте синтетический ключ:
1:
Load
Sales
, Manager & '-' & ManagerRegion as %Key1
From ....;
2:
Load
Manager
, Region
, Manager & '-' & Region as %Key1
from .... ;
таким образом у вас менеджеры и регионы - будут в одной таблице, а в другой у вас будут только продажи и связаны они будут по ключу : %Key1
И ваши формулы будут такие:
1. sum(Sales)
2. count (Manager) ... если нужно различные то count (distinct Manager)
3. count (TOTAL Manager) или count (TOTAL {<%Key1 = >} Manager )
Вроде всё..
Станислав, спасибо за фидбэк
В этом случае получаем:
Что не есть то что нам нужно
Спасибо, хорошая идея с синтетическим ключом и расположением региона в таблице менеджера. Да, будет работать. Но на своей "звезде" такую методику я не могу применить, поскольку в модели, помимо менеджера фигурируют еще контрагенты и другие справочники, которые имеют привязку к региону. Поэтому регион должен оставаться в фактах и быть в "центре" звезды
Через IF пошел, для того, чтобы связать справочник с фактами по региону, чтобы не было такого
Можно ведь скрыть Null() записи : img-2017-08-18-23-31-57.png / Облако Mail.Ru
А покажите всю структуру ?
Боевую выкладывать не буду. Она очень емкая. Усложню текущую схему, добавив дополнительный справочник
Во вложении qvw
Схема:
В центре таблица с транзакциями и ссылками на справочники
Хотелось бы в этой модели одним отчетом посчитать продажи и отобразить общее количество менеджеров и клиентов базы (к примеру, чтобы посчитать среднюю выручку на клиента/менеджера в регионе = Общая выручка/Количество клиентов/менеджеров в базе; при этом некоторые клиенты могут не отработать за указанный период, однако должны быть учтены)
Объедините всё в одну таблицу, получится то что нужно ?
А еще, на всякий случай, для подсчёта Null можно использовать функцию: NullCount - chart function ‒ QlikView
Станислав, спасибо!
Натолкнул на отличную идею с каунтом:
Посчитать на уровне скрипта константу для каждого справочника
Например для клиентов добавляем в скрипт:
C:
LOAD Count(Client) as TotalRegionClient,
ClientRegion
Resident Clients Group by ClientRegion;
На выходе получаем таблицу с константой
Вариант с объединением тоже хорош и будет работать