طراحی Data Warehouse | ایران BI

طراحی Data Warehouse ویکپارچه‌سازی داده‌های سازمان

داده‌های پراکنده را به یک منبع واحد و قابل اعتماد تبدیل کنید

در بسیاری از سازمان‌ها اطلاعات مهم در چندین سیستم مختلف ذخیره شده است. هر سیستم بخشی از واقعیت سازمان را نگهداری می‌کند؛ اما زمانی که مدیر نیاز به یک گزارش یکپارچه دارد، اختلاف تعریف شاخص‌ها و پردازش دستی اطلاعات باعث پیچیدگی می‌شود.

Single Source of Truth برای تحلیل سازمان

جریان داده سازمان

ERP
CRM
Accounting
Sales
Production
Inventory
Excel
API
Extract → Staging → Clean → Transform
Data Warehouse
FactSales
FactFinance
FactProd
FactInv
Semantic Model
Power BI / Reports / Analytics
مشکل داده‌های پراکنده

وقتی هر واحد عدد متفاوتی از یک KPI دارد

یکی از رایج‌ترین مشکلات این است که واحد فروش، مالی و مدیریت اعداد متفاوتی برای یک شاخص گزارش می‌کنند.

فروش این ماه چقدر بوده است؟

واحد فروش:سفارش ثبت‌شده را فروش می‌داند.
واحد مالی:فقط فاکتور قطعی را محاسبه می‌کند.
واحد مدیریت:گزارش Excel دیگری دارد.

یک سؤال ساده ← سه جواب متفاوت

Data Warehouse کمک می‌کند:

تعریف شاخص‌ها یکسان شود.
داده از منابع مختلف در یک ساختار مشترک قرار گیرد.
تاریخچه تغییرات حفظ شود.
گزارش‌ها از یک منبع معتبر استفاده کنند.

OLTP (عملیاتی)

ثبت سفارش
ویرایش مشتری
ثبت فاکتور
ثبت تولید
ورود انبار

Data Warehouse (تحلیلی)

روند ۳ ساله فروش
سودآورترین مشتری
تحقق برنامه تولید
روند موجودی
رشد شعبه‌ها
معماری کلی راهکار

از منابع پراکنده تا داشبورد یکپارچه

ERP
CRM
Accounting
Sales
Production
Inventory
Excel
API
Data Extraction
Staging Area
Cleaning & Transformation
Data Warehouse
Semantic Model
Power BI / Reports / Analytics

فرآیند یکپارچه‌سازی داده

۰۱

شناسایی منابع

مشخص می‌شود اطلاعات مورد نیاز در چه سیستم‌هایی وجود دارد.

نرم‌افزار فروش
حسابداری
CRM
Excel اهداف
۰۲

استخراج داده

داده از منابع مختلف دریافت می‌شود.

Database
API
Excel
CSV
Web Service
۰۳

پاک‌سازی

داده خام استاندارد می‌شود.

رکورد تکراری
مقدار Null
کدهای ناسازگار
تاریخ‌های متفاوت
۰۴

تبدیل داده

Business Ruleها روی داده اجرا می‌شوند.

فروش خالص = فروش − برگشت − تخفیف
استانداردسازی مشتریان
۰۵

بارگذاری

داده‌های آماده وارد ساختار تحلیلی می‌شوند.

Data Warehouse
Data Mart
Semantic Model
طراحی مدل داده تحلیلی

Star Schema — ساختار استاندارد Data Warehouse

در بسیاری از پروژه‌های BI، ساختار Data Warehouse براساس Fact و Dimension طراحی می‌شود. این ساختار باعث می‌شود تحلیل سریع‌تر، قابل توسعه‌تر و قابل کنترل‌تر شود.

FactSales

Quantity
GrossAmount
Discount
NetAmount
Cost
Profit

Dimensions

DimDate
DimCustomer
DimProduct
DimSalesPerson
DimRegion
DimChannel
DimDate
DimCustomer
FactSales
DimProduct
DimSalesPerson
DimRegion

مدل داده برای واحدهای مختلف سازمان

هر Data Mart برای یک حوزه تخصصی طراحی می‌شود.

Sales Data Mart

داشبورد و تحلیل فروش

Fact Table

FactSales

DimDateDimCustomerDimProductDimSalesPersonDimRegion

Finance Data Mart

تحلیل مالی و بودجه

Fact Table

FactGL · FactBudget · FactCashFlow

DimAccountDimDateDimCostCenterDimCompany

Inventory Data Mart

تحلیل موجودی و گردش کالا

Fact Table

FactInventoryTransaction · FactInventorySnapshot

DimProductDimWarehouseDimDate

Production Data Mart

تحلیل تولید

Fact Table

FactProduction · FactDowntime · FactWaste

DimDateDimProductDimMachineDimShiftDimOperator

یک مشتری، محصول و تاریخ باید در تمام مدل‌ها معنای یکسان داشته باشد

اگر Dimensionهای کلیدی مستقل و بدون استاندارد طراحی شوند، گزارش‌های مختلف ممکن است با یکدیگر ناسازگار شوند. به همین دلیل Dimensionهای مشترک بهتر است به‌صورت Conformed Dimensions طراحی شوند.

Sales Model
DimDateDimProductDimCustomer
Inventory Model
DimDateDimProduct
Production Model
DimDateDimProduct
چرا مستقیم Power BI را به سیستم عملیاتی وصل نکنیم؟

فشار روی Database عملیاتی

Queryهای تحلیلی ممکن است روی عملکرد سیستم اصلی اثر بگذارند.

Business Logic پراکنده

هر گزارش ممکن است تعریف متفاوتی از KPI داشته باشد.

تاریخچه محدود

سیستم عملیاتی ممکن است فقط وضعیت فعلی را نگهداری کند.

Integration سخت

ترکیب چند سیستم مستقیماً در Power BI پیچیده می‌شود.

نگهداری دشوار

هر تغییر در منبع داده ممکن است چندین Dashboard را تحت تأثیر قرار دهد.

Data Warehouse یک لایه میانی پایدار ایجاد می‌کند.
حفظ تاریخچه داده — Slowly Changing Dimensions

اگر اطلاعات مشتری تغییر کند چه اتفاقی می‌افتد؟

فرض کنیم یک مشتری از منطقه تهران به منطقه شمال منتقل شده است. اگر فقط مقدار فعلی نگهداری شود، گزارش فروش گذشته ممکن است اشتباه تفسیر شود.

Customer A

2024 →Region = Tehran
2025 →Region = North

تاریخچه تغییرات حفظ می‌شود تا گزارش‌های تاریخی دقیق باقی بمانند.

ETL / ELT

داده چگونه وارد Data Warehouse می‌شود؟

ETL

Extract
Transform
Load

ELT

Extract
Load
Transform

بسته به زیرساخت، حجم داده و معماری پروژه می‌توان ETL یا ELT مناسب را انتخاب کرد.

Incremental Load

لازم نیست هر بار تمام اطلاعات دوباره خوانده شوند

فقط رکوردهای جدید یا تغییرکرده دریافت می‌شوند.

-- Last Load
-- 2026-08-10 23:00
SELECT *
FROM Transactions
WHERE UpdatedAt >
'2026-08-10 23:00'

این کار مدت بارگذاری و مصرف منابع را کاهش می‌دهد.

کنترل کیفیت داده

Dashboard دقیق روی داده اشتباه ساخته نمی‌شود

Null CheckDuplicate CheckReferential IntegrityData Type ValidationRange ValidationReconciliationBusiness Rule Validation
فروش سیستم مبدأ۱۲۸٬۴۲۰٬۰۰۰٬۰۰۰
فروش Data Warehouse۱۲۸٬۴۲۰٬۰۰۰٬۰۰۰
✓ Reconciled
Master Data Management

یک موجودیت، شناسه‌های مختلف در سیستم‌های مختلف

در معماری داده باید مشخص شود رکوردهای مختلف چگونه به یک موجودیت واحد تبدیل می‌شوند.

CRM

Customer = 4582

Accounting

Customer = C-975

Sales

Customer = 001254

یک مشتری واحد در Master Data

این مسئله برای: Customer، Product، Supplier، Employee، Branch اهمیت زیادی دارد.

Semantic Model

بین Data Warehouse و Dashboard یک لایه تحلیلی وجود دارد

Semantic Model شامل Relationships، Measures، KPIs، Business Definitions، Hierarchies و Security است. این کار باعث می‌شود تعریف شاخص در تمام گزارش‌ها یکسان باشد.

Measures

Net SalesGross ProfitGross Margin %YoY GrowthBudget VarianceInventory TurnoverOEE

قبل و بعد از Data Warehouse

قبل

ERP
↘
CRM → Excel → گزارش
↗
Accounting
✕ هر واحد فایل خودش را دارد
✕ KPIهای مختلف
✕ اعداد متفاوت
✕ گزارش دستی

بعد

ERP
│
CRM
│
Finance
│
Production
│
Inventory
↓
Data Warehouse
Semantic Model
Dashboard
Single Source of Truth

چه منابعی قابل اتصال هستند؟

SQL Server

پایگاه‌های داده سازمانی و سیستم‌های داخلی.

PostgreSQL / MySQL

سیستم‌ها و نرم‌افزارهای تحت وب.

ERP

اطلاعات عملیات سازمان.

CRM

مشتریان و فرآیند فروش.

حسابداری

اطلاعات مالی و حسابداری.

Excel / CSV

فایل‌های عملیاتی یا تاریخی.

REST API

دریافت اطلاعات از سرویس‌های دیگر.

سیستم‌های اختصاصی

اتصال نرم‌افزارهای داخلی سازمان.

چه زمانی Data Warehouse لازم است؟

Data Warehouse برای همه شرکت‌ها ضروری نیست.

مدل ساده BI کافی است اگر:

فقط یک منبع داده
داده کم است
گزارش‌های ساده
تاریخچه ساده

Data Warehouse ارزش بیشتری دارد اگر:

چند منبع داده
چند Dashboard
KPI مشترک بین واحدها
حجم اطلاعات زیاد
تاریخچه مهم
رشد BI

Data Warehouse ابری یا On-Premise؟

On-Premise

برای سازمان‌هایی که زیرساخت داخلی دارند یا سیاست امنیتی آنها نگهداری اطلاعات داخل مجموعه است.

Cloud

برای پروژه‌هایی که استفاده از زیرساخت ابری برایشان مناسب است.

Hybrid

بخشی از داده در سازمان و بخشی در Cloud. انتخاب براساس امنیت، حجم، هزینه و Performance.

امنیت داده

Least PrivilegeRole-Based AccessEncryptionSecure ConnectionsAudit LoggingBackupEnvironment SeparationSecret ManagementMonitoring
فرآیند اجرای پروژه

از شناخت نیاز تا Monitoring

۰۱

شناخت نیاز تحلیلی

بررسی KPIها، گزارش‌ها و سؤال‌های مدیریتی.

۰۲

شناسایی منابع داده

مشخص‌کردن سیستم‌های منبع و نوع اتصال.

۰۳

Data Profiling

بررسی کیفیت، ساختار و محتوای داده‌های منبع.

۰۴

طراحی معماری

انتخاب الگوی مناسب برای معماری تحلیلی.

۰۵

طراحی Data Model

طراحی Fact، Dimension و روابط.

۰۶

طراحی ETL / ELT

فرآیند استخراج، تبدیل و بارگذاری داده.

۰۷

ساخت Data Warehouse

پیاده‌سازی ساختار و پایپ‌لاین‌ها.

۰۸

Data Quality & Validation

اعتبارسنجی و تطبیق داده با منابع.

۰۹

Semantic Model

تعریف Measureها و KPIهای استاندارد.

۱۰

اتصال Dashboard

اتصال Power BI یا ابزار تحلیلی به مدل.

۱۱

تست و Performance Tuning

بهینه‌سازی کوئری‌ها و عملکرد.

۱۲

استقرار و Monitoring

Deploy نهایی و پایش پایپ‌لاین‌ها.

خروجی پروژه

معماری داده

نقشه جریان داده از سیستم‌های منبع تا لایه تحلیلی.

Data Warehouse

انبار داده طراحی‌شده برای تحلیل سازمان.

Data Marts

مدل‌های تخصصی فروش، مالی، تولید، انبار و سایر حوزه‌ها.

ETL / ELT Pipelines

فرآیندهای دریافت، تبدیل و بارگذاری داده.

Data Model

Factها، Dimensionها و روابط تحلیلی.

Semantic Model

Measureها و KPIهای استاندارد.

Data Quality Rules

کنترل‌های صحت و کیفیت اطلاعات.

Documentation

مستندات معماری، منابع، Mapping و Business Rules.

سوالات متداول

سوالات رایج درباره Data Warehouse

تست
تسیس

قبل از ساخت داشبوردهای بیشتر، زیرساخت داده را استاندارد کنید

اگر اطلاعات سازمان شما بین چند پایگاه داده، نرم‌افزار و فایل پراکنده است، ابتدا می‌توانیم معماری فعلی داده را بررسی کنیم و مشخص کنیم آیا به Data Warehouse نیاز دارید و چه ساختاری برای رشد آینده BI مناسب‌تر است.