Создание универсальных
моделей данных
Для любой BI-системы
Как найти аналог PBI/Qlik/Tableau?
Процесс превращения данных в аналитику
ETL
Хранение данных
Мастер данные
Качество данных
Self
service
Разработка аналитики
Модели
данных
Генерация данных
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
Contact ID | CompanyID | User_ID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
План продаж | ||
Месяц | Сотрудник | Сумма |
Январь 21 | Ольга | 800000 |
Январь 21 | Анна | 800000 |
Сотрудники | |
UserCode | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
EXCEL
CRM
Сделки
Контакты
Компании
Пользователи
План
ContactID
CompanyID
UserID
UserID
UserID
UserID..?
План продаж | ||
Месяц | Сотрудник | Сумма |
Январь 21 | Ольга | 800000 |
Январь 21 | Анна | 800000 |
Сделки
Контакты
Компании
Пользователи
План
Сделки
Контакты
Компании
Пользователи
План
Таблица связи
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
Contact ID | CompanyID | User_ID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
План продаж | ||
Месяц | Сотрудник | Сумма |
Январь 21 | Ольга | 800000 |
Январь 21 | Анна | 800000 |
Сотрудники | |
UserCode | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Блок связей сделок
Блок связей контактов
Блок связей компаний
Блок связей сотрудников
Блок связей плана
Таблица
связи
Подготовка данных
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
Contact ID | CompanyID | User_ID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
План продаж | ||
Месяц | Сотрудник | Сумма |
Январь 21 | Ольга | 800000 |
Январь 21 | Анна | 800000 |
Сотрудники | |
UserCode | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
1. Привести названия
всех ключевых полей
к одному варианту
Контакты | ||||
ContactID | CompanyID | UserID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Сотрудники | |
UserID | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
План продаж | ||
Месяц | Сотрудник | Сумма |
Январь 21 | Ольга | 800000 |
Январь 21 | Анна | 800000 |
Сотрудники | |
UserID | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
2. Создать единые ключевые поля во всех таблицах
План продаж | | ||
Месяц | Сотрудник | Сумма | UserID |
Январь 21 | Ольга | 800000 | 5 |
Январь 21 | Анна | 800000 | 6 |
План продаж | | ||
Месяц | Сотрудник | Сумма | UserID |
Январь 21 | Ольга | 800000 | 5 |
Январь 21 | Анна | 800000 | 6 |
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
3. Убедиться что в таблицах есть первичные ключи
Первичный ключ - поле с уникальными значениями в каждой строке, обозначающее экземпляр сущности, информация о которой содержится в таблице. На которое могут ссылаться другие таблицы (а могут не ссылаться)
План продаж | | ||
Месяц | Сотрудник | Сумма | UserID |
Январь 21 | Ольга | 800000 | 5 |
Январь 21 | Анна | 800000 | 6 |
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
4. Если в таблице нет первичного ключа, его нужно сгенерировать одним из 2-х способов:
Составной ключ: комбинация всех ключевых полей и полей дат.
План продаж | | | ||
Месяц | Сотрудник | Сумма | UserID | Plan_Key |
Январь 21 | Ольга | 800000 | 5 | 1 |
Январь 21 | Анна | 800000 | 6 | 2 |
План продаж | | | ||
Месяц | Сотрудник | Сумма | UserID | Plan_Key |
Январь 21 | Ольга | 800000 | 5 | 1 |
Январь 21 | Анна | 800000 | 6 | 2 |
План продаж | | | ||
Месяц | Сотрудник | Сумма | UserID | Plan_Key |
Январь 21 | Ольга | 800000 | 5 | 1 |
Январь 21 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
5. Все поля, которые не являются ключевыми, включая даты, должны иметь уникальные имена, на уровне всех таблиц.
Сделки | |||||
LeadID | ContactID | UserID | Дата созд | Дата закр | Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | Дата созд | Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | Дата созд | Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
Январь 21 | Ольга | 800000 | 5 | 1 |
Январь 21 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
6. Значения полей периодов, которые планируется использовать в едином календаре, нужно привести к формату даты первого дня периода.
Т.е Январь 2021 будет 01.01.2021. 4 квартал 2021 будет 01.10.2021
Функции date(), date#().
Убеждаемся, что в полях именно даты (целые числа), а не даты + время (timestamp). Избавляемся от timestamp с помощью floor()
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
Январь 21 | Ольга | 800000 | 5 | 1 |
Январь 21 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
Январь 21 | Ольга | 800000 | 5 | 1 |
Январь 21 | Анна | 800000 | 6 | 2 |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Подготовка блоков связи
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Из таблицы с данными выгружается таблица с ее ключевыми полями.
Также, создаем спец. поле Сущность, в котором пишем название таблицы. Оно позволит нам управлять сценарием связи по общим ключевым полям.
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Сделки_Связь.TMP | |||
Сущность | LeadID | ContactID | UserID |
Сделки | 1 | 3 | 5 |
Сделки | 2 | 4 | 6 |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Если в таблице есть ключевое поле, которое
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Сделки_Связь.TMP | |||
Сущность | LeadID | ContactID | UserID |
Сделки | 1 | 3 | 5 |
Сделки | 2 | 4 | 6 |
Таблица связей | |||
Сущность | LeadID | ContactID | CompanyID |
Сделки | 1 | 3 | |
Сделки | 2 | 4 | |
Контакты | | 3 | 9 |
Контакты | | 4 | 10 |
Компании | | | 9 |
Компании | | | 10 |
Таблица связей без восстановления связей | |||
Сущность | LeadID | ContactID | CompanyID |
Сделки | 1 | 3 | |
Сделки | 2 | 4 | |
Контакты | | 3 | 9 |
Контакты | | 4 | 10 |
Компании | | | 9 |
Компании | | | 10 |
Сделки
Контакты
Компании
Сделки | |
LeadID | ContactID |
1 | 3 |
2 | 4 |
Компании | |
CompanyID | Название |
9 | Ферма |
10 | Агропрок |
Контакты | |
ContactID | CompanyID |
3 | 9 |
4 | 10 |
Таблица связей с восстановлением связей | |||
Сущность | LeadID | ContactID | CompanyID |
Сделки | 1 | 3 | 9 |
Сделки | 2 | 4 | 10 |
Контакты | | 3 | 9 |
Контакты | | 4 | 10 |
Компании | | | 9 |
Компании | | | 10 |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Если в таблице есть ключевое поле, которое
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Сделки_Связь.TMP | |||
Сущность | LeadID | ContactID | UserID |
Сделки | 1 | 3 | 5 |
Сделки | 2 | 4 | 6 |
Сделки_Связь.TMP | | |||
Сущность | LeadID | ContactID | UserID | CompanyID |
Сделки | 1 | 3 | 5 | 9 |
Сделки | 2 | 4 | 6 | 10 |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Создайте временную таблицу дат, и присоедините ее к блоку связи по первичному ключу.
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Сделки_Связь.TMP | | |||
Сущность | LeadID | ContactID | UserID | CompanyID |
Сделки | 1 | 3 | 5 | 9 |
Сделки | 2 | 4 | 6 | 10 |
Сделки_Связь.TMP | | | | |||
Сущность | LeadID | ContactID | UserID | CompanyID | Дата | Тип_даты |
Сделки | 1 | 3 | 5 | 9 | 01.01.2021 | СД.Дата созд |
Сделки | 1 | 3 | 5 | 9 | 03.01.2021 | СД.Дата закр |
Сделки | 2 | 4 | 6 | 10 | 02.01.2021 | СД.Дата созд |
Сделки | 2 | 4 | 6 | 10 | 04.01.2021 | СД.Дата закр |
Dates_TMP | ||
LeadID | Дата | Тип_даты |
1 | 01.01.2021 | СД.Дата созд |
1 | 03.01.2021 | СД.Дата закр |
2 | 02.01.2021 | СД.Дата созд |
2 | 04.01.2021 | СД.Дата закр |
left join
План_Связь.TMP | ||||
Сущность | Plan_Key | UserID | Дата | Тип_даты |
План | 1 | 5 | 01.01.2021 | ПЛ.Месяц |
План | 2 | 6 | 01.01.2021 | ПЛ.Месяц |
Контакты_Связь.TMP | |||||
Сущность | ContactID | CompanyID | UserID | Дата | Тип_даты |
Контакты | 3 | 9 | 7 | 01.01.2021 | КН.Дата созд |
Контакты | 4 | 10 | 8 | 02.01.2021 | КН.Дата созд |
Компании_Связь.TMP | ||||
Сущность | CompanyID | UserID | Дата | Тип_даты |
Компании | 9 | 6 | 01.01.2021 | КМ.Дата созд |
Компании | 10 | 5 | 02.01.2021 | КМ.Дата созд |
Сотрудники_Связь.TMP | |
Сущность | UserID |
Сотрудники | 5 |
Сотрудники | 6 |
Сотрудники | 7 |
Сотрудники | 8 |
Сделки_Связь.TMP | | | | |||
Сущность | LeadID | ContactID | UserID | CompanyID | Дата | Тип_даты |
Сделки | 1 | 3 | 5 | 9 | 01.01.2021 | СД.Дата созд |
Сделки | 1 | 3 | 5 | 9 | 03.01.2021 | СД.Дата закр |
Сделки | 2 | 4 | 6 | 10 | 02.01.2021 | СД.Дата созд |
Сделки | 2 | 4 | 6 | 10 | 04.01.2021 | СД.Дата закр |
Повторяем для всех остальных таблиц модели данных
Сборка таблицы связей
План_Связь.TMP | ||||
Сущность | Plan_Key | UserID | Дата | Тип_даты |
План | 1 | 5 | 01.01.2021 | ПЛ.Месяц |
План | 2 | 6 | 01.01.2021 | ПЛ.Месяц |
Компании_Связь.TMP | ||||
Сущность | CompanyID | UserID | Дата | Тип_даты |
Компании | 9 | 6 | 01.01.2021 | КМ.Дата созд |
Компании | 10 | 5 | 02.01.2021 | КМ.Дата созд |
Сотрудники_Связь.TMP | |
Сущность | UserID |
Сотрудники | 5 |
Сотрудники | 6 |
Сотрудники | 7 |
Сотрудники | 8 |
Сделки_Связь.TMP | | | | |||
Сущность | LeadID | ContactID | UserID | CompanyID | Дата | Тип_даты |
Сделки | 1 | 3 | 5 | 9 | 01.01.2021 | СД.Дата созд |
Сделки | 1 | 3 | 5 | 9 | 03.01.2021 | СД.Дата закр |
Сделки | 2 | 4 | 6 | 10 | 02.01.2021 | СД.Дата созд |
Сделки | 2 | 4 | 6 | 10 | 04.01.2021 | СД.Дата закр |
Склеиваем все блоки связей в одну таблицу с помощью concatenate. Отработанные блоки связи удаляем.
Контакты_Связь.TMP | |||||
Сущность | ContactID | CompanyID | UserID | Дата | Тип_даты |
Контакты | 3 | 9 | 7 | 01.01.2021 | КН.Дата созд |
Контакты | 4 | 10 | 8 | 02.01.2021 | КН.Дата созд |
Таблица_связей | | | | ||||
Сущность | Plan_Key | LeadID | ContactID | UserID | CompanyID | Дата | Тип_даты |
Сделки | | 1 | 3 | 5 | 9 | 01.01.2021 | СД.Дата созд |
Сделки | | 1 | 3 | 5 | 9 | 03.01.2021 | СД.Дата закр |
Сделки | | 2 | 4 | 6 | 10 | 02.01.2021 | СД.Дата созд |
Сделки | | 2 | 4 | 6 | 10 | 04.01.2021 | СД.Дата закр |
Контакты | | | 3 | 7 | 9 | 01.01.2021 | КН.Дата созд |
Контакты | | | 4 | 8 | 10 | 02.01.2021 | КН.Дата созд |
Компании | | | | 6 | 9 | 01.01.2021 | КМ.Дата созд |
Компании | | | | 5 | 10 | 02.01.2021 | КМ.Дата созд |
Сотрудники | | | | 5 | | | |
Сотрудники | | | | 6 | | | |
Сотрудники | | | | 7 | | | |
Сотрудники | | | | 8 | | | |
План | 1 | | | 5 | | 01.01.2021 | ПЛ.Месяц |
План | 2 | | | 6 | | 01.01.2021 | ПЛ.Месяц |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Из таблиц с данными удаляем все ключевые поля, кроме первичных ключей.
Сделки | |||||
LeadID | ContactID | UserID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 3 | 5 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 4 | 6 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||||
ContactID | CompanyID | UserID | КН.Дата созд | КН.Имя |
3 | 9 | 7 | 01.01.2021 | Джон |
4 | 10 | 8 | 02.01.2021 | Федор |
Компании | |||
CompanyID | UserID | КМ.Дата созд | КМ.Название |
9 | 6 | 01.01.2021 | Ферма |
10 | 5 | 02.01.2021 | Агропрок |
План продаж | | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | UserID | Plan_Key |
01.01.2021 | Ольга | 800000 | 5 | 1 |
01.01.2021 | Анна | 800000 | 6 | 2 |
План продаж | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | Plan_Key |
01.01.2021 | Ольга | 800000 | 1 |
01.01.2021 | Анна | 800000 | 2 |
Сделки | |||
LeadID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||
ContactID | КН.Дата созд | КН.Имя |
3 | 01.01.2021 | Джон |
4 | 02.01.2021 | Федор |
Компании | ||
CompanyID | КМ.Дата созд | КМ.Название |
9 | 01.01.2021 | Ферма |
10 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
Из таблиц с данными удаляем все ключевые поля, кроме первичных ключей.
План продаж | | ||
ПЛ.Месяц | ПЛ.Сотрудник | ПЛ.Сумма | Plan_Key |
01.01.2021 | Ольга | 800000 | 1 |
01.01.2021 | Анна | 800000 | 2 |
Таблица_связей | | | | ||||
Сущность | Plan_Key | LeadID | ContactID | UserID | CompanyID | Дата | Тип_даты |
Сделки | | 1 | 3 | 5 | 9 | 01.01.2021 | СД.Дата созд |
Сделки | | 1 | 3 | 5 | 9 | 03.01.2021 | СД.Дата закр |
Сделки | | 2 | 4 | 6 | 10 | 02.01.2021 | СД.Дата созд |
Сделки | | 2 | 4 | 6 | 10 | 04.01.2021 | СД.Дата закр |
Контакты | | | 3 | 7 | 9 | 01.01.2021 | КН.Дата созд |
Контакты | | | 4 | 8 | 10 | 02.01.2021 | КН.Дата созд |
Компании | | | | 6 | 9 | 01.01.2021 | КМ.Дата созд |
Компании | | | | 5 | 10 | 02.01.2021 | КМ.Дата созд |
Сотрудники | | | | 5 | | | |
Сотрудники | | | | 6 | | | |
Сотрудники | | | | 7 | | | |
Сотрудники | | | | 8 | | | |
План | 1 | | | 5 | | 01.01.2021 | ПЛ.Месяц |
План | 2 | | | 6 | | 01.01.2021 | ПЛ.Месяц |
Сделки | |||
LeadID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 02.01.2021 | 04.01.2021 | 700000 |
Контакты | ||
ContactID | КН.Дата созд | КН.Имя |
3 | 01.01.2021 | Джон |
4 | 02.01.2021 | Федор |
Компании | ||
CompanyID | КМ.Дата созд | КМ.Название |
9 | 01.01.2021 | Ферма |
10 | 02.01.2021 | Агропрок |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |
sum({<Тип_даты={“СД.Дата созд”}>} СД.Сумма)
sum({<Тип_даты={“СД.Дата закр”}>} СД.Сумма)
Сделки | |||
LeadID | СД.Дата созд | СД.Дата закр | СД.Сумма |
1 | 01.01.2021 | 03.01.2021 | 600000 |
2 | 02.01.2021 | 04.01.2021 | 700000 |
Таблица_связей | | | | ||||
Сущность | Plan_Key | LeadID | ContactID | UserID | CompanyID | Дата | Тип_даты |
Сделки | | 1 | 3 | 5 | 9 | 01.01.2021 | СД.Дата созд |
Сделки | | 1 | 3 | 5 | 9 | 03.01.2021 | СД.Дата закр |
Сделки | | 2 | 4 | 6 | 10 | 02.01.2021 | СД.Дата созд |
Сделки | | 2 | 4 | 6 | 10 | 04.01.2021 | СД.Дата закр |
Контакты | | | 3 | 7 | 9 | 01.01.2021 | КН.Дата созд |
Контакты | | | 4 | 8 | 10 | 02.01.2021 | КН.Дата созд |
Компании | | | | 6 | 9 | 01.01.2021 | КМ.Дата созд |
Компании | | | | 5 | 10 | 02.01.2021 | КМ.Дата созд |
Сотрудники | | | | 5 | | | |
Сотрудники | | | | 6 | | | |
Сотрудники | | | | 7 | | | |
Сотрудники | | | | 8 | | | |
План | 1 | | | 5 | | 01.01.2021 | ПЛ.Месяц |
План | 2 | | | 6 | | 01.01.2021 | ПЛ.Месяц |
Таблица_связей | | | | ||||
Сущность | Plan_Key | LeadID | ContactID | UserID | CompanyID | Дата | Тип_даты |
Сделки | | 1 | 3 | 5 | 9 | 01.01.2021 | СД.Дата созд |
Сделки | | 1 | 3 | 5 | 9 | 03.01.2021 | СД.Дата закр |
Сделки | | 2 | 4 | 6 | 10 | 02.01.2021 | СД.Дата созд |
Сделки | | 2 | 4 | 6 | 10 | 04.01.2021 | СД.Дата закр |
Контакты | | | 3 | 7 | 9 | 01.01.2021 | КН.Дата созд |
Контакты | | | 4 | 8 | 10 | 02.01.2021 | КН.Дата созд |
Компании | | | | 6 | 9 | 01.01.2021 | КМ.Дата созд |
Компании | | | | 5 | 10 | 02.01.2021 | КМ.Дата созд |
Сотрудники | | | | 5 | | | |
Сотрудники | | | | 6 | | | |
Сотрудники | | | | 7 | | | |
Сотрудники | | | | 8 | | | |
План | 1 | | | 5 | | 01.01.2021 | ПЛ.Месяц |
План | 2 | | | 6 | | 01.01.2021 | ПЛ.Месяц |
count(distinct {<Сущность={“Сделки”}>} ContactID)
count(distinct {<Сущность={“Контакты”}>} ContactID)
Контакты | ||
ContactID | КН.Дата созд | КН.Имя |
3 | 01.01.2021 | Джон |
4 | 02.01.2021 | Федор |
Сотрудники | |
UserID | СТ.Имя |
5 | Ольга |
6 | Анна |
7 | Виталий |
8 | Владимир |