analytics/01_ПОЛНАЯ_СТРУКТУРА_PBI_И_SQL.md
2026-02-20 14:16:45 +03:00

16 KiB
Raw Blame History

База знаний: полная структура SQL (mag_pbi) и Power BI

Извлечено из analytics/sql_db_mag_pbi/mag_pbi_schema.sql и analytics/pbi/. Независимый справочник для трассировки метрик и работы с данными.


1. Схемы базы данных mag_pbi

Схема Назначение
pbi Основные таблицы и представления для Power BI
analytics Дефицит, прогноз, аналитика за 365 дней
pbiProd Сводная себестоимость, производство
ostatki Резервы, очереди сборок, склад
sebest Себестоимость до 2022
stg Staging (загрузка прогноза)
artem Дополнительные данные
dbo Стандартные таблицы

2. Таблицы (CREATE TABLE)

2.1 Схема pbi

Таблица Ключевые колонки
pbi.pricelist Цена, Вид цены, 1c_id, artic_id, Дата, _Period
pbi.Себестоимость id, Период, Статья, Вид операции, artic_id, Количество, Сумма, Закупка, Учетная цена, Номер заказа
pbi.СебестоимостьПродажи id, 1c_id, artic_id, Количество, Закупка, sebes_id
pbi.ostatki_short artic_id, 1c_id, Code, sklad, Категория склада, upakovok, quantity, date
pbi.enums
pbi.nomenclature artic_id, 1c_id, code, description, group_id, Цена учетная руб/usd, minAvailableQty
pbi.groups group_id, path, 1c_id
pbi.w_ostatok_da_net dt, _IDRREF, artic_id, quantity, upakovok, ostatok, sellable_stock
pbi.content_rating
pbi.direct_adv_costs
pbi.direct_orders
pbi.nomenclatureVolumeStorehouse
pbi.ostatki Остатки полные
pbi.ostatki_mp Остатки МП
pbi.Turnover
pbi.Себестоимость2023, Себестоимость2024
pbi.СебестоимостьДо2022Тест
pbi.СебестоимостьСводныйОт2022Тестовый
pbi.СебестоимостьПродажиОт2022
pbi.СебестоимостьПродажиТест, СебестоимостьТест

2.2 Схема analytics

Таблица Ключевые колонки
analytics.forecast id, scenario_id, 1c_id, code, month, value
analytics.forecast_scenarios scenario_id, name
analytics.deficit_proposal scenario_id, 1c_id, code, place_month, arrival_month, order_qty, projected_stock_at_T
analytics.stock_plan_by_arrival
analytics.аналитика за 365 дн. Агрегаты ROIC, ТН, средний остаток
analytics.manufacturers
analytics.manufacturer_payment_stage
analytics.manufacturer_counterparty_map
analytics.deficit_money_request scenario_id, manufacturer_id, contractor_1c_id, arrival_month, amount_rub/usd
analytics.forecast_history
analytics.load_log_w_ostatok_da_net
analytics.sales_weekly_features
analytics.seasonality_groups
analytics.seasonality_groups_summ_1
analytics.stock_balance
analytics.прогноз из excel
analytics.срез учетных цен

2.3 Схема pbiProd

Таблица Назначение
pbiProd.СебестоимостьСводныйОт2022 Сводная себестоимость
pbiProd.СебестоимостьОт2022 Себестоимость от 2022
pbiProd.СебестоимостьДо2022 До 2022
pbiProd.СебестоимостьПроизводствоОт2022 Производство
pbiProd.СебестоимостьИтогиДо2022
pbiProd.УчетнаяЦенаПоСебестоимости
pbiProd.GroupsOfNomenclature
pbiProd.НоменклатураВПроизводствеПоУровням

2.4 Схема stg

Таблица Назначение
stg.forecast_load Staging загрузки прогноза из Excel

2.5 Схема dbo

Таблица Назначение
dbo.content_rating, grades_quartal
dbo.lineage_edges, lineage_objects
dbo.order_source, site_product
dbo.Turnover
dbo.yandex_direct_criteria_stats

3. Представления (CREATE VIEW)

3.1 Схема pbi

View Источник / логика
pbi.[Себестоимость+СебестоимостьПродаж] pbi.Себестоимость + СебестоимостьПродажи, подстановка цен из pricelist
pbi.ОстаткиTotal ostatki_short, накопительный итог по складу/artic_id
pbi.БазоваяУпаковка Габариты из MAG_2019
pbi.Заказы_тех Заказы поставщику
pbi.РекламаМаркетплейсы Реклама МП
pbi.Стоимость обработки заказа Стоимость МП
pbi.Резервы Резервы
pbi.Заказы Заказы
pbi.Заявки_на_оплату Заявки
pbi.Внешние остатки Внешние остатки
pbi.Расходы по годам Расходы
pbi.node_mp Узлы МП
pbi.Внешние продажи Продажи МП
pbi.nomeclature_for_pbi Номенклатура для PBI
pbi.Заказы в заявках
pbi.[Себестоимость+СебестоимостьПродажОт2022]
pbi.Сборки, Сборки_комплекты
pbi.значения доп реквизитов номенклатуры
pbi.Сохраненные настройки 1С для PowerBI

3.2 Схема analytics

View Назначение
analytics.get_forecast_by_group Прогноз по группе (forecast + nomenclature + groups)
analytics.get_forecast_scenarios Сценарии
analytics.get_orders_list Список заказов
analytics.get_analytics_by_group Аналитика по группе
analytics.get_orders_by_group Заказы по группе (входящие)
analytics.deficit_orders deficit_proposal + nomenclature (цена, сумма)
analytics.nomenclature
analytics.Внешние остатки
analytics.Остатки МП
analytics.Где товар
analytics.Заявки_на_оплату
analytics.Заявки_без_проектаеоплачено
analytics.Ожидаемый расход
analytics.Ожидаемое_поступление
analytics.ForecastBasesKs Базы прогноза
analytics.doprekvizit, doprekvizitvalues
analytics.images
analytics.Курсы валют на сегодня
analytics.Проекты
analytics.v_manufacturers_roi_compat
analytics.v_contractors, v_producers
analytics.v_manufacturer_counterparty_mapping

3.3 Схема pbiProd

View Назначение
pbiProd.[СводныйСебестоимость Для PBI] Основной источник Себестоимости в PBI
pbiProd.СводныйСебестоимость
pbiProd.ИтогСебестоимостьПродажОт2022

3.4 Схема ostatki

View Назначение
ostatki.РезервыМПиОПТ Резервы МП и ОПТ
ostatki.OstatkiMarketSklad
ostatki.МаркировкаОчередьВРАботе
ostatki.НаСогласовании
ostatki.ОчередьНаСборкуРазборку
ostatki.СборкиРазборкиВРаботе
ostatki.СобираетсяИКСборке
ostatki.СобраноНеОплачено
ostatki.ТоварыВПеремещении

4. Хранимые процедуры

4.1 analytics — дефицит и прогноз

Процедура Назначение
analytics.sp_build_deficit_proposal Расчёт дефицита и рекомендаций к заказу
analytics.sp_fill_deficit_money_request Заполнение заявок на оплату по дефициту (manufacturers + contractor)
analytics.sp_rebuild_stock_plan_by_arrival План остатков по месяцам прихода
analytics.sp_run_deficit_all_skus Пересчёт дефицита по всем SKU
analytics.sp_build_forecast_s4_by_group Прогноз по группе
analytics.sp_загрузка_прогнозаакупки Загрузка прогноза из Excel
analytics.create_seasonality_groups Сезонность по группам
analytics.sp_create_analytics_365 Аналитика за 365 дней
analytics.sp_load_koef_groups Коэффициенты групп
analytics.sp_recalc_roic Пересчёт ROIC
analytics.sp_report_ROI Отчёт ROI
analytics.Подготовка таблицы продаж к прогнозу Подготовка продаж

4.2 pbi — миграция

Процедура Назначение
pbi.migrate_ostatki Миграция остатков
pbi.migrate_nomenclature Миграция номенклатуры
pbi.migrate_groups Миграция групп
pbi.migrate_pricelist Миграция прайс-листа
pbi.migrate_stock_balance
pbi.migrate_max_year_quantity
pbi.migrate_uchet_summa
pbi.создание среза учетных цен Срез учётных цен
pbi.[Заполнить себестоимостьОт2022(закупки+продажи)]
pbi.[Заполнить себестоимостьОт2022(СкладХранение)]
pbi.РасчетСебестоимостиОт2022

4.3 pbiProd — себестоимость

Процедура Назначение
pbiProd.ЗаполнитьСебестоимостьСводныйОт2022
pbiProd.[Пакетное: ...] Различные этапы заполнения себестоимости
pbiProd.[Подготовка Производство: ...] Подготовка производства

4.4 sebest — себестоимость до 2022

Процедура Назначение
sebest.Заполнить себестоимость до 2022
sebest.Заполнить себестоимость закупкой/продажей
sebest.Расчет себестомисти

5. Power BI — таблицы и источники

5.1 Таблицы модели (из TMDL)

Таблица PBI Режим SQL источник
Номенклатура import pbi.nomeclature_for_pbi
Партнер import pbi.Партнеры
Стоимость МП import pbi.[Стоимость обработки заказа]
Себестоимость import pbiProd.[СводныйСебестоимость Для PBI]
Основной отчет import Calculated (placeholder)
Группы import pbi.groups
Остатки import pbi.ostatki_short
Заявки на оплату import pbi.Заявки_на_оплату
План продаж менеджеров import pbi.ПланПродажМенеджеров
План продаж по группам import pbi.ПланыПродажПоГруппам
Менеджеры import pbi.users_1C
mp остатки import pbi.Внешние остатки
mp аналитика продаж import pbi.[Внешние продажи]
ПРАЙСлист import pbi.pricelist
Упущенные продажи import pbi.w_ostatok_da_net (+ трансформации)
Заказы все import pbi.Заказы
mp реклама import pbi.РекламаМаркетплейсы
План маркеты import
Резервы import pbi.Резервы
Расходы по годам import pbi.[Расходы по годам]
Я.Директ расходы import pbi.direct_adv_costs
Я.Директ заказы import pbi.direct_orders
mp узел import pbi.node_mp
mp оборот import pbi.[Внешний оборот]
.Календарь calculated Calendar
LocalDateTable_* calculated Calendar по диапазону полей
Организация calculated VALUES(Себестоимость[Организация])
Закупки calculated
Параметр цена продажи, % calculated GENERATESERIES(-20, 20, 0.5)

5.2 Сервер

  • Sql.Database("prdsql", "mag_pbi") — основной источник
  • Sql.Databases("prdsql") → mag_pbi — альтернативный доступ

5.3 Связи (relationships.tmdl)

  • artic_id → Номенклатура._artic_id (Себестоимость, Остатки, mp остатки, Заказы все и др.)
  • Период/Дата → .Календарь.Дата
  • Номенклатура._group_id → Группы.group_id (bothDirections)
  • Остатки.Дата → LocalDateTable (variation)

6. Цепочка дефицита и прогноза

forecast (analytics.forecast)
    ↓
sp_build_deficit_proposal → deficit_proposal
    ↓
sp_fill_deficit_money_request → deficit_money_request (заявки на оплату по производителям)
    ↓
sp_rebuild_stock_plan_by_arrival → stock_plan_by_arrival

Формула: closing = opening + inbound_confirmed + inbound_deficit - forecast_demand

Источники:

  • opening_qty — pbi.w_ostatok_da_net (остаток на дату)
  • Входящие заказы — статусы: В пути, В производстве, Выгружен на складе, Согласован
  • Stock quantity — только quantity (не sellable_stock)

7. Ключевые таблицы для остатков

Объект Роль
pbi.ostatki_short Остатки для PBI (date, sklad, artic_id, quantity, upakovok)
pbi.w_ostatok_da_net Остаток на дату, opening_qty, availability (ostatok)
pbi.ostatki Полные остатки (накопительная)
Фильтр [Категория склада] <> 'Виртуальный' — исключение МП из складского остатка

Справочник сформирован по mag_pbi_schema.sql и analytics/pbi.