Forum Discussion
Filter table based on date ranger slicer
I have a transaction table with several date columns and also a date dimension table defined in Power BI.
For example, the transaction table contains Order, Customer, Country, OrderStart,OrderEnd,ShipmentStart,ShipmentEnd,DeliveryStart,DeliveryEnd. What I want is to show only those records with Order, Customer, Country information in a table visual where all of these dates falls within a chosen date. The chosen date should be from a Slicer which I have it built from the Date dimension table.
I tried this approach of creating a measure and placing this on visual level filters but doesnt give me all records in the output. How can this situation be handled efficiently.
IsValid =
var sDate = max('01. Dim_Date'[Date])
var order_from = SELECTEDVALUE('04. Fact_RO_Contract'[OrderStart])
var order_to = SELECTEDVALUE('04. Fact_RO_Contract'[OrderEnd])
var delivery_from = SELECTEDVALUE('04. Fact_RO_Contract'[DeliveryStart])
var delivery_to = SELECTEDVALUE('04. Fact_RO_Contract'[DeliveryEnd])
RETURN IF(order_from <= sDate &&order_to >= sDate && delivery_from <= sDate && delivery_to >= sDate, 1,0)Hi Anonymous,
Thank you for reaching out to the Microsoft fabric community forum. Thank you bhanu_gautam, for your input on this issue.After thoroughly reviewing the details you provided, I was able to reproduce the scenario, I have used it as sample data on my end and successfully implemented it.
Dax Measure:
IsWithinSelectedRange = VAR SelectedStart = MIN('01. Dim_Date'[Date]) VAR SelectedEnd = MAX('01. Dim_Date'[Date]) RETURN IF ( MIN(Fact_RO_Contract'[OrderStart]) >= SelectedStart && MAX(Fact_RO_Contract'[OrderEnd]) <= SelectedEnd && MIN(Fact_RO_Contract'[DeliveryStart]) >= SelectedStart && MAX(Fact_RO_Contract'[DeliveryEnd]) <= SelectedEnd && MIN(Fact_RO_Contract'[ShipmentStart]) >= SelectedStart && MAX(Fact_RO_Contract'[ShipmentEnd]) <= SelectedEnd, 1, 0 )Output:
If this post helps, then please give us ‘Kudos’ and consider Accept it as a solution to help the other members find it more quickly.
Thank you.