Forum Discussion
RSCustomDaxFilter Documentation
- 3 years ago
Hi again,
I did get this working yesterday, but today tried to retrace my steps and realised I'd forgotten some of the fiddly details, so just replying now 😅
In short, yes, you should create a query parameter and set its value to that of the existing report parameter (in Dataset Properties > Parameters).
Also, you should avoid Query Designer (in my experience).
For completeness, the full set of steps I followed:
- Create a new Dataset
- In the Dataset Properties dialog box, in Parameters section, click Add.
- Enter Parameter Name
This can be the same name or a different name from the existing report parameter, as it is scoped to the query. - For Parameter Value, select the existing report parameter from the dropdown.
- Go to Query section of Dataset Properties dialog box.
- Specify Name & Data source
- Don't click Query Designer. Enter or paste DAX query into Query dialog box, incorporating the query parameter defined above.
- Click Validate Query to confirm it works, then OK.
I have to give credit to this Reddit comment where the author followed similar steps.
Regards,
Owen
I have not been able to find the official documentation on RSCustomDaxFilter 😞
However, based on this article, it appears that the only possible conditions for RSCustomDaxFilter are:
- EqualToCondition
- NotEqualToCondition
But if you have a single-valued parameter that you are using as the lower-bound of a filter, then you can use syntax like this in the Report Builder DAX query:
MyTable[MyColumn] >= @MyParameter
This assumes "MyParameter" is configured correctly and the type corresponds to MyColumn etc.
Regards,
Owen
Additionally, RSCustomDaxFilter for multi-value parameters is essentially syntactic sugar for this FILTER pattern:
FILTER(
VALUES('MyTable'[Filter Column]),
PATHCONTAINS(@MyParameter, 'MyTable'[Filter Column])
),
as long as you first change the dataset parameter to be a string that joins the parameter array items using the pipe character:
=join(Parameters!MyParameter.Value, "|")and once you have the DAX you can change it as needed.