This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
Digital transformation is accelerating because of the digitization of processes, productivity through remote work, and increased collaboration in new tools like Microsoft Teams. Organizations need to look to capture the opportunity these new ways of working represent. Deploying Power BI integrated in Microsoft Teams for an organization is one easy way to capitalize on these trends by enabling more people to find and use data in more decision making.
This guide helps organizations, decision makers, and IT professionals understand and deploy Power BI more broadly to their Microsoft Teams users.
It covers:
Animation_with_Power_BI_3_circles_for_data_culture_every_individual_every_decisi
Power BI offers capabilities that make it easy for everyone in an organization to find and use data. It’s because Power BI is designed to meet the needs of both centralized enterprise deployments and self-service users.
Here are some of the capabilities organizations are benefiting from:
Microsoft is recognized as a Leader in the 2021 Gartner Magic Quadrant for Analytics and Business Intelligence Platforms. For the third year, Microsoft is positioned furthest to the right for completeness of vision and furthest up in the ability to execute within the Leaders’ quadrant.
Magic_Quadrant_for_Analytics_and_Business_Intelligence_Platforms
Learn more about why customers tell us they chose Power BI.
However, for many users and organizations it’s elusive to ensure everyone knows where the authoritative data is found, where the latest reports and apps are located, and how to effectively use them within a daily, weekly, and monthly work rhythm.
This is where integrating Power BI into Microsoft Teams comes in. When Power BI is in Teams, data can be just one click away in every chat, channel and team. Because Teams is highly collaborative, users quickly show each other how to use data effectively.
Power BI’s Spring 2021 Ignite session shows a real-world example of how these capabilities come together to help analytics at one major organization work effectively directly in Microsoft Teams.
Watch (30 minutes): Drive a data culture with Power BI: Vision, Strategy, and Roadmap
The Power BI app for Teams is available to install from the Teams app store. It provides a data hub where an individual can find all the reports, apps, dashboards, and datasets they have access to. They get the full power of our web based authoring capabilities including our AI visuals to help discover insights quickly.
The Power BI tab enables users in channels, chats, and meeting add reports to the places they collaborate. This makes it easy to ensure everyone has the data they need at their fingertips. Since collaboration is fast paced, with new people joining channels, chats, and meeting, this helps keep team work organized and informed.
In chats, channels, and meeting chat users can quickly share Power BI content using the messaging extension which adds rich metadata cards so power bi content is easy to find, even in long conversations. When users paste links from the power BI service into chat they are automatically unfurled into the same rich metadata cards.
Users in the Power BI service and in the Power BI app for Teams can quickly send links using the Chat in Teams capability. These links preserve all the context of the user’s session, including what page they’re on, what slicers and bookmarks the user was using. When colleagues open these links they’re taken directly to the exact data the user was looking at, in a fully interactive way.
Together these capabilities make it easier for individuals and teams to collaborate. When users learn to use these tool together and in their daily, weekly, and monthly rhythms to inform decision making they create a data culture. Organizations can accelerate the growth and spread of this data culture by broadly deploying Power BI for Microsoft teams.
Learn more: Announcing new Power BI experiences in Microsoft Teams
We can use a three step model to accelerate the user of data where people collaborate in Microsoft Teams.
Diagram_a_three_step_process_with_steps_of_enable_empower_and_accelerate._Arrow
Enable
It’s useful to treat the above list as a check list with your organization’s leaders to help tailor an approach that meets your organization’s needs.
In the Team Admin center, ensure Power BI is Allowed. You can search for Power BI in the Manage apps list under Teams apps.
Graphical_user_interface_application_Teams_Description_automatically_generated
To change the status, select the app and set status to Allowed.
Graphical_user_interface_application_Description_automatically_generated
If you use scripts to automate these actions, the App ID 1c4340de-2a85-40e5-8eb0-4f295368978b to manage the Power BI for Microsoft Teams.
When the app is allowed, users can find it in the Teams store and install it. We encourage organizations to enable self-service sign-up so that these users can immediately start to use the app. For those organizations who would prefer users to request a license, we recommend they configure a licensing request URL in the Power BI tenant settings so users quickly find the internal process they need to complete
Learn: Self-service sign-up for Power BI
Benefits
To create a policy or add to an existing one, in the Teams Admin center, expand Teams apps, then go to Setup policies.
You can pick an existing policy or create a new one. The example below show a new policy that includes the Power BI app for Microsoft Teams.
Press Add apps then search for Power BI. Two apps will be returned. Pick the one with App ID 1c4340de-2a85-40e5-8eb0-4f295368978b. A trick is to add both, then remove the undesired one.
Graphical_user_interface_text_application_Description_automatically_generated
Learn: How to create an app setup policy in Microsoft Teams
Note: When you pick an app to install, it is automatically added to the Pinned apps sections of the Policy. If this is undesired, remove it from Pinned apps before saving the policy. We’ll cover the benefits of pinning apps in the next section.
After the policy is created you need to assign the policy to users. You can choose how broadly to apply it within your organization. For Power BI customers who use Power BI Premium Capacity or cover their users with Microsoft Office E5 licenses, the most straightforward approach is to add the Power BI app for teams to the Global (Org-wide default) policy, which ensures everyone in the organization is enabled to access Power BI.
Organizations can also target specific users for whom to pre-install Power BI in Teams. This targeted roll-out is easily accomplished because Teams allows policies to be assigned to security groups, distribution lists, and even batches of individual users. Using groups enables organizations to automatically assign the policy to the right set of users.
Learn: How to assign policies to users in Teams
Note: Use the New-CsGroupPolicyAssignment PowerShell commandlet to assign a policy to a group. An example script is provided later in this document. The Teams Admin portal UI only assigns policies to users but not to groups.
There are several approaches that are easy to apply quickly, though more sophisticated rules are also possible.
The PowerShell script examples later on this in this document help you get started automating the group membership if you don’t have access to Azure AD dynamic groups. They show examples of applying a policy to licensed users and for active users. They also show how to apply the policy to a group. They can also be extended for bespoke inclusion rules needed by your organization.
Learn: How to create a dynamic group in Azure Active Directory
Benefits
Graphical_user_interface_application_Description_automatically_generated
Importantly, once the app is pre-pinned for users, it’s easier to made it a data hub within Teams. This works best when the organization publishes datasets, and certifies or promotes them. Users will discover these datasets directly within the Power BI app along side the reports, Power BI apps, and dashboards they have access to and use frequently.
To pre-pin the Power BI app for Microsoft Teams, create or update an app setup policy as discussed earlier. In the Pinned apps section, ensure the Power BI app with App Id 1c4340de-2a85-40e5-8eb0-4f295368978b is included.
Graphical_user_interface_table_Description_automatically_generated
Note: Currently when a Teams Admin deploys a policy with pinned apps, it removes any user pinned apps. In the coming months, this behavior will be changed so that user pinned apps are preserved when a policy is applied.
Benefits
Watch: Overview demo
Learn: Overview blog
Documentation links:
Collaborate in Microsoft Teams with Power BI
Add the Power BI app to Microsoft Teams
Embed Power BI content in Microsoft Teams
Chat in Microsoft Teams directly from the Power BI service
Get a Power BI link preview in Microsoft Teams
Because Microsoft Teams is fundamentally collaborative, it’s a great idea use a team to solve this challenge. Many organizations have successfully used the following pattern to build and grow a vibrant community of Power BI users, learn about user needs, and to identify and grow talented data professionals.
Steps:
To take it up a level and formalize your efforts to support Power BI, consider establishing a center of excellence.
You can help users have a great experience when they first open Power BI in Teams by taking a few steps. First, you can feature specific content on Power BI home. The selected reports and apps will appear in the Featured section making them easy to find. By adding an image snapshot the home page will look very welcoming for new users.
Many users will use the datasets page in Power BI as a data hub to find authoritative data. The hub helps Power BI and Excel users start connecting to data they have permission to. By encouraging these live connections to Power BI dataset you help users move away from manual export based workflows. To help ensure users see the highest quality datasets ensure to use the Certified and Promoted options for datasets. These datasets will appear in the recommended datasets list making them easier to find.
Often departments in an organization need to share data often with other departments. Encouraging your organization to publish datasets and then find them in the Power BI app for Teams removes friction for users to know where to go to find the data they need.
Using Power BI as a data hub works especially well when the Power BI app for Microsoft Teams is pinned to the Teams left rail by default. However, if you only pre-installing the Power BI app users still benefit and you can train them to find the Power BI in the Teams app list.
Learn more:
Power BI datasets hub (preview)
Feature content on Power BI Home
Certify and Promote content in Power BI
The script below helps you automate assigning users to a Teams app setup policy that includes the Power BI app for Teams. It covers examples of:
To run this script you must:
# Instructions: # 1. Install PowerShell #(https://docs.microsoft.com/powershell/scripting/windows-powershell/install/installing-windows-powershell) # and the Power BI PowerShell cmdlets #(Install-Module MicrosoftPowerBIMgmt) # https://docs.microsoft.com/powershell/power-bi/overview?view=powerbi-ps # # NOTE: Must be running on MicrosoftPowerBIMgmt version 1.0.342 or later for Credentials to work. # # 2. Install the Azure AD PowerShell cmdlets #(Install-Module -Name AzureAD) # # As of March 2021, this requires AzureAD Preview cmdlets # Install-Module -Name AzureADPreview -AllowClobber Connect-AzureAD
# Update this path to where you would like the file to be # saved to. $OUTPUT_PATH = "C:\Temp\PowerBIUsers.csv"
#**** You can choose how broadly to roll out the policy by # combining approaches defined below # #** Identifying Users Approach 1: # Users with Power BI licenses # # The script below shows how to find all users with any # Power BI license assigned to them. You can be selective # or broad by including or excluding the license types in # the if… elseif block. # # Users can have the following licenses: # Power BI Pro or Microsoft Office E5 have BI_AZURE_P2 # Power BI Premium Per User have BI_AZURE_P3 # Power BI (Free) have BI_AZURE_P0 # # For a complete list of service plans refer to # https://docs.microsoft.com/azure/active-directory/enterprise-users/licensing-service-plan-reference # # NOTE: This does not include people that opted for a # Power BI Pro Trial or PPU Trial within the service. # There is no way to get trial information programmatically.
$PBIUsers = @()
$AllUsers = Get-AzureADUser -Filter "UserType eq 'Member'"
$UserDetails = foreach ($user in $AllUsers){
$validUser = $False
$licenseDetails = Get-AzureADUserLicenseDetail -ObjectId $user.objectid | Select-Object -ExpandProperty ServicePlans
foreach($sp in $licenseDetails){
if($sp.ServicePlanName -eq "BI_AZURE_P2" -and $sp.ProvisioningStatus -eq "Success"){$validUser = $True} elseif($sp.ServicePlanName -eq "BI_AZURE_P3" -and $sp.ProvisioningStatus -eq "Success"){$validUser = $True} elseif($sp.ServicePlanName -eq "BI_AZURE_P0" -and $sp.ProvisioningStatus -eq "Success"){$validUser = $True}
}
# User has a Power BI license - add them to the list if($validUser -eq $True){$PBIUsers += $user} }
# Could have duplicates so exclude dupes $LicensedUsers = $PBIUsers | SELECT ObjectId
#** Identifying Users Approach 2: # Active Power BI Users # #** Identifying Users Approach 2.a: # Users who have signed into Power BI # # NOTE: This requires the user running this command to have # an Azure AD Premium license.
$SignedInUsers = Get-AzureADAuditSignInLogs -Filter "appDisplayName eq 'Microsoft Power BI'" | Select-Object @{Name="ObjectId";Expression={$_.UserId}} -Unique
# ** Identifying Users Approach 2.b: # Users who have used Power BI (via Audit Log) # # Use the approach provided in this blog: # https://powerbi.microsoft.com/blog/using-power-bi-audit-log-and-powershell-to-assign-power-bi-pro-licenses/
#**** Choose which users to include in the app setup policy **** # # ** Select users approach 1: # All licensed users (at your desired licensing level) # # This approach helps you expand awareness of Power BI in your # organization, to more quickly drive a data culture.
$FinalUserList = $LicensedUsers | SELECT ObjectId
#** Select users approach 2: Active users # # This approach helps you slowly add users who use Power BI. # It helps existing users get more done in Teams. However, # it can be harder to communicate proactively to your # organization to educate them on the availability of Power BI # in Teams, since these users will get the app pre-installed # or pre-pinned only after they use the Power BI service. # The list of sign-in users can be hard to retrieve for longer # than 24 hours since the commandlets can take a long time # to run. If you’re looking for a more gradual roll-out # approach a great option is to use security groups # for specific departments in your app setup-policy. # # Note: signedIn users will include all users, those with # licenses, those on trials, and those to sign-in but didn’t # have a license and needed to request a license.
# $FinalUserList = $SignedInUsers | SELECT ObjectId
#** Select users approach 3: # Licensed and Active users # # This approach ensures only those users who are both have # signed in and have an assigned Power BI license get the # Power BI app. This can work well but will miss many users # who occasionally use Power BI. Use the earlier strategies # to encourage these occasional users to use Power BI more # often in decision making. It also won't include trial users.
# $FinalUserList = Compare-Object $LicensedUsers $SignedInUsers -IncludeEqual | Where-Object {$_.SideIndicator -eq "=="} | Select-Object -ExpandProperty InputObject | SELECT ObjectId
# Optional Export the list to a file # $FinalUserList | SELECT ObjectId | Export-Csv -Path $OUTPUT_PATH -NoTypeInformation -Force
# Add the users to a security group, creating one if it doesn’t # exist
$group = Get-AzureADGroup -Filter "DisplayName eq 'Power BI in Teams Setup Policy Group'"
if($group.count -lt 1) {
New-AzureADGroup -Description "Group used to automatically pre-install or pre-pin Power BI in Microsoft Teams" -DisplayName "Power BI in Teams Setup Policy Group" -MailEnabled $false -SecurityEnabled $true -MailNickName "pbiMSTPolicy" $group = Get-AzureADGroup -Filter "DisplayName eq 'Power BI in Teams Setup Policy Group'"
}
foreach($user in $FinalUserList){
Add-AzureADGroupMember -ObjectId $group.ObjectId -RefObjectId $user.ObjectId
}
#**** Assign an app setup policy to the group # # NOTE 1: First go to Teams Admin center to create the desired # app setup policy as outlined earlier in this document. To run # this command the user must have the Microsoft Teams # Administrator role. # # NOTE 2: Teams policies apply in a precedence order and # individual users may only be in one policy. The examples # sets -Rank 1 to make the policy have the highest # precedence, but this could be superseded by a future # policy action. # # NOTE 3: Teams app pinning policies when applied cause user # pinned apps to be unpinned. If you’re worried about this # impact in your organization, create a policy that installs # the app, but does not pre-pin it. # # Refer to documentation # https://docs.microsoft.com/en-us/powershell/module/teams/new-csgrouppolicyassignment?view=teams-ps # https://docs.microsoft.com/en-us/microsoftteams/teams-powershell-install#install-teams-powershell-pu... # # Required if you’re using PowerShell 5.1
Install-Module PowerShellGet -Force -AllowClobber
# NOTE: Documentation says you should request a preview version of # MicrosoftTeams, however the current production version is # 2.0.0.0 and includes the require functions.
Install-Module MicrosoftTeams
# You may need to call Connect-AzureAD first
Import-Module MicrosoftTeams
$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
New-CsGroupPolicyAssignment -GroupId $group.ObjectId -PolicyType TeamsAppSetupPolicy -PolicyName "Power BI in Teams Setup Policy Group" -Rank 1
# There are several alternative options you may evaluate, # though leveraging a security group is likely the easiest # to maintain. These include direct installation of an app # and batch assignment of users to a policy. # # Refer to # https://docs.microsoft.com/en-us/powershell/module/teams/add-teamsappinstallation?view=teams-ps # https://docs.microsoft.com/en-us/powershell/module/teams/new-csbatchpolicyassignmentoperation?view=t...
# Add-TeamsAppInstallation -AppId 1c4340de-2a85-40e5-8eb0-4f295368978b -UserId <please provide>
# New-CsBatchPolicyAssignmentOperation -PolicyType TeamsAppSetupPolicy -PolicyName "Power BI in Teams Setup Policy Group" -Identity $users_ids -OperationName "Batch assign Power BI"
Thank you for reading this guide and we hope it has helped you enable Power BI for Microsoft Teams more broadly in your organization.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.