Forum Discussion
Cannot apply VALUE on FILTERed table
Hi Anonymous,
Based on test, it may caused by the null value in your data, you could refer to below steps:
Sample data:
Create below measure:
measure = AVERAGEX ( FILTER(ALL(data),data[Type_Question] = "Numerical_Question"&&'data'[Answer]<>BLANK()), VALUE([Answer]))
Result:
You could also download the pbix file to have a view.
Regards,
Daniel He
Hello Daniel,
thank you for your answer, but it is still not working.
You are right, I suspected some null values here, because there are.. but I know for sure that the condition in my filter is sufficient to filter out all non numerical value.
Nevertheless, I tried your condition and I still get the same error.
To me, the problem is that the VALUE() function doesn't apply only on the filtered values (no matter the condition stated), but to all rows of my 'data' table..
How can I refer to my filtered table instead?
something like :
VALUE(data_filtered[Answer])
You see my point?
- v-danhe-msft7 years agoMicrosoft Employee
Hi Anonymous,
Could you please share some sample data to have a test?
Regards,
Daniel He
- Anonymous7 years agoNot applicable
Hello Daniel,
Question Answer Type Question 1 5 Numerical Question 2 3 Numerical Question 3 YES Other
Here you have a sample.
My goal is to have the average of all the numerical values.
Please note there are no empty Answer value in the filtered table, I checked it.
You do have empty rows in the full table though, that's the key element here.
I found a turnaround for this problem and I changed the query as suggested, in order to filter the 'Answer' column and format it prior to doing any DAX.
It work fine.. but I don't want to do this. I want to be able to filter it with DAX.
Given what I said earlier, it seems that the VALUE() function doesn't apply on my filtered table.. but on the full table, which have empty values.
If you have any other solutions I'm willing to hear it.
Have a nice day
- Anonymous7 years agoNot applicable
You cannot mix data types in the same column like you do with your Answer. So it will default to text in this case, and you cannot average text. Easiest thing to do is in Power Query, Reference the Main query, but filter down to just Numerical and then a simple average function over that answer column after you change the data type to a numerical one. I guess you could create a new column in the same table to only give a number, but why make it more complicated then it needs be?