sharepoint online – Delegation warning in PowerApps for SortByColumns

In order to avoid the delegation limitation you want to avoid filtering SharePoint lists directly. Instead, you can simply query a variable that contains your entire list in memory.

The only tricky part here is to get the entire SharePoint list first. In order to do it, you want to get the list items in chunks of 200-or-so items. Consider this example:

// loading all meetings to memory:
ClearCollect(InMemoryMeetings,
  Filter('Meetings', ID > 0,  ID <= 200),
  Filter('Meetings', ID > 200, ID <= 400), 
  Filter('Meetings', ID > 400, ID <= 600), 
  Filter('Meetings', ID > 600, ID <= 800),
  Filter('Meetings', ID > 800, ID <= 1000),
  Filter('Meetings', ID > 1000, ID <= 1200),
  Filter('Meetings', ID > 1200, ID <= 1400),
  Filter('Meetings', ID > 1400, ID <= 1600),
  Filter('Meetings', ID > 1600, ID <= 1800),
  Filter('Meetings', ID > 1800, ID <= 2000),
  Filter('Meetings', ID > 2000, ID <= 2200),
  Filter('Meetings', ID > 2200, ID <= 2400),
  Filter('Meetings', ID > 2400, ID <= 2600),
  Filter('Meetings', ID > 2600, ID <= 2800),
  Filter('Meetings', ID > 2800, ID <= 3000),
  Filter('Meetings', ID > 3000, ID <= 3200)
);

Then you can filter against this variable instead. Even using complex quieries like these:

Filter(
    InMemoryMeetings,
    Or(
        StartsWith(TextSearch.Text, Text('Meeting Number')),
        TextSearch.Text in Text('Start Date', "($-en-US)yyyy-mm-dd"),
        TextSearch.Text in Text('End Date', "($-en-US)yyyy-mm-dd"),
        ID exactin Filter(InMemoryMotions, TextSearch.Text in 'Motion Text').MeetingID, 
        And(
            ID exactin Filter(InMemoryMotions, FirstWord in 'Motion Text').MeetingID,
            ID exactin Filter(InMemoryMotions, SecondWord in 'Motion Text').MeetingID  
        ),
        And(
            ID exactin Filter(InMemoryMotions, FirstWord in Keywords).MeetingID,
            ID exactin Filter(InMemoryMotions, SecondWord in Keywords).MeetingID  
        )
    )
)