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 Power BI Service. You can also use the service to make new reports and build data models directly.
Essentials
Become familiar with fundamental terminology and concepts, and learn how to navigate the Power BI environment.
- Review the Basics of the Power BI Service to master core terms and concepts.
- Learn how to get around in the Power BI Service to locate workspaces, apps, and dashboards.
- Practice: Log in to Power BI Service and explore the interface.
Data Connections and Ingestion
Learn how to connect Power BI to various data sources safely and efficiently.
- Understand the difference between Import vs Direct Query.
- Connect to our Snowflake enterprise data lake.
- Practice: Connect to a Snowflake schema and perform basic data cleanup in Power Query before loading.
- (Optional) Connect to an Excel dataset. Note: Snowflake is the preferred data source.
Report Creation
Transform raw data into compelling visuals and leverage.
- Review the Create Report Visuals tutorial to learn how to develop charts, maps, and graphs.
- (Pro Licenses) Prepare your data for AI to improve Copilot results.
- Ensure your report meets the guidelines outlined in the Accessibility documentation.
- Practice: Build a single-page report that includes at least three distinct visual types (e.g., a bar chart, a trendline graph and a KPI card).
Sharing, Lifecycle, & Governance
Share reports securely with internal or external stakeholders while adhering to university data governance policies.
- Understand your workspace roles by reviewing the Workspace Setup guidelines.
- Review sharing protocols: use Publish an app for internal teams, and understand the strict parameters of using Publish to the web for external audiences.
- (Optional) Learn how to manage your content lifecycle leveraging deployment pipelines.
- Practice: Request a collaborative workspace if you don’t already have one. Practice publishing your completed report to a test app.
Next Steps
- New to Power BI: Attend the Dashboard in a Day (Microsoft) session or take the Power BI Bootcamp in FocusU.
- Keep Learning: Join the CMU Power BI User Group for ongoing support after completing your training. As a member of the Power BI User Group, you can ask real-time questions in the Power BI Chat.
Quick Reference
Workspace Setup
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 publishing content through Power BI apps.
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 app.
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.
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 Snowflake ODBC driver 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 |