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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare 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
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

Check out the October 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.

October NL Carousel

Fabric Community Update - October 2024

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