The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hi,
I have 2 columns Period [YearMonth] which is a date filter and MovementSnapshot[AppointmentDatekey].
I would like a measure to datediff the Month if MovementSnapshot[AppointmentDatekey] is not blank or -1.
I have...
Solved! Go to Solution.
@Durbslaw
Please try this as a measure
NewColumn =
IF (
'MovementSnapshot'[AppointmentDateKey] <> BLANK ()
&& 'MovementSnapshot'[AppointmentDateKey] <> -1,
VAR CurrentMovement =
MAX ( 'MovementSnapshot'[AppointmentDateKey] )
VAR CurrentPeriod =
MAX ( 'Period'[YearMonth] )
VAR MovementYear =
VALUE ( LEFT ( CurrentMovement, 4 ) )
VAR MovementMonth =
VALUE ( MID ( CurrentMovement, 5, 2 ) )
VAR PeriodYear =
VALUE ( LEFT ( CurrentPeriod, 4 ) )
VAR PeriodMonth =
VALUE ( RIGHT ( CurrentPeriod, 2 ) )
RETURN
( MovementYear - PeriodYear ) * 12 + MovementMonth - PeriodMonth
)
@Durbslaw
Sorry my mistake. Please try
NewColumn =
VAR CurrentMovement =
MAX ( 'MovementSnapshot'[AppointmentDateKey] )
VAR CurrentPeriod =
MAX ( 'Period'[YearMonth] )
VAR MovementYear =
VALUE ( LEFT ( CurrentMovement, 4 ) )
VAR MovementMonth =
VALUE ( MID ( CurrentMovement, 5, 2 ) )
VAR PeriodYear =
VALUE ( LEFT ( CurrentPeriod, 4 ) )
VAR PeriodMonth =
VALUE ( RIGHT ( CurrentPeriod, 2 ) )
RETURN
IF (
CurrentMovement <> BLANK ()
&& CurrentMovement <> -1,
( MovementYear - PeriodYear ) * 12 + MovementMonth - PeriodMonth
)
@Durbslaw
Please try this as a measure
NewColumn =
IF (
'MovementSnapshot'[AppointmentDateKey] <> BLANK ()
&& 'MovementSnapshot'[AppointmentDateKey] <> -1,
VAR CurrentMovement =
MAX ( 'MovementSnapshot'[AppointmentDateKey] )
VAR CurrentPeriod =
MAX ( 'Period'[YearMonth] )
VAR MovementYear =
VALUE ( LEFT ( CurrentMovement, 4 ) )
VAR MovementMonth =
VALUE ( MID ( CurrentMovement, 5, 2 ) )
VAR PeriodYear =
VALUE ( LEFT ( CurrentPeriod, 4 ) )
VAR PeriodMonth =
VALUE ( RIGHT ( CurrentPeriod, 2 ) )
RETURN
( MovementYear - PeriodYear ) * 12 + MovementMonth - PeriodMonth
)
syntax error...
@Durbslaw
Sorry my mistake. Please try
NewColumn =
VAR CurrentMovement =
MAX ( 'MovementSnapshot'[AppointmentDateKey] )
VAR CurrentPeriod =
MAX ( 'Period'[YearMonth] )
VAR MovementYear =
VALUE ( LEFT ( CurrentMovement, 4 ) )
VAR MovementMonth =
VALUE ( MID ( CurrentMovement, 5, 2 ) )
VAR PeriodYear =
VALUE ( LEFT ( CurrentPeriod, 4 ) )
VAR PeriodMonth =
VALUE ( RIGHT ( CurrentPeriod, 2 ) )
RETURN
IF (
CurrentMovement <> BLANK ()
&& CurrentMovement <> -1,
( MovementYear - PeriodYear ) * 12 + MovementMonth - PeriodMonth
)
error
This will not work as a measure. Try having a calculated column. Something like:
The location of the closing bracket of not should be after the "1". But even though I don't believe this is a correct code. Please provide more details about your data.
Hi @Durbslaw
Please use the following formula
NewColumn =
IF (
'MovementSnapshot'[AppointmentDateKey] <> BLANK ()
&& 'MovementSnapshot'[AppointmentDateKey] <> -1,
VAR MovementYear =
VALUE ( LEFT ( 'MovementSnapshot'[AppointmentDateKey], 4 ) )
VAR MovementMonth =
VALUE ( MID ( 'MovementSnapshot'[AppointmentDateKey], 4, 2 ) )
VAR PeriodYear =
VALUE ( LEFT ( 'Period'[YearMonth], 4 ) )
VAR PeriodMonth =
VALUE ( RIGHT ( 'Period'[YearMonth], 2 ) )
RETURN
( MovementYear - PeriodYear ) * 12 + MovementMonth - PeriodMonth
)
Aplogies for the non clarity, I need a measure as I am using SSAS as a source and cannot create columns.