This depends on what you will be filtering on. So - if you are going to use equivalence, you can not query on load, and query on the change of the field that you are filtering with. Here's a simple example: You have a list with data that has a "State" column, and the values are WA, OR, ID, CA, etc. In your form, there is a field where the user selects a state. On that field, you'd add a rule to set the query field for your list secondary data source to the current field value (i.e., WA, ID, OR, CA, etc.) and then you'd run the list query. All the data returned from the list will match on State. If you don't have equivalence for your filtering - you need something more complex like State equals OR or State equals WA, then you simply have to query for all the data and use conditional formatting to determine what to display. If you are using on-prem SharePoint, you may be able to use the OData services for this as well, but SharePoint Online doesn't let us query SharePoint web services from InfoPath out of the box.
Hilary Stoupa
