Forum Discussion
Help understanding filtering vs parameters
I am new to Power BI and although I am also new to SQL, I am trying to use them together. I finally figured out how to create parameters and how to apply the parameter (during the query editing?). But I simply do not understand why I went through the effort of creating a query list and filtering at the start, versus filtering during visualization. What I have read all seems very convoluted. I'd greatly appreciate if someone can break it down for me in layman's term. Thank you.
- 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/
6 Replies
- AnonymousNot applicable
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/- ck18Frequent VisitorRoss, I will continue reading when I’m off work. That was one of the articles I came across and skimmed but I got confused at the url and OD feed part because I wasn’t sure how to create the url. But it does give me some clarity. I will read past that point to see if I can gain more clarity.
- AdamBQNew Member
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.
- ck18Frequent 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.
- AnonymousNot 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_AdminAdministrator
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.