Skip to content

Commit e01259c

Browse files
authored
Merge pull request #8297 from MicrosoftDocs/20230607-offline-updates
20230607 offline updates
2 parents aea06a8 + 8678385 commit e01259c

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

powerapps-docs/maker/canvas-apps/delegation-overview.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Where this becomes complicated, and the reason this article exists, is because n
2929
**Working with large data sets requires using data sources and formulas that can be delegated.** It's the only way to keep your app performing well and ensure users can access all the information they need. Take heed of delegation warnings that identify places where delegation isn't possible. If you're working with small data sets (fewer than 500 records), you can use any data source and formula because the app can process data locally if the formula can't be delegated.
3030

3131
> [!NOTE]
32-
> Delegation warnings were previously flagged in Power Apps as "blue dot" suggestions, but delegation suggestions have since been re-classified as warnings. If the data in your data source exceeds 500 records and a function can't be delegated, Power Apps might not be able to retrieve all of the data, and your app may have wrong results. Delegation warnings help you manage your app so that it has correct results.
32+
> If the data in your data source exceeds 500 records and a function can't be delegated, Power Apps won't able to retrieve all of the data, and your app may have wrong results.Delegation warnings help you manage your app so that it has correct results.
3333

3434
## Delegable data sources
3535
Delegation is supported for certain tabular data sources only. If a data source supports delegation, its [connector documentation](/connectors/) outlines that support. For example, these tabular data sources are the most popular, and they support delegation:
@@ -47,7 +47,7 @@ The next step is to use only those formulas that can be delegated. Included here
4747
These lists will change over time. We're working to support more functions and operators with delegation.
4848

4949
### Filter functions
50-
**[Filter](functions/function-filter-lookup.md)**, **[Search](functions/function-filter-lookup.md)**, and **[LookUp](functions/function-filter-lookup.md)** can be delegated.
50+
**[Filter](functions/function-filter-lookup.md)**, **[Search](functions/function-filter-lookup.md)**, **[First](functions/function-first-last.md)** and **[LookUp](functions/function-filter-lookup.md)** can be delegated.
5151

5252
Within the **Filter** and **LookUp** functions, you can use these with columns of the table to select the appropriate records:
5353

@@ -82,15 +82,17 @@ The previous list doesn't include these notable items:
8282
In **Sort**, the formula can only be the name of a single column and can't include other operators or functions.
8383

8484
### Aggregate functions
85-
**[Sum](functions/function-aggregates.md)**, **[Average](functions/function-aggregates.md)**, **[Min](functions/function-aggregates.md)**, and **[Max](functions/function-aggregates.md)** can be delegated. Only a limited number of data sources support this delegation at this time; check the [delegation list](#delegable-data-sources) for details.
85+
**[Sum](functions/function-aggregates.md)**, **[Average](functions/function-aggregates.md)**, **[Min](functions/function-aggregates.md)**, and **[Max](functions/function-aggregates.md)** can be delegated. Counting functions such as **[CountRows](functions/function-table-counts.md)** and **[Count](functions/function-table-counts.md)** can also be delegated. Only a limited number of data sources support these functions for delegation at this time. For more information see, [Delegation list](#delegable-data-sources).
86+
87+
8688

8789
> [!NOTE]
8890
> If an expression is not delegated, it'll only work on the first 500 records (configurable up to 2000, see [Changing the limit](#changing-the-limit)) retrieved from the data source rather than delegating the processing of all data at the data source.
8991

90-
Counting functions such as **[CountRows](functions/function-table-counts.md)**, **[CountA](functions/function-table-counts.md)**, and **[Count](functions/function-table-counts.md)** can't be delegated.
91-
9292
Other aggregate functions such as **[StdevP](functions/function-aggregates.md)** and **[VarP](functions/function-aggregates.md)** can't be delegated.
9393

94+
**[RemoveIf](functions/function-remove-removeif.md)** and **[UpdateIf](functions/function-update-updateif.md)** delegation support is in Experimental and off by default off.
95+
9496
### Table shaping functions
9597

9698
**[AddColumns](functions/function-table-shaping.md)**, **[DropColumns](functions/function-table-shaping.md)**, **[RenameColumns](functions/function-table-shaping.md)**, and **[ShowColumns](functions/function-table-shaping.md)** partially support delegation. Formulas in their arguments can be delegated. However, the output of these functions are subject to the non-delegation record limit.
@@ -111,11 +113,10 @@ If you use **AddColumns** in this manner, **LookUp** must make separate calls to
111113
## Non-delegable functions
112114
All other functions don't support delegation, including these notable functions:
113115

114-
* **[First](functions/function-first-last.md)**, **[FirstN](functions/function-first-last.md)**, **[Last](functions/function-first-last.md)**, **[LastN](functions/function-first-last.md)**
116+
* **[FirstN](functions/function-first-last.md)**, **[Last](functions/function-first-last.md)**, **[LastN](functions/function-first-last.md)**
115117
* **[Choices](functions/function-choices.md)**
116118
* **[Concat](functions/function-concatenate.md)**
117119
* **[Collect](functions/function-clear-collect-clearcollect.md)**, **[ClearCollect](functions/function-clear-collect-clearcollect.md)**
118-
* **[RemoveIf](functions/function-remove-removeif.md)**, **[UpdateIf](functions/function-update-updateif.md)**
119120
* **[GroupBy](functions/function-groupby.md)**, **[Ungroup](functions/function-groupby.md)**
120121

121122
## Non-delegable limits

powerapps-docs/mobile/canvas-mobile-offline-overview.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,17 @@ You can easily enable canvas apps that are based on Dataverse for [offline-first
2525
Basic offline-first apps are easy to build. There is no need to use [PowerFx’s SaveData or LoadData functions](/power-platform/power-fx/reference/function-savedata-loaddata) or manage offline data with complex, collection schemes in PowerFx. Just build your app with normal [Power Fx formulas](/power-platform/power-fx/formula-reference) and the offline features handle all the complexity for you.
2626

2727
> [!Important]
28-
> This offline-first feature currently only works with Dataverse tables, and there are some Power Fx expressions that are not yet supported.
28+
> This offline-first feature currently only works with Dataverse tables. The following list enumerates the commonly delegated Power Fx functions not yet supported for offline-first. This list is not exhaustive. Delegation support for these functions is under active development. Check back with this list for the most current information. The functions are listed in alphbetical order.
29+
> * CountRows
30+
> * Filter/Lookup on Lookup field
31+
> * First
32+
> * In
33+
> * IsBlank
34+
> * Relate
35+
> * Search
36+
> * StartsWith
37+
> * Sum/Min/Max/Avg
38+
> * Unrelate
2939

3040
Complex, offline apps are also supported. Complex, offline scenarios are enabled with custom *offline profiles*. An offline profile is a set of filters and restrictions on the data that you load to your device. For example, while you may have access rights to millions of records for a table, you may only need a thousand records for your app. If you only download a thousand records, your app performs better. Use offline profiles to optimize your app’s performance by reducing the data downloaded to the mobile device. If you need more than 15 tables in your offline app, you may want to consider a custom offline profile.
3141

powerapps-docs/mobile/mobile-offline-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Note, an internet connection is required to sync data between your mobile device
3030
To get started with mobile offline, an app maker needs to enable and define the tables that are available for offline by using the [modern app designer](../maker/model-driven-apps/app-designer-overview.md). For more information, go to [Set up mobile offline](setup-mobile-offline.md).
3131

3232
> [!IMPORTANT]
33-
> The mobile offline experience is not available for canvas apps.
33+
> The mobile offline experience for canvas apps is in Preview.
3434

3535
## Mobile offline-first
3636

0 commit comments

Comments
 (0)