خانه / آموزش مقدماتی DAX / درس ۲ – Data Model چیست

درس ۲ – Data Model چیست

تعاریف زیادی برای دیتا مدل وجود دارد و من سعی میکنم مدل داده ای را ساده و روان برایتان توضیح دهم. میتوان گفت Data Model مجموعه ای است از داده‌ها در جداول مختلف که با هم ارتباط دارند . ترکیب اطلاعات , جداول , ارتباط آنها , فرمول و محاسبات نوشته شده به زبان DAX و سلسه مراتب ها Hierarchy با یک دیگر یک مدل داده ای را میسازد که میتوانیم در تحلیل ها و نمایش گزارشات از آن استفاده کنیم

اطلاعات یک مدل داده ای میتواند از منابع مختلفی مانند وب سرویس , فایل اکسل , بانک اطلاعاتی و … تامین شود و در کنار یکدیگر داخل جدولها قرار گیرند.
همه جداول دیتا مدل الزاما باهم ارتباط ندارند و با توجه به اطلاعات داخل آنها برخی جداول با هم ارتباط دارند و برخی ندارند
جدول ساختاری  دو بعدی دارد مانند فایل اکسل و حاوی تعدادی سطر و ستون است.
کوئری ها و فرمول هایی که با DAX نوشته میشوند هم جزئی از مدل داده ای هستند

اجزا یک مدل داده ای :

داده ها (DATA)

اولین قدم در طراحی مدل داده ای ورود import اطلاعات است.این اطلاعات میتوانند از منابع مختلفی و متفاوتی وارد شوند و پس از ورود داخل ساختارهای دوبعدی جدول ذخیره خواهند شد.
اگر داده های ورودی نیازی به تغییر داشته باشند میتوانید به کمک power query تغییرات مد نظر را اعمال کنید تا اطلاعات با ساختار و فرمت مد نظر شما وارد مدل داده ای شوند.

جداول (Table )

جدول ساختاری دو بعدی شامل تعدادی سطر و ستون است مانند شیت های اکسل .
از جدول برای نگهداری اطلاعات یا نتیجه ستونهای محاسباتی Calculated Column که با DAX ایجاد شده است, استفاده میشود.
برخی جداول ممکن است از نوع جدول محاسباتی Calculated Table باشند. جدول محاسباتی با اجرای دستورات DAX ایجاد میشوند و منبع اطلاعاتی آنها اطلاعات سایر جداول مدل داده ای میتواند باشد. مثل جدول محاسباتی که خلاصه فروش به تفکیک سال را دارد.
در درسهای بعدی نحوه ساخت جدول محاسباتی را یاد میگیرید.

ستون (Columns)

هر جدول می توند شامل چندین ستون باشد . به ستون , فیلد Field هم گفته میشود .
هر ستون میتواند بخشی از اطلاعات در مورد موجودیت مدنظر را بیان کنید. مثل در جدول مشتری که اطلاعات موجودیت مشتری را ذخیره میکنیم , ممکن است ۳ ستون نام مشتری , شهر و مدرک تحصیلی را داشته باشیم اما اگر یک ستون دیگر بنام تعداد فرزند را هم اضافه کنیم در اصل توان تحلیلی گزارشات را افزایش داده ایم و میتوانیم گزارشاتی بر مبنای تعداد فرزندان مشتری داشته باشیم. پس ستونهای بیشتر به ما کمک میکنند که گزارشات غنی تری داشته باشیم اما فراموش نکنید که ورود اطلاعات ستونهایی که آنها را نیاز نداریم باعث افزایش حجم مدل داده ای و کاهش سرعت آن خواهد شد. پس همیشه در مورد انتخاب ستونها دقت کنید.

رابطه (Relation )

جداول مدل داده ای از طریق رابطه بین شان میتوانند با هم ارتباط برقرار کنند و این ارتباط در بحث فیلترینگ اطلاعات بسیار اهمیت دارد. اگر رابطه ها را اشتباه تعریف کنید , گزارشات هم غلط خواهند بود و باید ارتباط ها در مدل داده ای خیلی با دقت طراحی شوند.
بر خلاف بانک های رابطه ای که از رابطه برای بحث نرمالسازی استفاده میشوند در power bi رابطه ها برای فیلترینگ اطلاعات و محاسبات DAX کاربرد دارند.

فرمول محاسباتی – میژر (Measure)

A Measure is a DAX Calculation that returns a Single Value that can be used in visuals in reports or as a part of calculations in other mesures.

Measure را میتوان به چندین کلمه ترجمه کرد . اما من همیشه ترجیح میدهم از همان کلمه میژر استفاده کنم. اما در متون ترجمه شده ممکن است با کلماتی مانند سنجه یا قلم آماری هم برخورد کنید.
میژر در اصل یک فرمول نوشته به زبان DAX میباشد که یک مقدار تولید میکند. دقت کنید نتیجه میژر یک مقدار مشخص است که میتواند مقداری عددی یا غیر عددی باشد.

نکته مهم این است که نتیجه میژر را در Model View یا Data View نمیتوانید ببینید و نتیجه آن فقط در Report View یا وقتی بر روی یک visual قرار میدهید , محاسبه و نمایش داده میشود.
همچنین از نتیجه یک میژر میتوانید در ساخت میژرهای دیگه هم استفاده کنید

سلسله مراتب (Hierarchies)

به گروهی از اطلاعات که با هم ارتباط معنایی به صورت سطح بندی شده دارند اطلاق میشود مثال سلسه مراتب زمان : سال – ماه – روز  یا مکان : کشور-استان-شهر
از هایراکی برای ایجاد گزارشات بصورت چند سطحی با قابلیت Drill down – Drill up استفاده میشود. مثلا ابتدا میتوانید فروش به تفکیک سال را ببینید و بعد وارد سطح بعدی شوید و فروش به تفکیک ماه را ببینید.

درباره‌ی حمیدرضا بابازاده

تحلیلگر ارشد و متخصص هوش تجاری در اتریش هستم و تجربه کار بعنوان مشاور و مدرس BI در شرکتهای مختلف رو دارم . بیش از 1300 ساعت سابقه تدریس دوره های Python , Power BI و Microsoft BI را در آموزشگاه سماتک و مجتمع فنی تهران دارم .

همچنین ببینید

آموزش DAX : توابع Statistical ، COUNT

توابع Statistical ، دسته توابع Count

دیدگاهتان را بنویسید

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

معادله امنیتی (فقط عدد بنویسید) *