توابع LEAD و LAG در Power BI
توابع Lead و Lag در Power BI برای دسترسی به مقدار ردیفهای قبلی یا بعدی در یک مجموعه داده استفاده میشوند. این قابلیتها از طریق تابع جدید DAX به نام OFFSET پیادهسازی شدهاند که مشابه توابع LEAD و LAG در SQL عمل میکند.
تعریف تابع OFFSET (جایگزین Lead و Lag)
OFFSET(<offset>, [<relation>], [<orderBy>], [<blanks>], [<partitionBy>], [<matchBy>])
- offset: عدد صحیح مثبت یا منفی برای تعیین فاصله از ردیف فعلی (مثلاً
-1برای ردیف قبلی،+1برای ردیف بعدی). - سایر پارامترها برای کنترل ترتیب، گروهبندی، و رفتار در برابر مقادیر خالی هستند.
عملکرد چگونه است؟
تابع OFFSET به شما اجازه میدهد تا مقدار یک ستون را از ردیف قبلی یا بعدی در یک مجموعه مرتبشده بازیابی کنید. این تابع فقط در محاسبات تصویری (Visual Calculations) قابل استفاده است و برای تحلیلهای زمانی، رتبهبندی، یا مقایسه ردیفها بسیار مفید است.
مثال ساده: Lag (مقدار ردیف قبلی)
فرض کنید در یک ماتریس تصویری، ستون SalesAmount دارید و میخواهید مقدار فروش ماه قبل را برای هر ماه نمایش دهید:
OFFSET(
-1,
ORDERBY(Sales[Month]),
PARTITIONBY(Sales[ProductID]),
MATCHBY(Sales[Month])
)
در این مثال، مقدار فروش از یک ردیف قبل (Lag) بازیابی میشود.
مثال ساده: Lead (مقدار ردیف بعدی)
OFFSET(
1,
ORDERBY(Sales[Month]),
PARTITIONBY(Sales[ProductID]),
MATCHBY(Sales[Month])
)
در این مثال، مقدار فروش از یک ردیف بعدی (Lead) بازیابی میشود.
کاربردهای رایج
- مقایسه فروش ماه جاری با ماه قبل یا بعد
- محاسبه تغییرات بین ردیفها (مثلاً رشد یا کاهش)
- ساخت KPIهای تصویری با ارجاع به ردیفهای قبلی یا بعدی
- تحلیل روندهای زمانی یا رتبهبندی
⚠️ نکات مهم
- تابع
OFFSETفقط در Visual Calculations قابل استفاده است. - اگر ردیف قبلی یا بعدی وجود نداشته باشد، مقدار
BLANK()بازگردانده میشود. - برای عملکرد صحیح، باید از
ORDERBYوMATCHBYبرای تعیین ترتیب و شناسایی ردیف فعلی استفاده کنید.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
