Skip to content

Commit

Permalink
Merge pull request #12975 from mberdugo/Freshness
Browse files Browse the repository at this point in the history
Freshness
  • Loading branch information
ttorble authored Feb 17, 2025
2 parents 4a15ec5 + 89c32bc commit 40e4164
Show file tree
Hide file tree
Showing 15 changed files with 36 additions and 73 deletions.
18 changes: 8 additions & 10 deletions powerbi-docs/developer/embedded/datasets-permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tags: ''
ms.service: powerbi
ms.subservice: powerbi-developer
ms.topic: reference
ms.date: 11/09/2023
ms.date: 11/09/2024
---

# Semantic model REST API permissions
Expand All @@ -28,7 +28,7 @@ Power BI has two sets of permissions:

Workspace permissions, also known as folder permissions or [roles](../../collaborate-share/service-roles-new-workspaces.md), are the highest level of permissions in Power BI. These permissions override permissions that are given to a specific item in the workspace folder.

The table below lists the four types of folder roles. It shows each role's level, and the code string returned by the Power BI REST APIs. Admin is the highest workspace permission level, and viewer is the lowest. Every permission level includes the capabilities of the permissions below it. You can review the capabilities of each permission in [Workspace roles](../../collaborate-share/service-roles-new-workspaces.md#workspace-roles).
The following table lists the four types of folder roles. It shows each role's level, and the code string returned by the Power BI REST APIs. Admin is the highest workspace permission level, and viewer is the lowest. Every permission level includes the capabilities of the permissions below it. You can review the capabilities of each permission in [Workspace roles](../../collaborate-share/service-roles-new-workspaces.md#workspace-roles).

|Folder Role |Level |Derived permissions for semantic models created in the workspace |
|------------|------|--------------------------|
Expand All @@ -38,7 +38,7 @@ The table below lists the four types of folder roles. It shows each role's level
|Viewer |1 |`Read` |

>[!NOTE]
>The *write* permission is applied to Power BI semantic models created by *admin*, *member* and *contributor* users in a workspace they own. The write permission can be granted or deleted using workspace permissions only. It cannot directly be granted to, or deleted from, a Power BI item.
>The *write* permission is applied to Power BI semantic models created by *admin*, *member*, and *contributor* users in a workspace they own. The write permission can be granted or deleted using workspace permissions only. It can't directly be granted to, or deleted from, a Power BI item.
#### Get and add workspace permissions with APIs

Expand All @@ -56,14 +56,14 @@ Power BI items, such as reports, semantic models, and dashboards have their own

## Semantic model permissions and REST APIs

Semantic model permissions are part of the [item permissions](#item-permissions). The table below lists the Power BI semantic model permissions and their representation in the [Power BI REST APIs](/rest/api/power-bi/).
Semantic model permissions are part of the [item permissions](#item-permissions). The following table lists the Power BI semantic model permissions and their representation in the [Power BI REST APIs](/rest/api/power-bi/).

>[!TIP]
>Although the API permissions are identical to the Power BI service permissions, [`build`](#build-permissions-and-rest-apis) permissions are referred to as *explore* permissions in the APIs.
|Permission |Read |Explore |Reshare |
|-----------------------|---------|---------|---------|
|Description |Allows the user to read the content of the semantic model|Equivalent to [build permissions](#build-permissions-and-rest-apis) |Allows the user to share the content of the semantic model with other users who will get read, reshare, or explore permissions for it |
|Description |Allows the user to read the content of the semantic model|Equivalent to [build permissions](#build-permissions-and-rest-apis) |Allows the user to share the content of the semantic model with other users who get read, reshare, or explore permissions for it |
|**ReadReshareExplore** | :::image type="icon" source="../../includes/media/yes-icon.svg" border="false"::: |:::image type="icon" source="../../includes/media/yes-icon.svg" border="false"::: |:::image type="icon" source="../../includes/media/yes-icon.svg" border="false"::: |
|**ReadReshare** |:::image type="icon" source="../../includes/media/yes-icon.svg" border="false"::: |:::image type="icon" source="../../includes/media/no-icon.svg" border="false"::: |:::image type="icon" source="../../includes/media/yes-icon.svg" border="false"::: |
|**ReadExplore** |:::image type="icon" source="../../includes/media/yes-icon.svg" border="false"::: |:::image type="icon" source="../../includes/media/yes-icon.svg" border="false"::: |:::image type="icon" source="../../includes/media/no-icon.svg" border="false"::: |
Expand All @@ -74,7 +74,7 @@ Semantic model permissions are part of the [item permissions](#item-permissions)
### Build permissions and REST APIs

In the [Power BI REST APIs](/rest/api/power-bi/), the `build` permission is returned as *explore*. For example, a string with the *read*, *reshare* and *build* permissions, will look like this: `ReadReshareExplore`.
In the [Power BI REST APIs](/rest/api/power-bi/), the `build` permission is returned as *explore*. For example, a string with the *read*, *reshare* and *build* permissions, looks like this: `ReadReshareExplore`.

When you give a user `build` permission, they can build new content on your semantic model. Examples of content they can build are reports, dashboards, pinned tiles from Q&A, paginated reports, and Insights Discovery.

Expand All @@ -88,7 +88,7 @@ Users also need `build` permissions to work with data outside Power BI:

### Row-level security

For a semantic model that uses row-level security (RLS), any permissions *higher* than `build` will enable the user to view all the data in the semantic model. `Build`, and permissions lower than `build`, will only give the semantic model user access to the data they're allowed to see as configured in your RLS settings.
For a semantic model that uses row-level security (RLS), any permissions *higher* than `build` enables the user to view all the data in the semantic model. `Build`, and permissions lower than `build`, only give the semantic model user access to the data they're allowed to see as configured in your RLS settings.

### Get and update semantic model permissions with APIs

Expand All @@ -107,9 +107,7 @@ For a semantic model that uses row-level security (RLS), any permissions *higher
* [Datasets - Get Dataset Users](/rest/api/power-bi/datasets/get-dataset-users)
* [Datasets - Get Dataset Users In Group](/rest/api/power-bi/datasets/get-dataset-users-in-group)

## Considerations and limitations

Each of the above APIs comes with certain limitations regarding who can use them and how. To see the limitations of each API, select the link for that API.
Each of these APIs comes with certain limitations regarding who can use them and how. To see the limitations of each API, select the link for that API.

## Related content

Expand Down
17 changes: 9 additions & 8 deletions powerbi-docs/developer/embedded/embed-azure-analysis-services.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ ms.reviewer: sabre
ms.service: powerbi
ms.subservice: powerbi-developer
ms.topic: how-to
ms.date: 11/08/2023
ms.date: 01/12/2025
#customer intent: As an ISV, I want to embed a Power BI report that uses data stored in Azure Analysis Services (AAS) in an embed for your customers scenario, so that I can provide my customers with a report that uses data from an AAS database.
---

# Embed a report with an Azure Analysis Services (AAS) database
Expand All @@ -18,7 +19,7 @@ This article explains how to embed a Power BI report that uses data stored in [A

## Prerequisites

You'll need a report with a live connection to AAS database, with or without RLS.
You need a report with a live connection to AAS database, with or without RLS.

## Dynamic security - RLS

Expand Down Expand Up @@ -52,10 +53,10 @@ Use the [**service principal object ID**](embedded-troubleshoot.md#whats-the-dif

## Analysis Service migration

You can [migrate from AAS to Power BI Premium](../../guidance/migrate-azure-analysis-services-to-powerbi-premium-migration-scenarios.md) even if you have an embedded AAS report. Your embedded report won't break during the migration, as long as the principal that's calling the [Embed Token - Generate Token](/rest/api/power-bi/embed-token/generate-token) API, is a member or admin of the workspace.
You can [migrate from AAS to Power BI Premium](../../guidance/migrate-azure-analysis-services-to-powerbi-premium-migration-scenarios.md) even if you have an embedded AAS report. Your embedded report doesn't break during the migration, as long as the principal that's calling the [Embed Token - Generate Token](/rest/api/power-bi/embed-token/generate-token) API, is a member or admin of the workspace.

>[!NOTE]
> If the service principal is not an admin, and you don't want to make it an admin of the workspace when you migrate, migrate that model into a separate workspace where you can give it admin permissions.
> If the service principal isn't an admin, and you don't want to make it an admin of the workspace when you migrate, migrate that model into a separate workspace where you can give it admin permissions.
## Generate an embed token

Expand All @@ -68,15 +69,15 @@ The information needed to generate an embed token depends on how you're connecte
To generate an embed token, provide the following information:

* **Username** (Optional if no RLS. Required for RLS) - The username must be the same as API caller (in this case, the Master user's [UPN](./pbi-glossary.md#user-principal-name-upn)). If the database doesn't use RLS, and no username is provided, the master user's credentials are used.
* **Role** (required for RLS) - The report will only display data if the effective identity is a member of the role.
* **Role** (required for RLS) - The report only displays data if the effective identity is a member of the role.

Example:

Define the user identity and roles for one of the following three scenarios:

* If RLS isn't implemented:

There is no need to define any effective identity.
You don't need to define any effective identity.

* If using static RLS:

Expand All @@ -100,7 +101,7 @@ There is no need to define any effective identity.
```

>[!NOTE]
>`customData` in the embed token cannot be larger than 1,024 characters.
>`customData` in the embed token can't be larger than 1,024 characters.

Use the effective identity to generate an embed token:

Expand Down Expand Up @@ -175,7 +176,7 @@ public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional

---

Use the embed token to embed the report into your app or website. Your report will filter data according to the applied RLS in the report.
Use the embed token to embed the report into your app or website. Your report filters data according to the applied RLS in the report.

## Related content

Expand Down
36 changes: 1 addition & 35 deletions powerbi-docs/developer/embedded/rls-sso.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer:
ms.service: powerbi
ms.subservice: powerbi-developer
ms.topic: how-to
ms.date: 11/09/2023
ms.date: 11/09/2024
# customer intent: As an ISV, I want to learn how to embed Power BI content with token-based, single sign-on (SSO) identities so I can provide secure access to my customers' data.
---

Expand Down Expand Up @@ -75,40 +75,6 @@ See the following examples for generating embed tokens for different scenarios.

#### [Power BI report with SSO](#tab/Power-BI-report-with-SSO)

<!--
```json
{
"datasets": [
{
"id": "66ba5010-xxxx-xxxx-xxxx-f2bf0125abeb",
"xmlaPermissions": "ReadOnly"
}
],
"reports": [
{
"allowEdit": false,
"id": "9e6da541-xxxx-xxxx-xxxx-7d9442827cce"
}
],
"datasourceIdentities": [
{
"identityBlob": "eyJ…",
"datasources": [
{
"datasourceType": "Sql",
"connectionDetails": {
"server": "YourServerName.database.windows.net",
"database": "YourDataBaseName"
}
}
]
}
]
}
```
-->

```json
{
"datasets": [
Expand Down
2 changes: 1 addition & 1 deletion powerbi-docs/developer/visuals/dataview-mappings.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer: tebercov
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: concept-article
ms.date: 12/12/2023
ms.date: 12/12/2024
#customer intent: As a Power BI visual developer, I want to understand how data view mapping works in Power BI visuals so that I can create different types of visuals.
---

Expand Down
4 changes: 2 additions & 2 deletions powerbi-docs/developer/visuals/fetch-more-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer: tebercov
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: how-to
ms.date: 11/18/2023
ms.date: 11/18/2024
#customer intent: As a Power BI visual developer, I want to learn how to fetch more data from Power BI so that I can display large semantic models in my visual.
---

Expand Down Expand Up @@ -178,7 +178,7 @@ btn_click(){
As a response to calling the `this.host.fetchMoreData` method, Power BI calls the `update` method of the visual with a new segment of data.
> [!NOTE]
> Although the data in the different updates of the data views are mostly exclusive, there is some overlap between consecutive data views.
> Although the data in the different updates of the data views are mostly exclusive, there's some overlap between consecutive data views.
>
> For table and categorical data mapping, the first `N` data view rows can be expected to contain data copied from the previous data view.
>
Expand Down
2 changes: 1 addition & 1 deletion powerbi-docs/developer/visuals/format-pane-general.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer: ''
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: how-to
ms.date: 12/12/2023
ms.date: 01/12/2025
#customer intent: As a custom Power BI visual developer, I want to learn how to customize the new Format pane in Power BI custom visuals using the new formatting model so that I can create visuals that are easier for report creators to use.
---

Expand Down
2 changes: 1 addition & 1 deletion powerbi-docs/developer/visuals/import-visual.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer: ""
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: how-to
ms.date: 12/2/2023
ms.date: 01/12/2025
#customer intent: As a Power BI user, I want to learn how to import a custom visual from AppSource or from a file so that I can use it in my Power BI reports.
---

Expand Down
2 changes: 1 addition & 1 deletion powerbi-docs/developer/visuals/permissions-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer:
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: reference
ms.date: 06/28/2022
ms.date: 06/28/2024
---

# Check permissions API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,6 @@ Make sure that the following commands don't return any errors.
* `npm audit` - Must not return any warnings with high or moderate level.
* `ESlint` with the [required configuration](https://www.npmjs.com/package/eslint-plugin-powerbi-visuals). This command must not return any lint errors.

>[!NOTE]
> We're in the process of migrating from TSlint to ESLint. Visuals using TSlint will be accepted for certification until March 2023. After that, ESlint will be required.
### Compiling requirements

Use the latest version of [powerbi-visuals-tools](https://www.npmjs.com/package/powerbi-visuals-tools) to write the Power BI visual.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ ms.reviewer: ""
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: troubleshooting
ms.date: 12/21/2023
ms.date: 12/21/2024
# customer intent: As a Power BI developer, I want to learn how to troubleshoot common issues that might occur when setting up my developer environment for creating custom Power BI visuals so that I can develop my visuals effectively.
---

# Troubleshoot your Power BI developer environment setup
# Troubleshoot your Power BI developer environment setup for custom visuals

This article explains how to diagnose and fix the following common problems that can occur when setting up your developer environment for creating custom Power BI visuals.

Expand Down
4 changes: 2 additions & 2 deletions powerbi-docs/developer/visuals/total-subtotal-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer: tebercov
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: how-to
ms.date: 11/22/2023
ms.date: 11/22/2024
#customer intent: As a Power BI visual developer, I want to learn how to use the Total and Subtotal API to request aggregated subtotal data from the Power BI host.
---

Expand All @@ -31,7 +31,7 @@ The API offers the following customization for each data-view type (currently, o
* `columnSubtotals`: (boolean) Indicates if the *subtotal* data should be requested for all fields in the columns field well.
* `columnSubtotalsPerLevel`: (boolean) Indicates if the *subtotal* data can be toggled for individual fields in the columns field well.
* `levelSubtotalEnabled`: (boolean) Indicates if the subtotals are requested for the row or column. Unlike all the other properties, this property is applied to individual rows or columns.
* `rowSubtotalsType`: ("Top" or "Bottom") Indicates if the row with the *total* data should be retrieved before (`top`) or after (`bottom`) the rest of the data. If this property is set to `bottom`, the total can only be displayed after all the data has been fetched. The default is `bottom`.
* `rowSubtotalsType`: ("Top" or "Bottom") Indicates if the row with the *total* data should be retrieved before (`top`) or after (`bottom`) the rest of the data. If this property is set to `bottom`, the total can only be displayed after all the data is fetched. The default is `bottom`.

Each of these switches is assigned a value based on the related properties in the property pane and the defaults.

Expand Down
6 changes: 3 additions & 3 deletions powerbi-docs/developer/visuals/unit-tests-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer: tebercov
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: tutorial
ms.date: 12/1/2023
ms.date: 12/1/2024
#customer intent: As a Power BI visual developer, I want to learn how to write unit tests for my visual so that I can ensure the visual works as expected.
---

Expand Down Expand Up @@ -422,7 +422,7 @@ export class SampleBarChartDataBuilder extends TestDataViewBuilder {

The `SampleBarChartDataBuilder` class extends `TestDataViewBuilder` and implements the abstract method `getDataView`.

When you put data into data-field buckets, Power BI produces a categorical `dataview` object that's based on your data.
When you put data into data-field buckets, Power BI produces a categorical `dataview` object based on your data.

:::image type="content" source="media/unit-tests-introduction/fields-buckets.png" alt-text="Screenshot of Power BI, which shows the data fields buckets are empty.":::

Expand Down Expand Up @@ -621,7 +621,7 @@ npm run test
> [!NOTE]
> You must install Google Chrome locally.
In the command-line window, you'll get following output:
In the command-line window, you get following output:

```cmd
> karma start
Expand Down
4 changes: 2 additions & 2 deletions powerbi-docs/developer/visuals/utils-formatting-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ms.reviewer: tebercov
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: reference
ms.date: 10/23/2023
ms.date: 10/23/2024
ms.custom: engagement-fy23
---

Expand Down Expand Up @@ -347,7 +347,7 @@ new formattingSettings.ColorPicker({
## Reset settings to default
Formatting model utils will enable you to [reset settings to default](./format-pane-example.md#reset-settings-to-default) by automatically adding all the formatting properties descriptors to the formatting card list of features to revet to default descriptors `revertToDefaultDescriptors`.
Formatting model utils enable you to [reset settings to default](./format-pane-example.md#reset-settings-to-default) by automatically adding all the formatting properties descriptors to the formatting card list of features to revet to default descriptors `revertToDefaultDescriptors`.
You can enable resetting formatting settings from:
Expand Down
2 changes: 1 addition & 1 deletion powerbi-docs/developer/visuals/utils-type.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ ms.reviewer: tebercov
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: concept-article
ms.date: 01/04/2024
ms.date: 01/04/2025
#customer intent: As a developer, I want to understand how to use type utils to enhance my Power BI visuals.
---

Expand Down
2 changes: 1 addition & 1 deletion powerbi-docs/developer/visuals/visuals-interactions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.reviewer: tebercov
ms.service: powerbi
ms.subservice: powerbi-custom-visuals
ms.topic: how-to
ms.date: 10/22/2023
ms.date: 10/22/2024
#customer intent: As a Power BI developer, I want to learn how to check whether Power BI visuals should allow visual interactions so that I can create effective interactive visuals.
---

Expand Down

0 comments on commit 40e4164

Please sign in to comment.