Мы вошли в последний уровень в конце уровня общедоступных данных CMD — уровень DWS. Этот уровень в основном напрямую и тесно связан с бизнесом. То есть с требованиями, выдвигаемыми к продукту, будь то отчеты. Статистика портрета пользователя или большие экраны данных — все это здесь. Данные обрабатываются на одном уровне, а затем помещаются на уровень ADS. Затем нам нужно только оборудовать соответствующий источник данных в BI. Уровень DWS понятен и прост в построении — это проверка нашего слоя ODS и качества моделирования слоев DWD и DIM. Как правило, мы также можем начать с уровня DWS, то есть результатов со стороны спроса, чтобы по-другому рассуждать об уровнях ODS и DWD, которые нам нужно построить. Короче говоря, уровень DWS требует от нас тщательного размышления, и мы должны быть осторожны. о вещах, которые необходимо произвести.
Уровень DWS предназначен для обеспечения эффективного и быстрого доступа к агрегированным данным для бизнес-анализа. Этот уровень моделируется на основе предметных объектов анализа, обеспечивая сводное представление ключевых показателей для поддержки принятия решений и анализа приложений верхнего уровня. Создавая таблицы фактов с общей детализацией из агрегированных показателей, уровень DWS может помочь выявить тенденции, закономерности и аномалии.
Необработанные данные можно сравнить с деталями каждой улицы и здания на карте города, а слой DWS — со сводкой трафика в навигационном приложении. Он сообщает вам, где интенсивное движение, самые плавные маршруты и расчетное время прибытия, вместо того, чтобы просить вас рассмотреть ситуацию на каждой улице.
Если рассматривать подробные данные как все новостные события, произошедшие в течение дня, то слой DWS — это сводка вечерних новостей. Он извлекает самые важные заголовки и тенденции из большого количества новостей, позволяя вам понять самую важную информацию за короткое время без необходимости читать все новостные сводки.
В качестве примера мы по-прежнему берем портреты кредитного анализа поставщиков тендерного бизнеса. При построении аналитического портрета каждого поставщика для тендерного бизнеса уровень DWS должен обеспечить комплексную перспективу анализа путем агрегирования многомерных данных, связанных с поставщиками. .
Всего существует пять уровней принципов проектирования DWS:
Прежде чем разрабатывать таблицу DWS, сначала уточните цели анализа профиля поставщика. Общие цели анализа включают в себя:
Определите ключевые показатели (факты) и измерения, необходимые для достижения целей вашего анализа.
На основании вышеуказанных показателей и размеров,Спроектируйте структуру таблицы DWS. Включите имена полей, типы данных и комментарии. Каждая структура таблицы отражает конкретные потребности бизнес-анализа.,И содержит необходимые поля и Размеры.
Выбор типа данных:Выберите подходящий тип данных в зависимости от характера данных.,Если сумма используетсяDECIMAL
чтобы обеспечить точность,Использование текстового поляVARCHAR
。
Определение первичного ключа:Каждая таблица имеет набор первичных ключей, обеспечивающий уникальность и целостность данных.。
Оптимизация производительности:При необходимости индексы могут быть установлены для часто используемых полей запроса.,к Улучшение производительности запросов。
использовать:анализироватьпоставщика Общая производительность и модели поведения。
CREATE TABLE supplier_performance_summary (
supplier_id INT PRIMARY KEY, -- Уникальный идентификатор поставщика
supplier_name VARCHAR(255), -- Имя поставщика
num_bids INT, -- Количество ставок
num_wins INT, -- Количество выигравших ставок
win_rate DECIMAL(5, 2), -- Процент выигрышей в торгах(Количество выигравших ставок/Количество ставок)
total_bid_amount DECIMAL(18, 2), -- общая сумма ставки
avg_bid_amount DECIMAL(18, 2), -- средняя сумма ставки
num_project_types INT, -- Количество задействованных типов проектов
num_provinces INT, -- Количество участвующих провинций
last_active_date DATE -- Последняя активная дата
);
использовать:Анализируйте заявки и выигрыши для разных типов проектов。
CREATE TABLE project_type_summary (
project_type_id INT PRIMARY KEY, -- Уникальный идентификатор типа проекта
project_type_name VARCHAR(255), -- Название типа проекта
num_projects INT, -- Количество предметов
total_bid_amount DECIMAL(18, 2), -- общая сумма ставки
avg_bid_amount DECIMAL(18, 2), -- средняя сумма ставки
num_wins INT, -- Победа в тендере Количество предметов
win_rate DECIMAL(5, 2) -- Процент выигрышей в торгах(Победа в тендере Количество предметов/Количество предметов)
);
использовать:анализировать不同областьстатус продаж и ставок。
CREATE TABLE region_sales_summary (
province_id INT PRIMARY KEY, -- Уникальный идентификатор провинции
province_name VARCHAR(255), -- Название провинции
num_bids INT, -- Количество ставок
total_sales_amount DECIMAL(18, 2), -- общая сумма продаж
num_projects INT, -- Количество предметов
avg_sales_amount DECIMAL(18, 2), -- средний объем продаж
top_supplier_id INT, -- Идентификатор поставщика с самыми высокими продажами
top_supplier_name VARCHAR(255) -- Имя с самыми высокими продажами поставщика
);
использовать:анализировать不同время Эффективность бизнеса в течение цикла。
CREATE TABLE time_period_summary (
time_period VARCHAR(10) PRIMARY KEY, -- идентификатор периода времени (например, Q1, 2024)
num_bids INT, -- Количество ставок
total_bid_amount DECIMAL(18, 2), -- общая сумма ставки
avg_bid_amount DECIMAL(18, 2), -- средняя сумма ставки
num_wins INT, -- Количество выигравших ставок
win_rate DECIMAL(5, 2) -- Процент выигрышей в торгах(Количество выигравших ставок/Количество ставок)
);