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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Sohan
Helper III
Helper III

Can't filter calculated column

I have the following calculated column, however I cannot seem to filter this data with a slicer. For example, when I try to slice it based on a UserID, it does not provide the correct results, even though there is a relation between FactAppointment[UserID] and DimUser[UserID]. The same holds for FactAppointment[LocationID] and DimLocation[LocationID]. 

Does anyone know how I can resolve this?

 

OWPositionCorrected =
VAR _currentDate = TestTable[Date]
VAR _currentDatePlusSixMonths = EDATE(_currentDate, 6)

RETURN

CALCULATE(
DISTINCTCOUNT(FactAppointment[AppointmentID]),
FILTER(FactAppointment, FactAppointment[Date appointment] >= _currentDate && 
FactAppointment[Date appointment] <= _currentDatePlusSixMonths && 
FactAppointment[Date booking] <= _currentDate)
)

 

4 REPLIES 4
v-tangjie-msft
Community Support
Community Support

Hi @Sohan ,

 

Slicers cannot be used in calculated columns.  They can, however, be used in measures.

Slicers are Filters, and thus use filter context.  Filters can change dynamically based on what is selected, and how filter interactions are defined.  Since measures are dynamic fields calculated on demand, they can leverage this filter context to shape results.

 

So, you should use a measure instead of the calculated column if you would like to change the calculation in a table when the slicer value changed. as follows:

 

OWPositionCorrected =
VAR _currentDate = Max(TestTable[Date])
VAR _currentDatePlusSixMonths = EDATE(_currentDate, 6)

RETURN

CALCULATE(
DISTINCTCOUNT(FactAppointment[AppointmentID]),
FILTER(FactAppointment, MAX(FactAppointment[Date appointment]) >= _currentDate && 
MAX(FactAppointment[Date appointment]) <= _currentDatePlusSixMonths && 
MAX(FactAppointment[Date booking] )<= _currentDate)
)

 

 

Best Regards,

Neeko Tang

If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

@v-tangjie-msft When I change it to a measure, the result change and become incorrect. The measure is supposed to count the distinct appointments per row in the calendar table for the coming 6 months, where the booking date may not be larger than than date its calculated for. 

 

Any idea how I can achieve this with a measure?

Hi @Sohan ,

 

There doesn't look like there's anything wrong with the measure formula, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and model relationships and special examples. It is better if you can share a simplified pbix file. Thank you.

 

Best Regards,

Neeko Tang

If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

November Carousel

Fabric Community Update - November 2024

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

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.