Get Started with Power BI
Learn how to use the Power BI collection of tools to connect data, transform it, and create compelling visualizations like charts, maps, and graphs, available across desktop, web, and mobile.
Those using Mac or Windows computers can view reports, add comments, download data, create subscriptions, and receive alerts through our . You can also use the service to make new reports and build data models directly.
The Basics
- - terms and concepts
- - find and open workspaces, reports, dashboards, apps, and samples.
Connect to Data
Create Reports
- (Pro License customers)
Manage Your Content Lifecycle
Share Reports
Note: A Pro license is required to share reports.
- Internally -
- Externally -
Get Data from Snowflake
Snowflake is the preferred data lake. When discussing enterprise data sources, we will focus on Snowflake. However, you can also get data from other sources, such as SQL databases, CSV files, and existing Power BI models.
Connecting to Snowflake
To connect to Snowflake from Power BI Desktop:
- Select Get Data > More… from the toolbar.
- Search for Snowflake in the Get Data window.
- Select it, and click Connect.
- Enter the following information in the Snowflake window:
- Server: cmu-data.snowflakecomputing.com
- Warehouse: powerbi
- Click OK.
- (Optional) Use Advanced options to query your database using SQL if you prefer.
- When prompted to authenticate, do one of the following:
- Log In with your Andrew account - select Microsoft Account, click Sign In, and Connect.
- Use KeyPair - select KeyPair and enter your username and service account Private Key. Be sure to include begin and end statements in the key.
IMPORTANT: If this is your first time connecting to a service account using a keypair and you do not have an existing ODBC driver, you must download the before using this connection method. If you are using Power BI Service, you do not need to download the driver.
- Use the Navigator to find your database, schema, and table/view.
- Do one of the following:
- Use the data as is - select Load.
- Preview, modify, or filter the data - select Transform Data.
Data Preparation Decision Guide
The table below presents recommended use cases for each of the three main approaches to data preparation and transformation.
|
Task Type |
Snowflake Data Source |
Power Query |
Data Analysis Expressions (DAX) |
|
Data Integration / Joins |
Combine data for unified, performant views (Best for large, complex merges) |
Light merges or lookups (e.g., small dimension tables) |
Not recommended |
|
Data Cleansing / Standardization |
Fix inconsistencies, handle duplicates and nulls, and apply standard naming conventions |
Minor cleanup like trimming text or removing nulls (report-specific) |
Not recommended |
|
Aggregations / Summaries |
Pre-aggregate data for performance (e.g., daily to monthly summaries) |
Not recommended |
Dynamic aggregations only (e.g., SUM, AVERAGE, etc.) |
|
Filtering |
Create filtered views reused across reports |
Apply report-specific filters; reduce dataset size for model efficiency |
Use slicers or filters interactively |
|
Data Formatting / Naming |
Apply consistent naming and data types in warehouse views |
Rename or reformat fields for readability in the model/report |
Not recommended |
|
KPIs / Calculations |
Not recommended |
Not recommended |
Calculate dynamic metrics, KPIs, and explicit measures (e.g., Selectivity, Yield) |
|
Time Intelligence |
Not recommended |
Not recommended |
Use built-in functions (e.g., TOTALMTD, DATEADD, etc.) |
Connection Settings: Import versus DirectQuery
Once you load the data, you will be asked to select your Connection settings. Each connection type has its own benefits and drawbacks, so it's crucial to select your connection mode wisely.
For most use cases, Import mode is typically the best option. DirectQuery is advisable for very large data sources or cases where Snowflake row access policies require data security.
The table below compares the key features of each.
|
Feature |
Import |
DirectQuery |
|
Data Location |
Data is copied and stored in Power BI's high-performance in-memory engine. |
Data remains in the source system (e.g., Snowflake). |
|
Data Freshness |
Data is only as fresh as the last scheduled refresh. |
Data is real-time/near-real-time, as the source is queried with every report interaction. |
|
Performance |
Queries are processed instantly in Power BI's optimized memory. |
Performance depends entirely on the speed of the source database and network. |
|
Data Size Suitability |
Best for small to medium datasets. |
Best for very large datasets that cannot be imported, or when live data is essential. |
|
DAX & Modeling |
Full Functionality. Supports all DAX, including advanced Time Intelligence and calculated tables/columns. |
Limited Functionality. Some complex DAX and many Power Query transformations are restricted. |
|
Source System Load |
Low. The source is only queried during scheduled data refreshes. |
High. The source is queried live on every visual change, slicer click, or report open. |
|
"Offline" Access |
Yes. Once refreshed, the data is available for building/viewing reports without a source connection. |
No. Requires a continuous, active connection to the source database. |
In addition to the differences in key features, the table below outlines the primary differences between the two connection modes in terms of granular data access and governance.
|
Security Feature |
Import: |
DirectQuery: |
|
Security Location |
Power BI Semantic Model (Dataset) |
Snowflake |
|
User Identity |
Often uses a service account for data refresh; RLS filter is applied by Power BI Service post-refresh |
Requires Single Sign-On (SSO) to pass the end-user's identity to the source |
|
Access Control |
Done via DAX security roles defined in Power BI Desktop |
Done via native database policies (e.g., Snowflake RAPs or secure views) |
|
Security Audit |
Must audit access in Power BI (who can view the dataset) and the data source (who can access the service account) |
Audit is centralized in the Snowflake logs, recording the end-user's live queries and the data returned |
|
Data Governance |
Requires duplication of security logic; must manage rules in two places |
Centralized governance; security rules apply to all consumption tools |
|
Preferred for... |
Scenarios where data volume is low, performance is paramount, and security rules are simple/static |
Scenarios with high security requirements and complex, frequently changing row-level security |
Best Practices
To ensure data integrity, security, and scalability in Power BI, we recommend following these guidelines. They outline the core principles for managing both personal and collaborative workspaces, effectively assigning user roles, and streamlining data preparation. By adhering to these best practices, teams can create a more organized development lifecycle and deliver high-quality, actionable insights through governed applications and reports.
My Workspace
Every Power BI user gets a personal workspace called My Workspace. This space is ideal for working on projects alone, such as developing, testing, or exploring content. However, it’s not meant for sharing or production use. For collaboration or sharing reports, users should use shared workspaces. These workspaces enable controlled access, improved version management, and the ability to publish content through Power BI apps.
Workspace Setup
Access to the workspace should be configured according to the following guidelines:
- Admin - Teams should appoint one or more members as workspace administrators. Workspace administrators can update settings, manage access, and create apps.
- Member - Workspace administrators can designate other team members as members. Members can add additional users to the workspace with fewer permissions (i.e., contributors and viewers).
- Contributors - Contributors added to the workspace can develop or modify content, but they cannot change workspace access.
- Viewers - Do not use the Viewer role to share content with external users. Instead, users should access the content through an .
Data Preparation
Developers should perform the majority of data preparation at the source before consuming the data in Power BI. Minor, report-specific transformations, such as filtering data or renaming a column to make it more business-friendly, can be easily performed in Power Query. Finally, for aggregations, KPIs, and other metrics that require dynamic updates across dimensions, use Data Analytics Expressions (DAX).
Accessibility
When working with Power BI, consider who might interact with your reports. Learn how to create reports that are easy to navigate and understand for keyboard or screen readers from Microsoft's .
Administrators
A Power BI Workspace Administrator manages the area where teams collaborate, controlling access (Admin, Member, Contributor, Viewer roles), content (dashboards, reports, datasets), and settings.
Manage Your Workspace
Workspaces can be personal, intended for individual use, or shared, designed for team collaboration and content publishing to applications. They determine who has access to, can edit, or publish content, and they serve as the basis for organizing analytics within a domain or subdomain.