Целевые продажи по уровням иерархии

Вопрос или проблема

У меня есть следующие данные

+——–+————-+—————+————+—————————+——————–+—————–+—————————-+
| Регион | Назначение | Имя сотрудника | Подрегион | Подрег. Должность сотрудника | Имя подрег. сотрудника | Цель подрегиона | Подрегион. Сотрудник, к которому подчиняется |
+——–+————-+—————+————+—————————+——————–+—————–+—————————-+
| Север | Ген. Директор | МП | N1 | Зам. Ген. Директора | AA | 300 | МП |
| Север | Зам. Ген. Директора | AA | E1KK1 | Ассистент Зам. Ген. Директора | AS | 200.00 | AA |
| Север | Зам. Ген. Директора | AA | E1KK2 | Старший Инженер по Продажам | PK | 5.00 | AS |
| Север | Зам. Ген. Директора | AA | N4HR6 | Ассистент Зам. Ген. Директора | RK | 80.00 | AA |
| Север | Зам. Ген. Директора | AA | N3P1 | Ассистент Зам. Ген. Директора | AS | 90.00 | AA |
| Север | Зам. Ген. Директора | AA | N3P2 | Старший Инженер по Продажам | SS | 7.00 | AS |
| Север | Зам. Ген. Директора | AA | CI1MP1 | Ассистент Зам. Ген. Директора | AM | 260.00 | AA |
| Север | Зам. Ген. Директора | AA | N5RJ1 | Старший Инженер по Продажам | AK | 260.00 | AA |
| | | | | | | | |
| Регион | Назначение | Имя сотрудника | Подрегион | Подрег. Должность сотрудника | Имя подрег. сотрудника | Цель подрегиона | Подрегион. Сотрудник, к которому подчиняется |
| Мумбай | Ген. Директор | МП | W1MHM1 | Зам. Ген. Директора | KRS | 200 | МП |
| Мумбай | KRS | Зам. Ген. Директора | W1MHM2 | Ассистент Зам. Ген. Директора | PMK | 330 | KRS |
| Мумбай | KRS | Зам. Ген. Директора | W1MHM3 | Ассистент Зам. Ген. Директора | SSS | 490 | KRS |
+——–+————-+—————+————+—————————+——————–+—————–+—————————-+

СОЗДАТЬ ТАБЛИЦУ Hierarchy_Temp(
Регион VARCHAR(6) NOT NULL PRIMARY KEY
,Назначение VARCHAR(11)
,”Имя сотрудника” VARCHAR(13)
,”Подрегион” VARCHAR(10)
,”Подрег. Должность сотрудника” VARCHAR(25)
,”Имя подрег. сотрудника” VARCHAR(18)
,”Цель подрегиона” NUMERIC(15,2)
,”Подрегион. Сотрудник, к которому подчиняется” VARCHAR(26)
);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Ген. Директор’,’МП’,’N1′,’Зам. Ген. Директора’,’AA’,300,’МП’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Зам. Ген. Директора’,’AA’,’E1KK1′,’Ассистент Зам. Ген. Директора’,’AS’,200.00,’AA’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Зам. Ген. Директора’,’AA’,’E1KK2′,’Старший Инженер по Продажам’,’PK’,5.00,’AS’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Зам. Ген. Директора’,’AA’,’N4HR6′,’Ассистент Зам. Ген. Директора’,’RK’,80.00,’AA’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Зам. Ген. Директора’,’AA’,’N3P1′,’Ассистент Зам. Ген. Директора’,’AS’,90.00,’AA’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Зам. Ген. Директора’,’AA’,’N3P2′,’Старший Инженер по Продажам’,’SS’,7.00,’AS’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Зам. Ген. Директора’,’AA’,’CI1MP1′,’Ассистент Зам. Ген. Директора’,’AM’,260.00,’AA’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Север’,’Зам. Ген. Директора’,’AA’,’N5RJ1′,’Старший Инженер по Продажам’,’AK’,260.00,’AA’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Регион’,’Назначение’,’Имя сотрудника’,’Подрегион’,’Подрег. Должность сотрудника’,’Имя подрег. сотрудника’,’Цель подрегиона’,’Подрегион. Сотрудник, к которому подчиняется’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Мумбай’,’Ген. Директор’,’МП’,’W1MHM1′,’Зам. Ген. Директора’,’KRS’,200,’МП’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Мумбай’,’KRS’,’Зам. Ген. Директора’,’W1MHM2′,’Ассистент Зам. Ген. Директора’,’PMK’,330,’KRS’);
ВСТАВИТЬ В Hierarchy_Temp(Регион,Назначение,”Имя сотрудника”,”Подрегион”,”Подрег. Должность сотрудника”,”Имя подрег. сотрудника”,”Цель подрегиона”,”Подрегион. Сотрудник, к которому подчиняется”) ЗНАЧЕНИЯ (‘Мумбай’,’KRS’,’Зам. Ген. Директора’,’W1MHM3′,’Ассистент Зам. Ген. Директора’,’SSS’,490,’KRS’);

Нужен вывод в следующем формате

+——+————-+——-+————–+————-+——————–+——————–+—————————+
| Ген. Директор | Цель Ген. Директора | Зам. Ген. Директора | Цель Зам. Ген. Директора | Ассистент Зам. Ген. Директора | Цель Ассистента Зам. Ген. Директора | Старший Инженер по Продажам | Цель Старшего Инженера по Продажам |
+——+————-+——-+————–+————-+——————–+——————–+—————————+
| МП | 2,222 | AA | 1,202 | AS | 205 | PK | 5 |
| RK | 81,30,000 | | | | | | |
| AS | 94,05,000 | SS | 7,05,000 | | | | |
| AM | 2,61,50,000 | | | | | | |
| AK | 2,58,45,000 | | | | | | |
| KRS | 1020 | PMK | 330 | | | | |
| SSS | 490 | | | | | | |
+——+————-+——-+————–+————-+——————–+——————–+—————————+
Может кто-то помочь мне получить вышеуказанный вывод. Ваше сотрудничество будет высоко оценено.

Ответ или решение

Для достижения целей по продажам, важно учитывать иерархическую структуру команды, а также соответствующие целевые показатели для каждого уровня. Данные, которые вы предоставили, могут быть использованы для расчета общих целей по продажам для каждого уровня управления. Давайте рассмотрим, как можно добиться требуемого формата таблицы, используя предоставленные данные.

1. Исходные данные

В вашем наборе данных присутствуют группы сотрудников, делегированные по регионам с различными целями. Ключевыми элементами являются:

  • Регион
  • Должности (M.D., A.S.M., Asst. A.S.M., и т.д.)
  • Имя сотрудника
  • Целевые показатели подрегионов

2. Этапы обработки данных

Для генерации результатов в необходимом формате, вам понадобится выполнить следующие шаги:

Шаг 1: Создание структуры для хранения итоговых данных

Создайте объект (например, словарь в Python или временную таблицу в SQL), который будет хранить итоговые целевые показатели по должностям и именам сотрудников.

Шаг 2: Заполнение итоговой таблицы

Для каждой записи в вашей основной таблице выполните следующие действия:

  • Получите целевое значение для текущего сотрудника.
  • Проанализируйте, к какому уровню иерархии он принадлежит (например, M.D., A.S.M., и т.д.).
  • Заполните соответствующую ячейку в итоговой таблице.

3. Пример SQL-запроса для выборки

Вот пример SQL-запроса, который можно использовать для выборки необходимых данных:

SELECT 
    "Employee Name" AS "M.D.",
    SUM("Sub Reg Target") AS "M.D. Target",
    (SELECT SUM("Sub Reg Target") 
     FROM Hierarchy_Temp 
     WHERE "Sub Reg Emp Reporting to" = "Employee Name") AS "A.S.M Target"
FROM 
    Hierarchy_Temp
WHERE 
    Designation = 'M.D.'
GROUP BY 
    "Employee Name";

Обратите внимание, что необходимо создать дополнительные запросы для уровня A.S.M и других должностей, чтобы цель каждого уровня была четко определена и суммирована.

4. Окончательная таблица

После выполнения всех запросов вы можете скомпилировать результаты в итоговую таблицу, где:

  • Каждая строка соответствует одному M.D.
  • Указаны все подчиненные A.S.M и их целевые показатели.
  • Если у A.S.M есть подчиненные, их также необходимо отразить в таблице.

Заключение

Таким образом, организовав и обработав данные в иерархическом порядке, вы сможете получить четкий и структурированный отчет о целях по продажам в вашем бизнесе. Храните и обновляйте эти данные регулярно, чтобы отслеживать эффективность команды и целевые показатели.

Оцените материал
Добавить комментарий

Капча загружается...