Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
jmcph
Helper III
Helper III

Conversion of Firstnonblankvalue

Hi everyone, 

 

I am working with DAX with Power Pivot in excel, but i think it does not support the Firstnonblankvalue formula. I need help on converting this formula that will work on excel

 

BegInventory = Firstnonblankvalue ( Dateadd ( 'Calendar'[Date] , - 1, DAY ) , [EndInventory] ) 

 

whereas the [EndInventory] is EndInventory = Calculate ( Sum ( Inventory ) , Lastnonblank ( 'Calendar'[Date] , Sum (Inventory)))

 

The [EndInventory] works just fine as I intended, but i cannot think of the otherway around. 

 

I hope you can help me. 

 

Moving to Power BI is currently not an option as of now. 

 

Thank you! 

1 ACCEPTED SOLUTION
MFelix
Super User
Super User

Hi @jmcph ,

 

The syntax FIRSTNONBLANKVALUE is not available on the Excel try the following measure:

=
VAR temp_Table =
    SUMMARIZE ( ALL ( Calendar ); Calendar[Date]; "End_Inventory"; SUM ( Table1[Value] ) )
VAR MAXIMUM_DATE =
    MAXX (
        FILTER ( temp_Table; [Date] < MAX ( [Date] ) && [End_Inventory] <> BLANK () );
        [Date]
    )
VAR Total_Previous_Day =
    FILTER ( temp_Table; [Date] = MAXIMUM_DATE )
RETURN
    SUMX ( Total_Previous_Day; [End_Inventory] )

This should pick the maximum date before the selected date that has a value and return the ending inventory on that day,

 

If this does not work can you share a smaple file please?


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

1 REPLY 1
MFelix
Super User
Super User

Hi @jmcph ,

 

The syntax FIRSTNONBLANKVALUE is not available on the Excel try the following measure:

=
VAR temp_Table =
    SUMMARIZE ( ALL ( Calendar ); Calendar[Date]; "End_Inventory"; SUM ( Table1[Value] ) )
VAR MAXIMUM_DATE =
    MAXX (
        FILTER ( temp_Table; [Date] < MAX ( [Date] ) && [End_Inventory] <> BLANK () );
        [Date]
    )
VAR Total_Previous_Day =
    FILTER ( temp_Table; [Date] = MAXIMUM_DATE )
RETURN
    SUMX ( Total_Previous_Day; [End_Inventory] )

This should pick the maximum date before the selected date that has a value and return the ending inventory on that day,

 

If this does not work can you share a smaple file please?


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors