Skip to content

Commit f29c571

Browse files
authored
Merge pull request #715 from MicrosoftDocs/master
Publish: revert migration regressions to canvas topics
2 parents 9875938 + 8525d4e commit f29c571

File tree

13 files changed

+64
-110
lines changed

13 files changed

+64
-110
lines changed

powerapps-docs/maker/canvas-apps/functions/function-choices.md

Lines changed: 9 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -18,66 +18,30 @@ Returns a table of the possible values for a lookup column.
1818
## Description
1919
The **Choices** function returns a table of the possible values for a lookup column.
2020

21-
Use the **Choices** function to provide a list of choices for your user to select from. It is commonly used with the [**Combo box**](../controls/control-combo-box.md) control in edit forms.
21+
Use the **Choices** function to provide a list of choices for your user to select from. This function is commonly used with the [**Combo box**](../controls/control-combo-box.md) control in edit forms.
2222

23-
For a lookup, the table returned by **Choices** is the same as the foreign table associated with the lookup. Using **Choices** eliminates the need to add the foreign table as an additional data source. All columns of the foreign table are returned by **Choices**.
23+
For a lookup, the table that **Choices** returns matches the foreign table that's associated with the lookup. By using **Choices**, you eliminate the need to add the foreign table as an additional data source. **Choices** returns all columns of the foreign table.
2424

25-
Since **Choices** returns a table, you can use [**Filter**](function-filter-lookup.md), [**Sort**](function-sort.md), [**AddColumns**](function-table-shaping.md), and all the other table manipulation functions to filter, sort, and shape the table before using it.
25+
Because **Choices** returns a table, you can use [**Filter**](function-filter-lookup.md), [**Sort**](function-sort.md), [**AddColumns**](function-table-shaping.md), and all the other table-manipulation functions to filter, sort, and shape the table.
2626

27-
At this time, **Choicess** cannot be [delegated](../delegation-overview.md). If this poses a problem in your situation, add the foreign entity as a data source and use it directly.
27+
At this time, you can't [delegate](../delegation-overview.md) **Choices**. If this limitation poses a problem in your app, add the foreign entity as a data source, and use it directly.
2828

29-
Unlike the [**ShowColumns**](function-table-shaping.md), [**Search**](function-filter-lookup.md), and other table functions that require column names to a string and enclosed in double quotes, this is not the case for **Choices**. Provide the formula as if you were referencing the column directly.
29+
**Choices** doesn't require column names to be strings and enclosed in double quotes, unlike the [**ShowColumns**](function-table-shaping.md), [**Search**](function-filter-lookup.md), and other table functions. Provide the formula as if you were referencing the column directly.
3030

31-
Column references must be direct to the data source. For example, if the data source is **Accounts** and the lookup is **SLA** then the column reference would be **Accounts.SLA**. The reference cannot pass through a function, variable, of control. Furthering this example, if **Accounts** is fed to a **Gallery** control, then the SLA for the selected account can be referenced by the formula **Gallery.Selected.SLA**. However, as this reference has passed through a control, it cannot be passed to the **Columns** function - **Accounts.SLA** must still be used.
31+
Column references must be direct to the data source. For example, if the data source is **Accounts** and the lookup is **SLA**, the column reference would be **Accounts.SLA**. The reference can't pass through a function, a variable, or a control. Furthering this example, if **Accounts** is fed to a **Gallery** control, use the formula **Gallery.Selected.SLA** to reference the SLA for the selected account. However, this reference has passed through a control, so it can't be passed to the **Columns** function - you must still use **Accounts.SLA**.
3232

33-
At this time, only SharePoint and the Common Data Service support lookup columns.
33+
At this time, you can use lookup columns only with SharePoint and Common Data Service for Apps.
3434

3535
## Syntax
3636
**Choices**( *column-reference* )
3737

38-
* *column-reference* – Required. A lookup column of a data source. Do not enclose the column name in double quotes. The reference must be directly to the column of the data source and not pass through a function or control.
38+
* *column-reference* – Required. A lookup column of a data source. Don't enclose the column name in double quotes. The reference must be directly to the column of the data source and not pass through a function or a control.
3939

4040
## Examples
4141

4242
#### Choices for a lookup
4343

44-
1. Create a [Common Data Service database](../../../administrator/create-database.md) and check the box to "Include sample apps and data". Many entities will be created including the **Accounts** entity:
45-
46-
![A partial list of the fields from the Account entity in the Commmon Data Service, highlighting that "Primay Contact" is a lookup field](media/function-choices/entity-account.png)
47-
48-
The **Accounts** entity has a **Primary Contact** column which is a lookup to the **Contacts** entity.
49-
50-
![A partial list of the fields from the Contact entity in the Commmon Data Service](media/function-choices/entity-contact.png)
51-
52-
For each each Account, there is a Contact designated as the Primary Contact. It is also possible that the Primary Contact is *blank*.
53-
54-
2. [Generate an app from the Common Data Service](../data-platform-create-app.md) using the **Accouns** entity.
55-
56-
3. Select the **EditForm1** control in the **EditScreen1** screen from the left hand Screens pane.
57-
58-
8. If it has not already been added, add the **Primary Contact** field to the form. It will appear at the end of the list of fields in the form, which you can move up or down in the form.
59-
60-
9. Select the **Combo box** control within the card for **Primary Contact**. View the **Items** property which will contain the formula:
61-
62-
**Choices( Accounts.'Primary Contact' )**
63-
64-
![A canvas screen with a form control. The combo box control within the Primary Contact data card is selected showing the Items property with the formula Choices( Accounts.'Primary Contact' )](media/function-choices/accounts-primary-contact.png)
65-
66-
Note that if the "Use column display names" is turned off in the app's advanced settings that this formula will appear as **Choices( Acccounts.primarycontactid )**.
67-
68-
10. To see what **Choices** is returning, inert a new screen.
69-
70-
11. Add a **Data table** control and set its **Items** property to the formula:
71-
72-
**Choices( Accounts.'Primary Contact' )**
73-
74-
11. In the Data pane, select "First Name", "Last Name", or any other fields that you would like to view.
75-
76-
![A canvas screen with a data table control. The items property is set to the formula Choices( Accounts.'Primary Contact' ) and the table is displaying the firstname and lastname columns for the first set of records from the Contacts entity](media/function-choices/full-accounts-pc.png)
77-
78-
79-
80-
44+
1. [Create a database](../../../administrator/create-database.md) in Common Data Service for Apps, and select the **Include sample apps and data** box.
8145

8246
Many entities, such as **Accounts**, are created.
8347

powerapps-docs/maker/canvas-apps/functions/function-concurrent.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Evaluates multiple formulas concurrently with one another.
1818
## Description
1919
The **Concurrent** function evaluates multiple formulas at the same time. Normally, multiple formulas are evaluated by chaining them together with the [**;**](operators.md) (or [**;;**](operators.md)) operator, which evaluates each sequentially in order. When the app performs operations concurrently, users wait less for the same result.
2020

21-
In the [**OnStart**](../controls/control-screen.md) property of your app, use **Concurrent** to improve performance when the app loads data. When data calls don't start until the previous calls finish, the app must wait for the sum of all request times. If data calls start at the same time, the app only needs to wait for the longest request time. Web browsers often improve performance by performing data operations concurrently.
21+
In the [**OnStart**](../controls/control-screen.md) property of your app, use **Concurrent** to improve performance when the app loads data. When data calls don't start until the previous calls finish, the app must wait for the sum of all request times. If data calls start at the same time, the app needs to wait only for the longest request time. Web browsers often improve performance by performing data operations concurrently.
2222

2323
You can't predict the order in which formulas within the **Concurrent** function start and end evaluation. Formulas within the **Concurrent** function shouldn't contain dependencies on other formulas within the same **Concurrent** function, and PowerApps shows an error if you try. From within, you can safely take dependencies on formulas outside the **Concurrent** function because they will complete before the **Concurrent** function starts. Formulas after the **Concurrent** function can safely take dependencies on formulas within: they'll all complete before the **Concurrent** function finishes and moves on to the next formula in a chain (if you use the **;** or **;;** operator). Watch out for subtle order dependencies if you're calling functions or service methods that have side effects.
2424

@@ -52,7 +52,7 @@ You can use **Concurrent** only in [behavior formulas](../working-with-formulas-
5252
ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' );<br>
5353
ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' )**
5454

55-
3. In [Microsoft Edge](https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide/network) or [Google Chrome](https://developers.google.com/web/tools/chrome-devtools/network-performance/), turn on developer tools to monitor network traffic while your app is running.
55+
3. In [Microsoft Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide/network) or [Google Chrome](https://developers.google.com/web/tools/chrome-devtools/network-performance/), turn on developer tools to monitor network traffic while your app is running.
5656

5757
1. (optional) Turn on network throttling to exaggerate the effects of this comparison.
5858

@@ -83,7 +83,7 @@ You can use **Concurrent** only in [behavior formulas](../working-with-formulas-
8383

8484
3. While holding down the Alt key, select the second button, and then watch the network traffic.
8585

86-
The tools show four requests performed concurrently, similar to this example. Again, actual times have been removed as they will vary wildly. The graph shows that all the calls start at about the same time and do not wait for the previous to finish:
86+
The tools show four requests performed concurrently, similar to this example. Again, actual times have been removed as they will vary wildly. The graph shows that all the calls start at about the same time and do not wait for the previous one to finish:
8787

8888
![Time graph of four network requests, all four starting together, covering about half of the span of time](media/function-concurrent/concurrent-network.png)
8989

powerapps-docs/maker/canvas-apps/functions/function-iferror.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The **IfError** function tests each of its arguments in order for an error value
2323

2424
Use **IfError** to replace error values with a valid value. For example, if it is possible that user input may result in a division by zero, replace it with a 0 or other valid value that is appropriate for your app so that downstream calculations can proceed.
2525

26-
Use **IfError** in [behavior formulas](../working-with-formulas-in-depth.md) to perform actions, check the results for errors, and if needed take further actions or display an error message to the user with [**ShowError**](function-showerror.md).
26+
Use **IfError** in [behavior formulas](../working-with-formulas-in-depth.md) to perform actions, check the results for errors, and if needed take further actions or display an error message to the user with [**Notify**](function-showerror.md).
2727

2828
If all of the arguments to **IfError** result in an error, the value of the last argument is returned (which will be an error value).
2929

@@ -39,7 +39,7 @@ If all of the arguments to **IfError** result in an error, the value of the last
3939
| --- | --- | --- |
4040
| **IfError( 1, 2 )** |The first argument is not an error. It is returned and subsequent arguments are not evaluated. | 1 |
4141
| **IfError( 1/0, 2 )** | The first argument is returning an error value (due to division by zero). The second argument is evaluated resulting in a non-error value which is returned. | 2 |
42-
| **IfError( 1/0, ShowError( "Division by Zero" ) )** | The first argument is returning an error value (due to division by zero). The second argument is evaluated which displays a messages to the user. The return value of **IfError** is the return value of **ShowError**, coerced to the same type as the first argument to **IfError** (a number). | 1 |
42+
| **IfError( 1/0, Notify( "There was an internal problem", NotificationType.Error ) )** | The first argument is returning an error value (due to division by zero). The second argument is evaluated which displays a messages to the user. The return value of **IfError** is the return value of **Notify**, coerced to the same type as the first argument to **IfError** (a number). | 1 |
4343
| **IfError( 1/0, 1/0, 2, 1/0, 3 )** | The first argument is returning an error value (due to division by zero). The second argument is evaluated, also resulting in an error value (another division by zero). The third argument is evaluated, which does not return in an error value which is returned. The fourth and fifth arguments are ignored. | 2 |
4444

4545
### Step by step
Loading
Loading
Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Get a session ID or a canvas app ID | Microsoft Docs
3-
description: How to get a session ID or a canvas app ID for troubleshooting in PowerApps
2+
title: Get a session ID or a canvas-app ID | Microsoft Docs
3+
description: How to get a session ID or a canvas-app ID for troubleshooting in PowerApps
44
author: AFTOwen
55
manager: kvivek
66

@@ -12,38 +12,53 @@ ms.date: 06/18/2018
1212
ms.author: anneta
1313

1414
---
15-
# Get a session ID or a canvas app ID
15+
# Get a session ID or a canvas-app ID
1616
If you encounter a problem with a canvas app that was created in PowerApps, you can help Microsoft troubleshoot the problem much more effectively if you provide them with a session ID, an app ID, or both for that problem.
1717

18-
## When editing an app
18+
## Get the session ID
19+
20+
### When editing an app
1921
1. In the upper-left corner, select **File**.
2022

2123
1. Select **Account**.
2224

2325
1. Under **Diagnostics**, select **Session details**.
2426

25-
![Get a session ID from PowerApps Studio](media/get-sessionid/studio.png)
27+
![Get a session ID from PowerApps Studio](media/get-sessionid/studio.png)
2628

27-
## When running an app in a browser
29+
### When running an app in a browser
2830
1. In the upper-right corner, select the gear icon.
2931

3032
1. Select **Session details**.
3133

32-
![Get a session ID from a browser](media/get-sessionid/browser.png)
34+
![Get a session ID from a browser](media/get-sessionid/browser.png)
3335

34-
## When running an app on a phone or a tablet
36+
### When running an app on a phone or a tablet
3537
1. Swipe right.
3638

3739
1. Tap **Session details**.
3840

39-
![Get a session ID from a browser](media/get-sessionid/mobile.png)
41+
![Get a session ID from a browser](media/get-sessionid/mobile.png)
4042

41-
## When running an embedded app or form
43+
### When running an embedded app or form
4244
1. Perform one of these steps:
4345

4446
- While holding down the Alt key, right-click the app or form.
4547
- Tap the app or form with two fingers for 1-2 seconds, and then release.
4648

4749
1. Select **Session details**.
4850

49-
![Get a session ID from an embedded app](media/get-sessionid/embedded.png)
51+
![Get a session ID from an embedded app](media/get-sessionid/embedded.png)
52+
53+
## Get an app ID
54+
1. [Sign in to PowerApps](https://powerapps.microsoft.com).
55+
56+
1. Near the left edge, select **Apps**.
57+
58+
1. Select the ellipsis ( **. . .** ) for the app you're troubleshooting, and then select **Details**.
59+
60+
![Go to app details](./media/get-sessionid/details.png)
61+
62+
The app ID appears at the bottom of the **Details** pane for that app.
63+
64+
![Copy app ID from details](./media/get-sessionid/app-id.png)

powerapps-docs/maker/canvas-apps/getting-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Run your own apps - and any apps shared with you - on Windows, in a [web browser
4040
## Learn more
4141
* Explore the step-by-step, conceptual, and reference topics in the navigation pane on the left.
4242
* Work through the self-paced [Guided Learning courses](https://docs.microsoft.com/powerapps/guided-learning/).
43-
* Check out the [upcoming webinars](webinars-listing.md#upcoming-webinars), which can help you leverage the features and functions of PowerApps. You can also access [past webinars](webinars-listing.md#past-webinars) on demand.
43+
* Check out the [webinars](webinars-listing.md) that you can access on-demand to help you leverage the features and functions of PowerApps.
4444

4545
## Share your experience
4646
* Read and post in the [PowerApps Community](https://aka.ms/powerapps-community), where anyone who uses PowerApps can post a question and others can answer. Before you post a question, search the community to see whether your question has already been answered.
@@ -50,4 +50,4 @@ Run your own apps - and any apps shared with you - on Windows, in a [web browser
5050
## Next steps
5151
- [Sign up for a free license.](../signup-for-powerapps.md)
5252
- [Sign in to PowerApps.](https://web.powerapps.com?utm_source=padocs&utm_medium=linkinadoc&utm_campaign=referralsfromdoc)
53-
- [Open a sample app.](open-and-run-a-sample-app.md)
53+
- [Open a sample app.](open-and-run-a-sample-app.md)
Loading
Loading
Loading

0 commit comments

Comments
 (0)