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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
v_rome
Frequent Visitor

How to return a Tableobject using IF DAX-Function

Hello I'm trying to get a Tableobject back from an IF-Function, to use it in a Slicer Visual.

I have created a DateTable with one Column of Dates. Now I want to get only specifiy Date Ranges based on my IF-Function. 

If I'm going to provide only the DATESINPERIOD Function without IF it works, but I want to have a logic based on todays date. 

 

Can somebody say what I'm missing? 

I get always this Error:  The expression specified in the query is not a valid table expression.

 

Thanks in advance to the community 🙂 

 

Table Expression.PNG

1 ACCEPTED SOLUTION

Yep. IF won't return tables, unfortunately.

 

@v_rome Here's one way to work around that limitation for your specific case:

Check1 =
VAR lastDayOfMonth = EOMONTH ( TODAY (), 0 )
VAR shift = IF ( lastDayOfMonth - 7 <= TODAY (), 0, -1 )
VAR filter1 =
    DATESINPERIOD ( DateTable[Date], EOMONTH ( TODAY (), shift ), -1, YEAR )
RETURN
    filter1

View solution in original post

4 REPLIES 4
parry2k
Super User
Super User

@v_rome that's exactly what I recommended. Just in the future, please paste the code instead of pasting the images that way it is easy to provide the solution. Just my 2 cents.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

parry2k
Super User
Super User

@v_rome @amitchandak you cannot return the table using the IF Function. The best approach would be to calculate the start and end date based on your if condition and then in the return using these variables.

 

Follow us on LinkedIn

 

Learn about conditional formatting at Microsoft Reactor

My latest blog post The Power of Using Calculation Groups with Inactive Relationships (Part 1) (perytus.com) I would  Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos to whoever helped to solve your problem. It is a token of appreciation!

 

Visit us at https://perytus.com, your one-stop-shop for Power BI-related projects/training/consultancy.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Yep. IF won't return tables, unfortunately.

 

@v_rome Here's one way to work around that limitation for your specific case:

Check1 =
VAR lastDayOfMonth = EOMONTH ( TODAY (), 0 )
VAR shift = IF ( lastDayOfMonth - 7 <= TODAY (), 0, -1 )
VAR filter1 =
    DATESINPERIOD ( DateTable[Date], EOMONTH ( TODAY (), shift ), -1, YEAR )
RETURN
    filter1
amitchandak
Super User
Super User

@v_rome , I tried the same and got same error, seem like it is not allowing to return table using if

 

@parry2k , any thoughts on this.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors