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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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())

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
Sept PBI Carousel

Power BI Monthly Update - September 2024

Check out the September 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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

Top Solution Authors
Top Kudoed Authors