Forum Discussion
Get last value in date column
Hello,
I need to perform ISBLANK on a date column where there are blank values, so i thought to change the null values to 01/01/1000.
But, i cant still use IF function to compare the MAX[DATE]-1 = 01/01/1000, as MAX[DATE]-1 returns the actual max date -1 .
For instance if max[DATE] = 08/08/2022, then MAX[DATE]-1 will be 07/08/2022 whereas i want it to return 01/01/1000.
Also is there a way to check for nulls in date column?
Thanks in advance.
Hi Anonymous
go to power query, add an index column, then use the column code below
Column = var _last=MAXX(FILTER('Table','Table'[Index]<EARLIER('Table'[Index]) && 'Table'[Column1]<>BLANK()),[Index]) var _date=MAXX(FILTER('Table','Table'[Index]=_last),[Column1]) return IF(ISBLANK('Table'[Column1]),_date-'Table'[Index]+_last,'Table'[Column1])result
Regards,
OliT
4 Replies
- amitchandak
Super User
Anonymous , Not very clear, Try like
coalesce([Date], date(1000,1,1)
But I doubt power bi support year below 1899
- AnonymousNot applicable
Thanks for the response, but it doesnt solve my problem.
I'll try to explain again. I wish find NAV-CHAESH for MAX date and divide it by the NAV-CHAESH of the previous date and subtract 1 so that i get the percentage difference. This works fine if there's no gap in the dates, but in my case there are some 'null' values. What i wish to achieve is that if the [DATE]-1 is 'null', then look for the next nonblank value.
My measure for this:
Measure =IFERROR(DIVIDE(CALCULATE(SUM(CUF[NAV-CHAESH]),FILTER(ALL(CUF[Date]),CUF[Date]=max(CUF[Date]))),IF(ISBLANK(MAX(CUF[Date])-1),LASTNONBLANKVALUE(CALCULATETABLE(ALLSELECTED(CUF[Date]),CUF[Date]<TODAY()-1),SUM(CUF[NAV-CHAESH])),CALCULATE(sum(CUF[NAV-CHAESH]), FILTER(ALL(CUF[Date]),CUF[Date]=max(cuf[Date])-1))),"NA")-1,"NA")Data set:
- AnonymousNot applicable
In simple words
I wish this measure to return the value 1;
Measure 2 = IF(ISBLANK(MAX(CUF[Date])-1),1,0)as the date 07/08/2022 is blank in my date column;
- OliT
Resolver I
Hi Anonymous
go to power query, add an index column, then use the column code below
Column = var _last=MAXX(FILTER('Table','Table'[Index]<EARLIER('Table'[Index]) && 'Table'[Column1]<>BLANK()),[Index]) var _date=MAXX(FILTER('Table','Table'[Index]=_last),[Column1]) return IF(ISBLANK('Table'[Column1]),_date-'Table'[Index]+_last,'Table'[Column1])result
Regards,
OliT