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
JoaqBI
Regular Visitor

CALCULATETABLE with SUMMARIZE and Dynamic Filter - Is this possible ?

Hi All,

 

I am learning PowerBI and I am trying to create a table taking 3 columns from another table filtering the project number ( Information of another table) based on a selected value.
CurrentProj = SELECTEDVALUE(Proj_CostSummaries[Project_Number])

 

The Code to create the table is the following :

TimeSpent =
CALCULATETABLE(SUMMARIZE(Proj_CostSummaries,Proj_CostSummaries[Period_Date],Proj_CostSummaries[TS_Total_Cost_Project_Currency],Proj_CostSummaries[Project_Number]), FILTER(Proj_CostSummaries,Proj_CostSummaries[Project_Number] = [CurrentProj]))

I can see all the columns but for some reason the FILTER is not doing anything. If you can help me understand the issue that will be great!
 
4 REPLIES 4
jaweher899
Super User
Super User

It looks like the issue is that you are trying to use the selected value of Project_Number as a filter, but you are referencing it using the wrong syntax. In the FILTER function, you should reference CurrentProj directly instead of using the square brackets ([]) around it.

Try changing your code to the following:

TimeSpent = CALCULATETABLE(SUMMARIZE(Proj_CostSummaries,Proj_CostSummaries[Period_Date],Proj_CostSummaries[TS_Total_Cost_Project_Currency],Proj_CostSummaries[Project_Number]), FILTER(Proj_CostSummaries,Proj_CostSummaries[Project_Number] = CurrentProj))

Thanks for your quick response, CurrentProj is defined like this :


CurrentProj = 
SELECTEDVALUE(Proj_CostSummaries[Project_Number])


If I try to change the FILTER with "00688" which is a possible value for Project Number it works 🙄

TimeSpent =
CALCULATETABLE(SUMMARIZE(Proj_CostSummaries,Proj_CostSummaries[Period_Date],Proj_CostSummaries[TS_Total_Cost_Project_Currency],Proj_CostSummaries[Project_Number]), FILTER(Proj_CostSummaries,Proj_CostSummaries[Project_Number] = "00688"))
 
I also tried to show CurrentProj in a card to make sure CurrentProj changes it's value based on the slicer. So I don't know why this is not working.

Thanks again!

create a measure that counts the rows that match the selected project number, and use that measure as a filter in your code.

CurrentProj = COUNTX(FILTER(Proj_CostSummaries,Proj_CostSummaries[Project_Number] = SELECTEDVALUE(Proj_CostSummaries[Project_Number])))

and then use that measure in your filter.

TimeSpent = CALCULATETABLE(SUMMARIZE(Proj_CostSummaries,Proj_CostSummaries[Period_Date],Proj_CostSummaries[TS_Total_Cost_Project_Currency],Proj_CostSummaries[Project_Number]), FILTER(Proj_CostSummaries,CurrentProj >0))

Thanks @jaweher899 but it seems it does not allow me to use CurrentProj without [].
I have also tried the code you suggested and had the following problems :

JoaqBI_1-1674146379139.pngJoaqBI_2-1674146473914.png

 

 

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