از دو تابع Lead و Lag برای واکشی فرزندان، در همان سطح استفاده میشود. به عبارت دیگر این دو تابع میتوانند برادران قبل و بعد را پیدا کنند.
استفاده از تابع Lead() :
Select { [Date].[Calendar].[Calendar Quarter].[Q1 CY 2006], [Date].[Calendar].[Calendar Quarter].[Q1 CY 2006].lead(2) }on columns, [Measures].[Reseller Sales Amount] on rows From [Adventure Works]
این تابع، دو سطح بعد از نیم فصل اول 2006 را در خروجی می آ ورد. به عبارت دیگر نیم فصل سوم 2006 را بازگشت میدهد .
خروجی به صورت زیر میباشد.
استفاده از تابع Lag() :
Select { [Date].[Calendar].[Calendar Quarter].[Q1 CY 2006], [Date].[Calendar].[Calendar Quarter].[Q1 CY 2006].lag(-2) } on columns, [Measures].[Reseller Sales Amount] on rows From [Adventure Works]
استفاده از تابع Lead با پارامتر منفی مشابه تابع Lag با پارامتر مثبت میباشد.
Select { [Date].[Calendar].[Calendar Quarter].[Q3 CY 2006].lead(-2), [Date].[Calendar].[Calendar Quarter].[Q3 CY 2006] }on columns, [Measures].[Reseller Sales Amount]on rows From [Adventure Works]
یا
Select { [Date].[Calendar].[Calendar Quarter].[Q3 CY 2006].lag(2), [Date].[Calendar].[Calendar Quarter].[Q3 CY 2006] }on columns, [Measures].[Reseller Sales Amount] on rows From [Adventure Works]
در کوئری زیر یک حالت ترکیبی بین عملگر : و تابع حرکت در فرزندان در سطحی مشابه را مشاهده میکنیم.
Select [Date].[Calendar].[Calendar Quarter].[Q1 CY 2006] : [Date].[Calendar].[Calendar Quarter].[Q1 CY 2006].lead(2) on columns, [Measures].[Reseller Sales Amount] on rows From [Adventure Works]
این نمودار به درک بهتر این مثال کمک خواهد کرد
خروجی به شکل زیر میباشد.