Forum Discussion
Help understanding filtering vs parameters
- Anonymous7 years ago
Does this article provide you any insight at all?
https://powerbi.microsoft.com/en-us/blog/deep-dive-into-query-parameters-and-power-bi-templates/
The short answer is because it's usually way faster.
When you create parameters and apply them during query editing, the parameters are (typically) "folded" back to the server. That is, when your query is executed on the server it includes the parameter information. This typically reduces the size of the result set sent back to PBI, and since SQL Server is optimized for SQL (as opposed to PBI which can't really be specialized for a particular data source), the filtering operation is completed much more quickly. Those two factors mean less waiting around for you, assuming you have more than a trivial amount of data to process.
A quick example to illustrate. Imagine executing the following two SQL queries:
`select * from MY_TABLE where MY_COL='foo'`
`select * from MY_TABLE`
Obviously, the second query has the potential to send back a lot more information to PBI. Of course, you could apply the "where MY_COL='foo'" operation in PBI after pulling all the unfiltered data back. But by doing that you're likely going to be pulling a lot more information over the wire, and you're also going to be relying on PBI to filter your SQL data, which is going to be a lot slower than if you had pushed the filter operation to the server and let it do the filter for you.
- ck187 years agoFrequent VisitorAdam, that makes a lot of sense. Thanks. That’s along the lines of what I was thinking but I wasn’t sure if I was on the right track.
- Anonymous7 years agoNot applicable
ck18,
Adding to AdamBQ's post, you are able to use parameter in Power BI Desktop to filter different sources excepting filtering rows in tables.
For example, as you use SQL Server, you can define server/database/table parameters in Power BI Desktop, which allows you import data from different servers/databases/tables dynamically.
Regards,
Lydia
- Syndicate_Admin2 years agoAdministrator
It's the answer I needed, thank you! I worked with tables from SQL, but now I need to do it from ODATA and I find it too slow, almost impossible to work, the same wants, but importing from a different source. Can creating parameters instead of filters solve this? I'm not going to be able to import from SQL anymore anytime soon, so I'm looking for another way to do it.