Spaces:
Configuration error
Download Project_documentation.md from Eremenko/mcp-tech-spec: direct link, hf CLI and curl.
- Browser
- Download file 64.9 kB
-
https://huggingface.co/spaces/Eremenko/mcp-tech-spec/resolve/main/Project_documentation.md
- Command line
-
hf download hf://spaces/Eremenko/mcp-tech-spec/Project_documentation.md
-
curl -L -o Project_documentation.md https://huggingface.co/spaces/Eremenko/mcp-tech-spec/resolve/main/Project_documentation.md
Продажи
Мера "Кол-во"
1. Общая информация
Название меры: Кол-во
Тип: Мера (Measure)
Источник: OLAP.bim
Папка отображения: Базовые меры
Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Кол-во" предназначена для подсчета общего количества товаров/услуг в заказах клиентов с учетом определенных фильтров. Данная мера является базовой и используется для расчета других производных показателей в аналитических отчетах.
3. Исходные данные
Основная таблица: М001 Заказы Клиентов
Основное поле: [Количество]
Дополнительные поля для фильтрации:
- [ВГО булево] - булево поле для исключения ВГО (внутригрупповые операции)
- [Отмененный] - булево поле для исключения отмененных заказов
4. Логика обработки
4.1. Выражение DAX
CALCULATE (
SUM ( 'М001 Заказы Клиентов'[Количество] ),
NOT 'М001 Заказы Клиентов'[ВГО булево],
NOT ( 'М001 Заказы Клиентов'[Отмененный] )
)
4.2. Описание логики
- Основная агрегация: Суммирование значений поля [Количество] из таблицы 'М001 Заказы Клиентов'
- Фильтрация по ВГО: Исключение записей, где [ВГО булево] = TRUE
- Фильтрация по статусу: Исключение отмененных заказов, где [Отмененный] = TRUE
- Контекстная фильтрация: Мера автоматически применяет фильтры из срезов и других измерений
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Штуки/единицы товара
5.2. Примеры использования
- Общее количество товаров в заказах - без дополнительных фильтров
- Количество по клиентам - с фильтром по конкретному клиенту
- Количество по периодам - с фильтром по дате заказа
- Количество по товарным группам - с фильтром по категории товара
6. Зависимости
6.1. Таблицы
- М001 Заказы Клиентов - основная таблица фактов
- Связанные справочные таблицы через внешние ключи
6.2. Поля
- [Количество] - основное поле для агрегации
- [ВГО булево] - поле для фильтрации
- [Отмененный] - поле для фильтрации
6.3. Связанные меры
Мера может использоваться в качестве основы для:
- Производных мер (проценты, коэффициенты)
- Расчетных полей
- Других агрегированных показателей
6.4. Поток данных
- OLAP мера:
[Кол-во]в кубе OLAP. - Представление DWH: Данные для меры поступают из представления
[uni].[vt_order]. - Таблицы фактов DWH: Представление
[uni].[vt_order]агрегирует данные из следующих таблиц:[dbo].[fact_order][dbo].[fact_cancelled_order][dbo].[fact_order_characteristics_received]
- Хранимые процедуры: Эти таблицы фактов загружаются и обрабатываются следующими хранимыми процедурами:
[dbo].[sp_load_fact_order][dbo].[sp_load_fact_cancelled_order][dbo].[sp_load_fact_order_characteristics_received]
[dbo].[sp_load_fact_order]
Назначение: Процедура формирует основной набор данных для анализа продаж.
Источники и логика:
- Основные данные: Берутся из документа "Заказ клиента" из системы 1С. Для каждой товарной позиции в заказе извлекается информация о количестве, цене, сумме, предоставленных скидках и ставке НДС.
- Обогащение данных: Информация о заказе дополняется сведениями из связанных справочников 1С:
- Клиент и партнер: Кто является покупателем.
- Менеджер: Кто ответственный за заказ.
- Номенклатура: Какой товар заказан.
- Организация: От лица какой нашей организации оформлен заказ.
- Склад, подразделение, сезон: Дополнительные аналитические разрезы.
- Финансовые показатели: Процедура также рассчитывает состояние оплаты по заказу, обращаясь к регистру "Расчеты с клиентами", и определяет наличие просроченной задолженности.
Бизнес-ценность: Позволяет получить полную и обогащенную картину по каждому заказу для построения отчетов по продажам, маржинальности и эффективности работы менеджеров.
[dbo].[sp_load_fact_cancelled_order]
Назначение: Процедура собирает данные по отмененным позициям в заказах клиентов.
Источники и логика:
- Основные данные: Как и в предыдущей процедуре, источником является документ "Заказ клиента" из 1С. Ключевое отличие — отбираются только те строки товаров, у которых установлен признак "Отменено".
- Дата отмены: Для понимания, когда именно произошла отмена, процедура обращается к регистру "История изменений заказа клиента".
- Контекст заказа: Вся остальная информация (клиент, менеджер, суммы, скидки) подтягивается аналогично процедуре загрузки основных заказов, чтобы сохранить полный контекст на момент отмены.
Бизнес-ценность: Дает возможность анализировать объем и причины отмен, оценивать упущенную выручку и выявлять тенденции, связанные с отказами от товаров.
[dbo].[sp_load_fact_order_characteristics_received]
Назначение: Процедура отслеживает поступление товаров по заказам, у которых в процессе обработки менялись характеристики (например, цвет, размер).
Источники и логика:
- Основные данные: Процедура отталкивается от данных, где зафиксированы факты поступления товаров по заказам, в которых были изменения (
fact_order_characteristics_changes). - Связь с заказом: Используя номер заказа, процедура обращается к исходному документу "Заказ клиента" в 1С, чтобы получить полную информацию о клиенте, менеджере, дате и других атрибутах заказа.
- Фильтр: Отбираются только те записи, которые отражают фактическое поступление товара (
quantity_received > 0), а не просто резервирование.
Бизнес-ценность: Позволяет контролировать и анализировать исполнение "сложных" заказов, где характеристики товара были изменены. Это помогает понять, как такие изменения влияют на сроки и полноту выполнения заказа.
Мера "Кол-во реальное"
1. Общая информация
Название меры: Кол-во реальное Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Кол-во реальное" предназначена для расчета количества товаров в заказах, имеющих статус "Реальный". Этот статус означает, что заказ подтвержден и находится в процессе выполнения. Мера позволяет отделить фактические, подтвержденные продажи от предварительных или отмененных заказов.
3. Исходные данные
Основная мера: [Кол-во] Таблица для фильтрации: '010 Документы заказов' Поле для фильтрации: [Статус заказа]
4. Логика обработки
4.1. Выражение DAX
CALCULATE (
[Кол-во],
KEEPFILTERS ( '010 Документы заказов'[Статус заказа] = "Реальный" )
)
4.2. Описание логики
- Базовый расчет: Мера использует в качестве основы уже существующую меру
[Кол-во], которая агрегирует общее количество товаров. - Фильтрация по статусу: На результат меры
[Кол-во]накладывается фильтр по полю[Статус заказа]из таблицы'010 Документы заказов'. - Условие фильтрации: Учитываются только те строки, где значение статуса заказа строго равно "Реальный".
- Сохранение контекста: Функция
KEEPFILTERSиспользуется для того, чтобы новый фильтр не перезаписывал существующие фильтры, а применялся в дополнение к ним.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Штуки/единицы товара
5.2. Примеры использования
- Объем реальных продаж - для оценки подтвержденных обязательств.
- Сравнение реального и общего количества - для анализа воронки продаж и доли подтвержденных заказов.
- Динамика реальных заказов - для отслеживания роста или падения фактических продаж по периодам.
6. Зависимости
6.1. Таблицы
- 'М001 Заказы Клиентов' - как источник данных для базовой меры
[Кол-во]. - '010 Документы заказов' - для применения фильтра по статусу.
6.2. Поля
- 'М001 Заказы Клиентов'[Количество] - основное поле для агрегации в мере
[Кол-во]. - '010 Документы заказов'[Статус заказа] - поле для фильтрации.
6.3. Связанные меры
- [Кол-во] - является основой для расчета данной меры.
6.4. Поток данных
Поток данных для этой меры идентичен потоку для меры [Кол-во], но с дополнительным шагом фильтрации на уровне OLAP.
- OLAP мера:
[Кол-во реальное]в кубе OLAP. - Представления DWH: Данные поступают из представлений
[uni].[vt_order](для количества) и[uni].[vt_order_attributes](для статуса заказа). - Таблицы фактов и измерений DWH:
- Представление
[uni].[vt_order]агрегирует данные из таблиц[dbo].[fact_order],[dbo].[fact_cancelled_order],[dbo].[fact_order_characteristics_received]. - Представление
[uni].[vt_order_attributes]основано на таблице[dbo].[dim_order_attributes].
- Представление
- Хранимые процедуры: Эти таблицы загружаются и обрабатываются следующими хранимыми процедурами:
[dbo].[sp_load_fact_order][dbo].[sp_load_fact_cancelled_order][dbo].[sp_load_fact_order_characteristics_received][dbo].[sp_load_dim_order_attributes]
[dbo].[sp_load_dim_order_attributes]
Назначение: Процедура создает и обновляет справочник атрибутов заказов.
Источники и логика:
- Основные данные: Источником является документ "Заказ клиента" из 1С.
- Атрибуты: Процедура извлекает ключевые атрибуты, характеризующие состояние заказа в целом: его номер, дата, статус (например, "К выполнению", "Закрыт"), состояние (например, "Ожидается аванс", "В резерве") и другие флаги, такие как "Проведен" или "Согласовано клиентом".
- Обновление: Процедура работает в режиме
MERGE, что позволяет эффективно обновлять существующие записи, если статус или состояние заказа изменились в 1С, и добавлять новые, если появились новые заказы.
Бизнес-ценность: Позволяет получить срез актуальных статусов и состояний по всем заказам, что является ключевым для фильтрации и анализа в отчетах (например, для меры "Кол-во реальное").
Мера "Сумма (со скидкой)"
1. Общая информация
Название меры: Сумма (со скидкой)
Тип: Мера (Measure)
Источник: OLAP.bim
Папка отображения: Базовые меры
Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Сумма (со скидкой)" предназначена для расчета общей суммы продаж с учетом предоставленных скидок. Данная мера является базовой для анализа выручки и используется для расчета других производных показателей в аналитических отчетах.
3. Исходные данные
Основная таблица: М001 Заказы Клиентов
Основное поле: [Сумма со скидкой]
Дополнительные поля для фильтрации:
- [Отмененный] - булево поле для исключения отмененных заказов
4. Логика обработки
4.1. Выражение DAX
CALCULATE (
SUM ( 'М001 Заказы Клиентов'[Сумма со скидкой] ),
NOT ( 'М001 Заказы Клиентов'[Отмененный] )
)
4.2. Описание логики
- Основная агрегация: Суммирование значений поля [Сумма со скидкой] из таблицы 'М001 Заказы Клиентов'
- Фильтрация по статусу: Исключение отмененных заказов, где [Отмененный] = TRUE
- Контекстная фильтрация: Мера автоматически применяет фильтры из срезов и других измерений
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Валюта (рубли)
5.2. Примеры использования
- Общая выручка от продаж - без дополнительных фильтров
- Выручка по клиентам - с фильтром по конкретному клиенту
- Выручка по периодам - с фильтром по дате заказа
- Выручка по товарным группам - с фильтром по категории товара
6. Зависимости
6.1. Таблицы
- М001 Заказы Клиентов - основная таблица фактов
- Связанные справочные таблицы через внешние ключи
6.2. Поля
- [Сумма со скидкой] - основное поле для агрегации
- [Отмененный] - поле для фильтрации
6.3. Связанные меры
Мера может использоваться в качестве основы для:
- Производных мер (проценты, коэффициенты)
- Расчетных полей
- Других агрегированных показателей
6.4. Поток данных
- OLAP мера:
[Сумма (со скидкой)]в кубе OLAP. - Представление DWH: Данные для меры поступают из представления
[uni].[vt_order]. - Таблицы фактов DWH: Представление
[uni].[vt_order]агрегирует данные из следующих таблиц:[dbo].[fact_order][dbo].[fact_cancelled_order][dbo].[fact_order_characteristics_received]
- Хранимые процедуры: Эти таблицы фактов загружаются и обрабатываются следующими хранимыми процедурами:
[dbo].[sp_load_fact_order][dbo].[sp_load_fact_cancelled_order][dbo].[sp_load_fact_order_characteristics_received]
[dbo].[sp_load_fact_order]
Назначение: Процедура формирует основной набор данных для анализа продаж.
Источники и логика:
- Основные данные: Берутся из документа "Заказ клиента" из системы 1С. Для каждой товарной позиции в заказе извлекается информация о количестве, цене, сумме, предоставленных скидках и ставке НДС.
- Обогащение данных: Информация о заказе дополняется сведениями из связанных справочников 1С:
- Клиент и партнер: Кто является покупателем.
- Менеджер: Кто ответственный за заказ.
- Номенклатура: Какой товар заказан.
- Организация: От лица какой нашей организации оформлен заказ.
- Склад, подразделение, сезон: Дополнительные аналитические разрезы.
- Финансовые показатели: Процедура также рассчитывает состояние оплаты по заказу, обращаясь к регистру "Расчеты с клиентами", и определяет наличие просроченной задолженности.
Бизнес-ценность: Позволяет получить полную и обогащенную картину по каждому заказу для построения отчетов по продажам, маржинальности и эффективности работы менеджеров.
[dbo].[sp_load_fact_cancelled_order]
Назначение: Процедура собирает данные по отмененным позициям в заказах клиентов.
Источники и логика:
- Основные данные: Как и в предыдущей процедуре, источником является документ "Заказ клиента" из 1С. Ключевое отличие — отбираются только те строки товаров, у которых установлен признак "Отменено".
- Дата отмены: Для понимания, когда именно произошла отмена, процедура обращается к регистру "История изменений заказа клиента".
- Контекст заказа: Вся остальная информация (клиент, менеджер, суммы, скидки) подтягивается аналогично процедуре загрузки основных заказов, чтобы сохранить полный контекст на момент отмены.
Бизнес-ценность: Дает возможность анализировать объем и причины отмен, оценивать упущенную выручку и выявлять тенденции, связанные с отказами от товаров.
[dbo].[sp_load_fact_order_characteristics_received]
Назначение: Процедура отслеживает поступление товаров по заказам, у которых в процессе обработки менялись характеристики (например, цвет, размер).
Источники и логика:
- Основные данные: Процедура отталкивается от данных, где зафиксированы факты поступления товаров по заказам, в которых были изменения (
fact_order_characteristics_changes). - Связь с заказом: Используя номер заказа, процедура обращается к исходному документу "Заказ клиента" в 1С, чтобы получить полную информацию о клиенте, менеджере, дате и других атрибутах заказа.
- Фильтр: Отбираются только те записи, которые отражают фактическое поступление товара (
quantity_received > 0), а не просто резервирование.
Бизнес-ценность: Позволяет контролировать и анализировать исполнение "сложных" заказов, где характеристики товара были изменены. Это помогает понять, как такие изменения влияют на сроки и полноту выполнения заказа.
Мера "Сумма (со скидкой) реальная"
1. Общая информация
Название меры: Сумма (со скидкой) реальная Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Сумма (со скидкой) реальная" предназначена для расчета суммы продаж с учетом скидок только для заказов, имеющих статус "Реальный". Этот статус означает, что заказ подтвержден и находится в процессе выполнения. Мера позволяет отделить фактические, подтвержденные продажи от предварительных или отмененных заказов.
3. Исходные данные
Основная мера: [Сумма (со скидкой)] Таблица для фильтрации: 'М001 Заказы Клиентов' Поля для фильтрации:
- [ВГО булево] - для исключения внутригрупповых операций
- [Статус заказа] - для фильтрации по статусу "Реальный"
4. Логика обработки
4.1. Выражение DAX
CALCULATE (
[Сумма (со скидкой)],
NOT 'М001 Заказы Клиентов'[ВГО булево],
KEEPFILTERS( 'М001 Заказы Клиентов'[Статус заказа] = "Реальный" )
)
4.2. Описание логики
- Базовый расчет: Мера использует в качестве основы уже существующую меру
[Сумма (со скидкой)], которая агрегирует общую сумму продаж. - Фильтрация по ВГО: Исключаются записи, относящиеся к внутригрупповым операциям.
- Фильтрация по статусу: На результат меры
[Сумма (со скидкой)]накладывается фильтр по полю[Статус заказа]из таблицы'М001 Заказы Клиентов'. - Условие фильтрации: Учитываются только те строки, где значение статуса заказа строго равно "Реальный".
- Сохранение контекста: Функция
KEEPFILTERSиспользуется для того, чтобы новый фильтр не перезаписывал существующие фильтры, а применялся в дополнение к ним.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Валюта (рубли)
5.2. Примеры использования
- Объем реальных продаж - для оценки подтвержденных обязательств.
- Сравнение реальной и общей суммы - для анализа воронки продаж и доли подтвержденных заказов.
- Динамика реальных заказов - для отслеживания роста или падения фактических продаж по периодам.
6. Зависимости
6.1. Таблицы
- 'М001 Заказы Клиентов' - как источник данных для базовой меры
[Сумма (со скидкой)].
6.2. Поля
- 'М001 Заказы Клиентов'[Сумма со скидкой] - основное поле для агрегации в мере
[Сумма (со скидкой)]. - 'М001 Заказы Клиентов'[ВГО булево] - поле для фильтрации.
- 'М001 Заказы Клиентов'[Статус заказа] - поле для фильтрации.
6.3. Связанные меры
- [Сумма (со скидкой)] - является основой для расчета данной меры.
6.4. Поток данных
Поток данных для этой меры идентичен потоку для меры [Сумма (со скидкой)], но с дополнительным шагом фильтрации на уровне OLAP.
- OLAP мера:
[Сумма (со скидкой) реальная]в кубе OLAP. - Представления DWH: Данные поступают из представления
[uni].[vt_order]. - Таблицы фактов DWH: Представление
[uni].[vt_order]агрегирует данные из таблиц[dbo].[fact_order],[dbo].[fact_cancelled_order], и[dbo].[fact_order_characteristics_received]. - Хранимые процедуры: Эти таблицы фактов загружаются и обрабатываются следующими хранимыми процедурами:
[dbo].[sp_load_fact_order][dbo].[sp_load_fact_cancelled_order][dbo].[sp_load_fact_order_characteristics_received]
Подробное описание логики работы хранимых процедур см. в разделе "Поток данных" для меры "Сумма (со скидкой)".
Мера "Сумма контракта (план)"
1. Общая информация
Название меры: Сумма контракта (план) Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Сумма контракта (план)" предназначена для расчета общей суммы плановых продаж по контрактам. Данная мера используется для планирования, бюджетирования и сравнения плановых показателей с фактическими результатами продаж.
3. Исходные данные
Основная таблица: М002 Планы Продаж Основное поле: [Сумма контракта] Дополнительные поля для фильтрации:
- [План активен] - булево поле для выбора только активных планов
4. Логика обработки
4.1. Выражение DAX
CALCULATE(SUM('М002 Планы Продаж'[Сумма контракта]),
KEEPFILTERS('М002 Планы Продаж'[План активен])
)
4.2. Описание логики
- Основная агрегация: Суммирование значений поля [Сумма контракта] из таблицы 'М002 Планы Продаж'.
- Фильтрация по активности плана: Учитываются только те планы, где [План активен] = TRUE.
- Сохранение контекста: Функция
KEEPFILTERSиспользуется для того, чтобы фильтр по активности плана не перезаписывал существующие фильтры, а применялся в дополнение к ним. - Контекстная фильтрация: Мера автоматически применяет фильтры из срезов и других измерений.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Валюта (рубли)
5.2. Примеры использования
- Общий план продаж - без дополнительных фильтров
- План по клиентам - с фильтром по конкретному клиенту
- План по периодам - с фильтром по дате плана
- План по товарным группам - с фильтром по категории товара
- Сравнение план vs факт - для анализа выполнения планов
6. Зависимости
6.1. Таблицы
- М002 Планы Продаж - основная таблица фактов
- Связанные справочные таблицы через внешние ключи
6.2. Поля
- [Сумма контракта] - основное поле для агрегации
- [План активен] - поле для фильтрации
6.3. Связанные меры
Мера может использоваться в качестве основы для:
- Производных мер (проценты выполнения плана, отклонения)
- Расчетных полей
- Других агрегированных показателей
6.4. Поток данных
- OLAP мера:
[Сумма контракта (план)]в кубе OLAP. - Представление DWH: Данные для меры поступают из представления
[uni].[vt_sales_plan]. - Таблица фактов DWH: Представление основано на таблице
[dbo].[fact_sales_plan]. - Хранимая процедура: Таблица фактов загружается и обрабатывается хранимой процедурой
[dbo].[sp_load_fact_sales_plan].
[dbo].[sp_load_fact_sales_plan]
Назначение: Процедура формирует данные о планах продаж для анализа и планирования.
Источники и логика:
- Основные данные: Берутся из документа "План продаж" из системы 1С. Процедура извлекает информацию о плановых показателях продаж по контрактам.
- Обогащение данных: Информация о плане дополняется сведениями из связанных справочников 1С:
- Партнер: Кто является плановым покупателем.
- Менеджер: Кто ответственный за план.
- Номенклатура: Какой товар планируется к продаже.
- Подразделение: Какое подразделение отвечает за план.
- Сезон: В рамках какого сезона действует план.
- Финансовые показатели: Процедура рассчитывает плановые суммы контрактов, наценки и прибыли.
- Обработка корректировок: Процедура учитывает корректировочные планы и определяет актуальные версии планов.
Бизнес-ценность: Позволяет получить полную картину плановых показателей для построения отчетов по планированию, бюджетированию и анализу выполнения планов продаж.
Закупки
Мера "Свободный остаток"
1. Общая информация
Название меры: Свободный остаток Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Свободный остаток" предназначена для расчета общего количества товаров, которые физически находятся на складах и не зарезервированы под какие-либо заказы или внутренние нужды. Этот показатель отражает реальное количество товара, доступное для продажи.
3. Исходные данные
Основная мера: [Кол-во остатки] Таблица для фильтрации: 'М007 Остатки товаров' Поле для фильтрации: [Тип остатков признак]
4. Логика обработки
4.1. Выражение DAX
VAR _res =
CALCULATE (
[Кол-во остатки],
KEEPFILTERS ( 'М007 Остатки товаров'[Тип остатков признак] = 1 )
)
RETURN
_res
4.2. Описание логики
- Базовый расчет: Мера использует в качестве основы меру
[Кол-во остатки], которая агрегирует общее количество товаров на остатках. - Фильтрация по типу остатка: На результат накладывается фильтр по полю
[Тип остатков признак]. Учитываются только те строки, где значение этого признака равно 1, что соответствует "Свободным остаткам". - Сохранение контекста: Функция
KEEPFILTERSиспользуется для того, чтобы новый фильтр не перезаписывал существующие фильтры, а применялся в дополнение к ним.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Штуки/единицы товара
6. Зависимости
6.1. Поток данных
Поток данных для этой меры, а также для мер "Резерв под внутренние перемещения" и "Резерв по заказам", является общим, так как все они основаны на одной и той же таблице фактов.
- OLAP мера:
[Свободный остаток]в кубе OLAP, папка 'М007 Остатки товаров'. - Представление DWH: Данные для таблицы фактов поступают из представления
[uni].[vf_inventory_stock]. - Таблица фактов DWH: Представление основано на таблице
[dbo].[fact_inventory_stock]. - Хранимая процедура: Таблица фактов загружается и обрабатывается хранимой процедурой
[dbo].[sp_load_fact_inventory_stock].
[dbo].[sp_load_fact_inventory_stock]
Назначение: Процедура формирует комплексную таблицу с данными о состоянии товарных остатков, включая свободные остатки, резервы, товары в пути и прочие потребности.
Источники и логика: Процедура собирает данные из нескольких регистров 1С для получения полной картины по остаткам:
- Свободные остатки (Тип 1): Основные данные о физических остатках на складах берутся из регистра
РегистрНакопления_СвободныеОстатки. - Товары в пути (Тип 2): Данные о товарах, которые перемещаются между складами и еще не оприходованы на склад-получатель, извлекаются из
РегистрНакопления_ТоварыНаСкладахсо статусом "Отгружено". - Резервы (Тип 3 и 4): Информация о резервах рассчитывается на основе данных о заказах клиентов из регистров
РегистрНакопления_ЗаказыКлиентовиРегистрСведений_ЗаказыКлиентовНаСогласовании. Процедура анализирует статусы заказов и варианты обеспечения для разделения резервов на:- Резерв под внутренние перемещения (Тип 3): Резервы для обеспечения потребностей собственных подразделений.
- Резерв по заказам (Тип 4): Резервы под конкретные заказы клиентов.
- Прочие потребности (Типы 5, 6, 7): Процедура также учитывает более сложные случаи, такие как обеспечение заказов, не полностью отгруженные перемещения и прочие потребности, которые не попадают под стандартные резервы.
- Расчет цен: Процедура производит сложный расчет различных видов цен для каждой позиции (базовые, акционные, с разными условиями кредита), используя данные из регистров цен.
Бизнес-ценность: Процедура создает единый источник правды для анализа всех аспектов товарных остатков, что позволяет бизнесу точно оценивать доступность товаров, планировать закупки и управлять резервами.
Мера "Резерв под внутренние перемещения"
1. Общая информация
Название меры: Резерв под внутренние перемещения Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера предназначена для расчета общего количества товаров, зарезервированных для внутренних нужд компании, таких как перемещение между складами или обеспечение потребностей собственных подразделений.
3. Исходные данные
Основная мера: [Кол-во остатки] Таблица для фильтрации: 'М007 Остатки товаров' Поле для фильтрации: [Тип остатков признак]
4. Логика обработки
4.1. Выражение DAX
VAR _res =
CALCULATE (
[Кол-во остатки],
KEEPFILTERS ( 'М007 Остатки товаров'[Тип остатков признак] = 3 )
)
RETURN
_res
4.2. Описание логики
- Базовый расчет: Мера использует в качестве основы меру
[Кол-во остатки]. - Фильтрация по типу остатка: Учитываются только строки, где
[Тип остатков признак]равен 3, что соответствует резервам под внутренние перемещения.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
6. Зависимости
6.1. Поток данных
Поток данных для этой меры идентичен потоку для меры [Свободный остаток]. См. описание в соответствующем разделе.
Мера "Резерв по заказам"
1. Общая информация
Название меры: Резерв по заказам Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера предназначена для расчета общего количества товаров, зарезервированных под конкретные заказы клиентов. Этот показатель помогает понять, какая часть остатков уже обещана покупателям.
3. Исходные данные
Основная мера: [Кол-во остатки] Таблица для фильтрации: 'М007 Остатки товаров' Поле для фильтрации: [Тип остатков признак]
4. Логика обработки
4.1. Выражение DAX
VAR _res =
CALCULATE (
[Кол-во остатки],
KEEPFILTERS ( 'М007 Остатки товаров'[Тип остатков признак] = 4 )
)
RETURN
-_res
4.2. Описание логики
- Базовый расчет: Мера использует в качестве основы меру
[Кол-во остатки]. - Фильтрация по типу остатка: Учитываются только строки, где
[Тип остатков признак]равен 4, что соответствует резервам по заказам клиентов. - Инвертирование знака: Результат умножается на -1. Это сделано для корректного отображения, так как в исходной таблице фактов резервы могут храниться с отрицательным знаком.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
6. Зависимости
6.1. Поток данных
Поток данных для этой меры идентичен потоку для меры [Свободный остаток]. См. описание в соответствующем разделе.
Мера "На складах"
1. Общая информация
Название меры: На складах Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "На складах" предназначена для расчета общего физического количества товаров, находящихся на складах. Она является суммой свободных остатков и всех видов резервов.
3. Исходные данные
Зависимые меры:
- [Свободный остаток]
- [Резерв под внутренние перемещения]
- [Резерв по заказам]
4. Логика обработки
4.1. Выражение DAX
[Свободный остаток] + [Резерв под внутренние перемещения] - [Резерв по заказам]
4.2. Описание логики
- Суммирование компонентов: Мера складывает значения мер
[Свободный остаток]и[Резерв под внутренние перемещения]. - Вычитание резервов: Из полученной суммы вычитается значение меры
[Резерв по заказам]. Знак вычитания используется для коррекции, так как мера[Резерв по заказам]может иметь отрицательное значение.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Штуки/единицы товара
6. Зависимости
6.1. Поток данных
Поток данных для этой меры полностью наследуется от мер, на которых она основана ([Свободный остаток], [Резерв под внутренние перемещения], [Резерв по заказам]). Все они используют данные, подготовленные хранимой процедурой [dbo].[sp_load_fact_inventory_stock]. См. описание потока данных в разделе меры [Свободный остаток].
Мера "В наличии всего"
1. Общая информация
Название меры: В наличии всего Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "В наличии всего" показывает общее количество товаров, которыми располагает компания, включая как товары на складах, так и товары, находящиеся в пути.
3. Исходные данные
Зависимые меры:
- [На складах]
- [В пути под резерв]
- [В пути]
4. Логика обработки
4.1. Выражение DAX
[На складах] + [В пути под резерв] + [В пути]
4.2. Описание логики
- Суммирование компонентов: Мера складывает значение меры
[На складах](товары, физически находящиеся на складе) со значениями мер[В пути под резерв]и[В пути](товары, перемещаемые между складами).
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Штуки/единицы товара
6. Зависимости
6.1. Поток данных
Поток данных для этой меры является совокупностью потоков мер, на которых она основана. Основной поток данных поступает от [dbo].[sp_load_fact_inventory_stock], который готовит данные для мер [На складах], [В пути под резерв] и [В пути]. См. описание потока данных в разделе меры [Свободный остаток].
Мера "Обеспеченный резерв"
1. Общая информация
Название меры: Обеспеченный резерв Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Обеспеченный резерв" предназначена для расчета количества товаров, зарезервированных под заказы клиентов, для которых уже определен источник обеспечения (например, ожидаемое поступление).
3. Исходные данные
Основная мера: [Кол-во остатки] Таблица для фильтрации: 'М007 Остатки товаров' Поле для фильтрации: [Тип остатков признак]
4. Логика обработки
4.1. Выражение DAX
VAR _res =
CALCULATE (
[Кол-во остатки],
KEEPFILTERS ( 'М007 Остатки товаров'[Тип остатков признак] = 5 )
)
RETURN
- _res
4.2. Описание логики
- Базовый расчет: Мера использует в качестве основы меру
[Кол-во остатки]. - Фильтрация по типу остатка: Учитываются только строки, где
[Тип остатков признак]равен 5, что соответствует обеспеченным резервам. - Инвертирование знака: Результат умножается на -1 для корректного отображения.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
6. Зависимости
6.1. Поток данных
Поток данных для этой меры идентичен потоку для меры [Свободный остаток]. См. описание в соответствующем разделе.
Мера "Заказано"
1. Общая информация
Название меры: Заказано Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Базовые меры Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Заказано" показывает общее количество товаров, которое было заказано клиентами. Она является агрегацией нескольких видов резервов и потребностей.
3. Исходные данные
Зависимые меры:
- [Резерв по заказам]
- [Обеспеченный резерв]
- [Заказано (прочая потребность)]
4. Логика обработки
4.1. Выражение DAX
[Резерв по заказам] + [Обеспеченный резерв] + [Заказано (прочая потребность)]
4.2. Описание логики
- Суммирование компонентов: Мера складывает значения трех других мер:
[Резерв по заказам]: Товары, зарезервированные под заказы со склада.[Обеспеченный резерв]: Резервы под заказы, обеспеченные будущими поступлениями.[Заказано (прочая потребность)]: Прочие потребности по заказам.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Штуки/единицы товара
6. Зависимости
6.1. Поток данных
Поток данных для этой меры полностью наследуется от мер, на которых она основана. Все они используют данные, подготовленные хранимой процедурой [dbo].[sp_load_fact_inventory_stock]. См. описание потока данных в разделе меры [Свободный остаток].
Мера "Сумма перемещений отмененных"
1. Общая информация
Название меры: Сумма перемещений отмененных Тип: Мера (Measure) Источник: OLAP.bim Папка отображения: Отмененные заказы Формат отображения: #,0
2. Назначение (Цель/задача)
Мера "Сумма перемещений отмененных" предназначена для расчета общей стоимости товаров, которые были отменены в заказах клиентов именно по причине логистических перемещений. Это позволяет анализировать потери, связанные с отменами на этапе внутренней логистики.
3. Исходные данные
Основная таблица: М001 Заказы Клиентов Основное поле: [Стоимость перемещения] Дополнительные поля для фильтрации:
- [Дата отмены] - для анализа по дате отмены, а не по дате заказа
- [ВГО булево] - для исключения внутригрупповых операций
- [Отмененный] - для выбора только отмененных позиций
- [Вид отмены] - для фильтрации по конкретной причине отмены (в данном случае, перемещение)
4. Логика обработки
4.1. Выражение DAX
CALCULATE (
SUM ( 'М001 Заказы Клиентов'[Стоимость перемещения] ),
USERELATIONSHIP ( '000 Календарь'[ID], 'М001 Заказы Клиентов'[Дата отмены] ),
NOT 'М001 Заказы Клиентов'[ВГО булево],
'М001 Заказы Клиентов'[Отмененный],
'М001 Заказы Клиентов'[Вид отмены] = 1
)
4.2. Описание логики
- Основная агрегация: Суммирование значений поля [Стоимость перемещения] из таблицы 'М001 Заказы Клиентов'.
- Связь по дате: Активируется связь между календарем и датой отмены заказа (
USERELATIONSHIP), чтобы фильтры по времени применялись к моменту отмены. - Фильтрация по ВГО: Исключаются записи, относящиеся к внутригрупповым операциям.
- Фильтрация по статусу: Учитываются только те строки, где флаг [Отмененный] установлен в TRUE.
- Фильтрация по виду отмены: Выбираются только те отмененные позиции, где [Вид отмены] = 1, что соответствует отмене из-за перемещения.
5. Результат
5.1. Выходные данные
- Тип данных: Числовой (Decimal)
- Формат отображения: Целое число с разделителями тысяч (#,0)
- Единица измерения: Валюта (например, рубли)
6. Зависимости
6.1. Поток данных
Поток данных для этой меры аналогичен потоку для других мер, основанных на заказах клиентов, таких как [Кол-во].
- OLAP мера:
[Сумма перемещений отмененных]в кубе OLAP. - Представление DWH: Данные для меры поступают из представления
[uni].[vt_order]. - Таблицы фактов DWH: Представление
[uni].[vt_order]агрегирует данные из таблиц[dbo].[fact_order],[dbo].[fact_cancelled_order], и[dbo].[fact_order_characteristics_received]. - Хранимые процедуры: Эти таблицы фактов загружаются и обрабатываются следующими хранимыми процедурами:
[dbo].[sp_load_fact_order][dbo].[sp_load_fact_cancelled_order][dbo].[sp_load_fact_order_characteristics_received]
Подробное описание логики работы хранимых процедур см. в разделе "Поток данных" для меры "Кол-во".