Forum Discussion
PowerBI Report builder
- 4 months ago
Hi homelander123, Yeah sure.
EVALUATE FILTER(SELECTCOLUMNS('Contacts',"Date", 'Contacts'[Date], "Name", 'Contacts'[Name], "ContactEmail", 'Contacts'[Contact Email], "Number", 'Contacts'[Number]), 'Contacts'[Date] >= @StartDateParm && ''Contacts'[Date] <= @EndDateParm && 'Contacts'[Name] = @NameParm
You can use this way to keeping the dataset lean, and applying parameters directly and ensuring performance is better than pulling all the columns.
homelander123, As you mentioned, the source is a semantic model connected to a dataflow, you cannot use SQL syntax. Paginated reports against semantic models use DAX queries. Here’s a detailed approach:
Switch to text mode in Report Builder: In dataset properties, change from the graphical query designer to text mode. This gives you control to write DAX directly instead of relying on the designer’s auto‑generated query.
Use DAX query syntax: All queries against a semantic model must start with EVALUATE. SUMMARIZECOLUMNS defines which fields you want to bring in. ADDCOLUMNS lets you add calculated measures. FILTER applies your parameters directly.
Bind parameters manually: In dataset properties, map each report parameter to the DAX query parameter. This avoids cascading filters because parameters are applied independently in the FILTER clause.
Reduce dataset size: Instead of pulling all 50+ columns, only include the fields required for the report layout. Use SELECTCOLUMNS or SUMMARIZECOLUMNS to keep the query lean.
Leverage measures in the semantic model: If you already have measures defined, call them in your query rather than recalculating in the report. This pushes computation to the model engine.
Test incrementally: Start with a small query (few columns, one parameter). Validate performance, then expand gradually. This helps isolate which parameters or columns cause slowdowns.
vigneshkumarcvk Can you please give me a sample syntax for the fields Date, Name, Contact email, and number.
Date and name are parameters as well
- vigneshkumarcvk4 months agoResolver I
Hi homelander123, Yeah sure.
EVALUATE FILTER(SELECTCOLUMNS('Contacts',"Date", 'Contacts'[Date], "Name", 'Contacts'[Name], "ContactEmail", 'Contacts'[Contact Email], "Number", 'Contacts'[Number]), 'Contacts'[Date] >= @StartDateParm && ''Contacts'[Date] <= @EndDateParm && 'Contacts'[Name] = @NameParm
You can use this way to keeping the dataset lean, and applying parameters directly and ensuring performance is better than pulling all the columns.