Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Filter by Today

I have a table that has columns ValidFromDate, EndDate, ResultID, and ResulType.
I want to filter the table by today's date, and today's value should contain
Today >= ValidFromDate & Today<= EndDate.
For example, In SQL we can use the query
case when getdate() >= ValidFromDate and GETDATE() <= EndDate then 1 else 0 end as active

Is there a way to do that in Power BI?
Regards,

  • Anonymous 

    Are you trying to create a copy of the data or calculate a measure with the filter applied?

    For a copy of the table you could use

    Table = 
    FILTER ( YourTable,
        YourTable[ValidFromDate] <= TODAY() && YourTable[EndDate] >= TODAY()
    )

    This code would go in as a calculated table. 

    If you are doing a calculation and want to apply the filter to the calc it looks like this.

    Measure = 
    CALCULATE(
        COUNTROWS( YourTable ),
        YourTable[ValidFromDate] <= TODAY(),
        YourTable[EndDate] >= TODAY()
    )

     

    If this solves your issues please mark it as the solution. Kudos 👍 are nice too.

  • Hi,

    Using the Query editor, you should create a single column of Date from the 2 date columns.  Then build a calendar table and build a relationship from the Date column of the transformed table to the Date column of the Calendar Table.  Build a Date slicer from the Date column of the Calendar Table.

    Hope this helps.

2 Replies

  • Hi,

    Using the Query editor, you should create a single column of Date from the 2 date columns.  Then build a calendar table and build a relationship from the Date column of the transformed table to the Date column of the Calendar Table.  Build a Date slicer from the Date column of the Calendar Table.

    Hope this helps.

  • Anonymous 

    Are you trying to create a copy of the data or calculate a measure with the filter applied?

    For a copy of the table you could use

    Table = 
    FILTER ( YourTable,
        YourTable[ValidFromDate] <= TODAY() && YourTable[EndDate] >= TODAY()
    )

    This code would go in as a calculated table. 

    If you are doing a calculation and want to apply the filter to the calc it looks like this.

    Measure = 
    CALCULATE(
        COUNTROWS( YourTable ),
        YourTable[ValidFromDate] <= TODAY(),
        YourTable[EndDate] >= TODAY()
    )

     

    If this solves your issues please mark it as the solution. Kudos 👍 are nice too.