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

Preparing for a certification exam? Ask exam experts all your questions on May 15th. Register now.

Reply
KristofDM
Frequent Visitor

Prevent future calculations in a measure

I made a measure to calculate efficiency. It works ok but as soon as future quarters are added to the filter section of the report, the measure shows 100 efficiency (1) . Is there a way to prevent logic from being triggered on future data that is actually non-existent?
As i start the measure with 1-, the result is 1 if no data is returned.

 

any idea would be greatly appreciated! ps: I indeed stole the formula from an excel sheet 🙂 

 

 

PBIQUestion.jpg

 


testmeasure= 1-(DIVIDE(
  (SUM
   (table[xdays])
   ),
  (SUM
   (table[Durationday])
   -SUM(TABLE[OtherDay])
   )
  )
 )

 

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

@KristofDM - 

 

Try something along the lines of:

 

 

testmeasure= 
VAR __measure = 
1-(DIVIDE(
  (SUM
   (table[xdays])
   ),
  (SUM
   (table[Durationday])
   -SUM(TABLE[OtherDay])
   )
  )
 )
RETURN
  IF(<some condition that identifies future>,BLANK(),__measure)

 

For example, the condition could be MAX('Table'[Date]) > TODAY()

 



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

3 REPLIES 3
amitchandak
Super User
Super User

@KristofDM , something like this

testmeasure= calculate(1-(DIVIDE(
(SUM
(table[xdays])
),
(SUM
(table[Durationday])
-SUM(TABLE[OtherDay])
)
)
), date[date] <today())

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Greg_Deckler
Super User
Super User

@KristofDM - 

 

Try something along the lines of:

 

 

testmeasure= 
VAR __measure = 
1-(DIVIDE(
  (SUM
   (table[xdays])
   ),
  (SUM
   (table[Durationday])
   -SUM(TABLE[OtherDay])
   )
  )
 )
RETURN
  IF(<some condition that identifies future>,BLANK(),__measure)

 

For example, the condition could be MAX('Table'[Date]) > TODAY()

 



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

thank you all for your sugestions, the VAR __measure was indeed what i was missing!

thanks @Greg_Deckler 

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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