Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi All
I need help trying to fill values down based on the date I have for each staff.
Please see the example below with the expected column to be created along with the link to the sample data:
Sample Data for Data Fill Down
Thanks in advance.
Solved! Go to Solution.
Please try
Employment Status New =
VAR CurrentDate = TableName[Date]
VAR CurrentStatus = TableName[Employment Status]
VAR CurrentIdTable =
CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[ID] ) )
VAR NoBlanksTable =
FILTER ( CurrentIdTable, TableName[Employment Status] <> BLANK () )
VAR NoBlanksTableBefore =
FILTER ( NoBlanksTable, TableName[Date] < CurrentDate )
VAR LastDateWithData =
MAXX ( NoBlanksTableBefore, TableName[Date] )
VAR LastStatus =
MAXX (
FILTER ( NoBlanksTableBefore, TableName[Date] = LastDateWithData ),
TableName[Employment Status]
)
RETURN
IF ( ISBLANK ( CurrentStatus ), LastStatus, CurrentStatus )
Just wanted to add that my code retrieves the last available value before the blank incase you have multiple available values per Id with blanks inbetween the values.
@tamerj1 Thank you but I forgot to mention that staff can have multiple employment status which needs to fill in until the next one if there is. Currently, it does not do that.
@rush Easy solution is below:
@rush Try this column
Hey @rush ,
Here, try this:
New Value =
VAR LastNonBlankID =
CALCULATE (
LASTNONBLANK ( FillDown[ID], 1 ),
FILTER (
ALL ( FillDown),
FillDown[ID] <= EARLIER ( FillDown[ID])
&& NOT ( ISBLANK ( FillDown[Employment Status] ) )
)
)
RETURN
CALCULATE (
Max ( FillDown[Employment Status] ),
FILTER ( ALL ( FillDown ), FillDown[ID] = LastNonBlankID )
)
Outcome:
@PC2790 Thank you but I forgot to mention that staff can have multiple employment status which needs to fill in until the next one if there is. Currently, it does not do that.
Hi @rush
you can use
Employment Status New =
VAR CurrentStatus = TableName[Employment Status]
VAR CurrentIdTable =
CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[ID] ) )
VAR NoBlanksTable =
FILTER ( CurrentIdTable, TableName[Employment Status] <> BLANK () )
VAR LastDateWithData =
MAXX ( NoBlanksTable, TableName[Date] )
VAR LastStatus =
MAXX (
FILTER ( NoBlanksTable, TableName[Date] = LastDateWithData ),
TableName[Employment Status]
)
RETURN
IF ( ISBLANK ( CurrentStatus ), LastStatus, CurrentStatus )
@tamerj1 Thank you but I forgot to mention that staff can have multiple employment status which needs to fill in until the next one if there is. Currently, it does not do that.
Please try
Employment Status New =
VAR CurrentDate = TableName[Date]
VAR CurrentStatus = TableName[Employment Status]
VAR CurrentIdTable =
CALCULATETABLE ( TableName, ALLEXCEPT ( TableName, TableName[ID] ) )
VAR NoBlanksTable =
FILTER ( CurrentIdTable, TableName[Employment Status] <> BLANK () )
VAR NoBlanksTableBefore =
FILTER ( NoBlanksTable, TableName[Date] < CurrentDate )
VAR LastDateWithData =
MAXX ( NoBlanksTableBefore, TableName[Date] )
VAR LastStatus =
MAXX (
FILTER ( NoBlanksTableBefore, TableName[Date] = LastDateWithData ),
TableName[Employment Status]
)
RETURN
IF ( ISBLANK ( CurrentStatus ), LastStatus, CurrentStatus )
Hi Tamerj,
I tried your solution and it was working well all over the table but for some reason when the before and after status 'is_available' is ZERO, the calculated column doesn't work
I had an extensive look at it and still not sure if the issue is a result of the engine confusion between 0 and blank. It seems to me that you need to addd the [MAX] and [MIN] columns to the ALLEXCEPT arguments. Please do that and let me know if it works.
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
63 | |
62 | |
52 | |
39 | |
24 |
User | Count |
---|---|
84 | |
57 | |
45 | |
42 | |
37 |