خانه / آموزش Power BI بابازاده / درس چهل و چهارم – جهت ارتباطها در دیتا مدل

درس چهل و چهارم – جهت ارتباطها در دیتا مدل

جهت ارتباطها در دیتا مدل

در بحث پاور بی اور و مدل تبولار جهت ارتباطها بین جداول در دیتا مدل مهم می باشد. این ارتباط و جهت به معنی فیلترینگ می باشد. در واقع در بحث ssas تبولار این ارتباطها جهت فیلترینگ ایجاد می شود. در واقع جهت ارتباط بین جداول نشان می دهد که می توانید از جدول مبدا عملیات فیلترینگ را انجام دهید و در جدول مقصد نتیجه فیلتر نشان داده می شود. بعنوان مثال در جدول dimdate یک سال موردنظر را فیلتر می کنید و فروش آن سال را در جدول factinternetsales مشاهده خواهید کرد.

relation

این جهت ارتباط مهم می باشد و از مبدا به مقصد قابلیت فیلترینگ دارد و برعکس آن فیلترینگ امکان پذیر نیست.

دقت کنید در بعضی وقتها باید جهت این ارتباط را دو طرفه لحاظ کنید البته به ندرت این حالت پیش می آید، برای آشنایی با این مدل می توانید از کتاب آقای رضا راد نمونه مثالها را مطالعه بفرمایید. برای دو طرفه کردن ارتباط روی آن ارتباط کلیک کرده و در صفحه edit relationship در قسمت cross filter direction گزینه both را انتخاب کنید.

نکته : اگر جدولی را از طریق enter date خودتان در پاور بی آی ساختید می توانید در صفحه پاور کوئری، سمت راست صفحه در قسمت steps روی گزینه source دبل کلیک کرده و دیتای وارد شده را تغییر دهید. ولی روی جداولی که از طریق get data فراخوانی کرده اید نمی توانید این تغییرات را بدهید.

فرق ارتباط active  و inactive

همیشه بین دو جدول یک ارتباط اکتیو وجود دارد ولی اگر بخواهید بیشتر از یک ارتباط در دیتا مدل خود بین جداول تعریف کنید ارتباطهای بعدی را غیرفعال یعنی inactive لحاظ می کند. همانطور که در شکل زیر می بینید ارتباطهای غیرفعال بصورت نقطه چین رسم می شوند. و در پاور بی آی ویژوالها و محاسبات براساس ارتباط فعال انجام می شوند.

inactive relationship

برای انجام محاسبات بر مبنای ارتباطهای غیرفعال باید Measure بنویسد و از فرمول Dax استفاده کنید. باید از متدuserelationship  استفاده کنید. برای مثال ارتباط فعال در شکل فروش براساس تاریخ ثبت فاکتور می باشد ولی اگر شما مقدار فروش را براساس تاریخ حمل بخواهید باید یک ارتباط غیرفعال که با نقطه چین رسم شده ایجاد کنید و سپس measure تعریف کنید.

dax

در مدل SSAS تبولار و پاور بی آی :

با توجه به شکل می توانید در دیتا مدل ار مدل star یا ستاره ای استفاده کنید یعنی در جدول فروش هم کد شعبه را لحاظ کنید و هم کد فروشنده را، دقت کنید مدل ستاره ای بهترین مدل در طراحی datawarehouse می باشد. ولی همیشه نمتوان به این حالت طراحی کرد. در مدل ستاره ای هر dimension مستقیم به جدول fact  وصل می شود.

 

relation

در هر شعبه تعدادی فروشنده داریم ولی اگر بخواهید بین شعبه و فروشنده ارتباط برقرار کنید پاور بی ای اجازه نمی دهد همچین ارتباطی ایجاد کنید زیرا یک مسیر بین شعبه و جدول فروش وجود دارد و اگر بین شعبه و فروشنده ارتباط برقرار شود مسیر دیگری هم بین شعبه و فروش ایجاد خواهد شد و پاور بی آی و SSAS تبولار اجازه نمی دهند که بین دو جدول حلقه ایجاد شود و اجازه نمی دهند بین دو جدول بیش از یک مسیر فعال وجود داشته باشد. بنابراین خطا می دهد.

فقط درصورتی می توانید این ارتباط بین شعبه و فروشنده را ایجاد کنید که ارتباط بین شعبه و جدول فروش را پاک کنید.

بنابراین بین دو جدول در پاور بی آی با واسطه یا بی واسطه فقط یک مسیر فعال می تواند وجود داشته باشد.

درباره‌ی المیرا فرمانی

Avatar

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

line chart

ویژگی های نسخه power bi report server may2020-بخش سوم

دو مورد از ویژگیهای جدید ورژن may2020 عبارت است از Dual axis for line charts و Rectangle select for visuals که در اینجا توضیح می دهیم.

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

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

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