RELATEDTABLE function (DAX)
تابع RELATEDTABLE در زبان DAX یکی از توابع مهم برای کار با روابط بین جداول در Power BI است. این تابع به شما امکان میدهد تا تمام ردیفهای مرتبط از یک جدول دیگر را بازیابی کرده و روی آنها محاسبات انجام دهید.
یک عبارت جدولی را در چارچوبی که توسط فیلترهای داده شده تغییر یافته است، ارزیابی میکند.
Syntax
RELATEDTABLE(<tableName>)
Parameters
| Term | تعریف |
|---|---|
tableName |
نام یک جدول موجود با استفاده از سینتکس استاندارد DAX. نمیتواند یک عبارت باشد. |
مقدار برگشتی
جدولی از مقادیر.
توضیحات
- تابع RELATEDTABLE زمینهای را که دادهها در آن فیلتر میشوند تغییر میدهد و عبارت را در زمینه جدیدی که شما مشخص میکنید ارزیابی میکند.
- این تابع یک میانبر برای تابع CALCULATETABLE بدون عبارت منطقی است.
- این تابع برای استفاده در حالت DirectQuery هنگام استفاده در ستونهای محاسبهشده یا قوانین امنیتی سطح ردیف (RLS) پشتیبانی نمیشود.
مثال
مثال زیر از تابع RELATEDTABLE برای ایجاد یک ستون محاسبهشده با فروش اینترنتی در جدول دستهبندی محصولات استفاده میکند:
= SUMX( RELATEDTABLE('InternetSales_USD')
, [SalesAmount_USD])
جدول زیر نتایج را نشان میدهد:
| Product Category Key | Product Category AlternateKey | Product Category Name | Internet Sales |
|---|---|---|---|
| 1 | 1 | Bikes | $28,318,144.65 |
| 2 | 2 | Components | |
| 3 | 3 | Clothing | $339,772.61 |
| 4 | 4 | Accessories | $700,759.96 |
تفاوت RELATED و RELATEDTABLE
| تابع | کاربرد | جهت رابطه |
|---|---|---|
RELATED() |
بازیابی یک مقدار از جدول مرتبط | از “چند” به “یک” |
RELATEDTABLE() |
بازیابی مجموعهای از ردیفها از جدول مرتبط | از “یک” به “چند” |
مثال کاربردی
فرض کنید دو جدول دارید:
- جدول Customers با ستون
CustomerID - جدول Orders با ستونهای
OrderID,CustomerID,OrderAmount
و بین این دو جدول یک رابطه یکبهچند از Customers به Orders وجود دارد.
اکنون میخواهید در جدول Customers، مجموع سفارشهای هر مشتری را محاسبه کنید:
TotalCustomerSales =
CALCULATE(
SUM(Orders[OrderAmount]),
RELATEDTABLE(Orders)
)
در این مثال، تابع RELATEDTABLE(Orders) تمام سفارشهای مرتبط با هر مشتری را بازیابی میکند و سپس مجموع آنها محاسبه میشود.
استفاده در توابع پیمایشی
تابع RELATEDTABLE اغلب در ترکیب با توابعی مانند COUNTROWS, SUMX, AVERAGEX استفاده میشود:
مثال: شمارش تعداد سفارشهای هر مشتری
OrderCount =
COUNTROWS(RELATEDTABLE(Orders))
نکات مهم
- تابع
RELATEDTABLEفقط زمانی کار میکند که رابطهای بین دو جدول در مدل دادهای وجود داشته باشد. - جهت رابطه باید از جدول فعلی به جدول مقصد باشد (از “یک” به “چند”).
- اگر رابطهای وجود نداشته باشد یا جهت آن نادرست باشد، تابع خطا میدهد یا نتیجهای باز نمیگرداند.
کاربردهای رایج
- محاسبه مجموع یا میانگین مقادیر از جدول مرتبط
- شمارش تعداد ردیفهای مرتبط
- فیلتر کردن دادهها بر اساس روابط بین جداول
- ساخت KPI و شاخصهای تحلیلی در سطح مشتری، محصول یا منطقه
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
