Power Bi
Lộ trình phát triển toàn diện Power Bi theo tiêu chuẩn quốc tế nilbuild/developer-roadmap
Hướng dẫn từng bước từ nền tảng đến chuyên sâu giúp bạn làm chủ Power Bi. Tích hợp tài liệu lý thuyết, bài viết thực chiến, video tham khảo và bài tập lập trình trực tiếp trên IDE.
Nền Tảng & Khái Niệm Cốt Lõi
Giai đoạn 1 tập trung hoàn thiện 30 chủ đề then chốt.
Access Control
Access control covers the mechanisms that determine who can see or interact with specific data and content in Power BI, spanning row-level security, object-level security, and workspace roles. It works at multiple levels, from restricting entire reports to filtering which rows a specific user can see within the same report. Proper access control is essential once Power BI content contains sensitive or role-specific data.
Accessibility
Accessibility in Power BI covers making reports usable for people with visual, motor, or cognitive impairments, including features like keyboard navigation, screen reader support, and color choices that work for color blindness. Report authors can add alt text to visuals and check contrast ratios to meet these needs. Building with accessibility in mind also tends to make reports clearer for all users, not just those with specific needs.
Advanced DAX
Advanced DAX covers techniques beyond the core functions, such as quick measures, field parameters, visual calculations, and calculation groups, which solve more specialized reporting problems. These features often exist to reduce the amount of manual DAX needed for common but complex patterns. They are typically introduced only after the fundamentals of context and filtering are solid.
Advanced Editor
The Advanced Editor is a text view in Power Query that shows and lets users directly edit the full M code behind a query. It is used to write custom logic, fix errors that the interface cannot show clearly, or copy queries between files. Changes made here update the applied steps shown in the standard interface.
Advanced Visuals
Advanced visuals are analytical tools that go beyond standard charts, including the decomposition tree, key influencers, small multiples, and the Q&A visual, each aimed at deeper exploration of the data rather than simple presentation. They are often used for exploratory analysis rather than a fixed, polished dashboard. These visuals tend to have more configuration options than basic chart types.
Aggregation Functions
Aggregation functions in DAX, such as SUM, AVERAGE, COUNT, and MIN, combine values across rows into a single number. They form the basis of most measures, often summing or averaging a column across whatever rows are visible given the current filter context. Many other DAX functions build on top of these basic aggregations.
Aggregations
Aggregations in Power BI store pre-summarized versions of a large, detailed table, allowing queries at high summary levels to hit the smaller aggregated table instead of the full detail. This speeds up report performance significantly for very large DirectQuery or Import datasets. Power BI can automatically detect when a query can use an aggregation table instead of the base table.
APIs
Power BI can pull data from web APIs that return structured data, usually in JSON or XML format, using the web connector or custom M queries. This lets reports pull in live data from services that expose an API endpoint, such as internal systems or SaaS platforms. Authentication for APIs often needs API keys, OAuth, or other credentials configured in the connection settings.
Appending Tables
Appending tables stacks two or more tables with matching columns on top of each other, combining their rows into a single table. It works like a union in SQL and is common when combining monthly files or data pulled from multiple similar sources into one query. Power Query handles column matching automatically when column names align, and flags mismatches when they don't.
Applied Steps
Applied Steps is the panel in Power Query that lists every transformation applied to a query, in the order they were performed. Each step can be renamed, edited, reordered, or deleted, which makes it possible to build a query gradually and adjust earlier steps without starting over. Clicking on a step shows a preview of the data at that exact point in the transformation.
Apps
Apps in Power BI package a workspace's reports and dashboards into a single, polished experience for end users to consume, without giving them access to the underlying workspace itself. They are published separately from the workspace and can be updated on a controlled schedule rather than reflecting every workspace change instantly. Apps are the typical way Power BI content gets distributed to a broad audience within an organization.
Audit Logs
Audit logs record user activity across the Power BI tenant, such as who viewed, edited, or shared specific content and when. Administrators use these logs to investigate security incidents, monitor usage patterns, or meet compliance requirements. Logs can be accessed through the Microsoft Purview compliance portal or pulled programmatically for further analysis.
Bar & Column Charts
Bar and column charts represent values as horizontal or vertical bars, sized proportionally to the value they represent, making them well suited for comparing values across categories. Column charts are generally preferred for showing change over time, while bar charts work better with long category labels. They are among the most commonly used visuals because most audiences read them easily.
Bookmarks
Bookmarks capture the current state of a report page, including filters, slicer selections, and visual visibility, so that state can be restored later with a single click. They are often combined with buttons to build guided navigation, such as toggling between different views of the same data. Bookmarks are also used to simulate features Power BI does not natively support, like a simple tab-based layout.
Buttons & Navigation
Buttons in Power BI can trigger actions like navigating to another page, applying a bookmark, or opening a web URL, letting report builders create custom navigation beyond the default page tabs. This is commonly used to build a menu-style navigation system across a multi-page report. Buttons can also be set up as visual toggles combined with bookmarks to show or hide specific elements.
CALCULATE Function
CALCULATE is the function in DAX that modifies the filter context under which an expression is evaluated, by adding, removing, or replacing filters. It underlies most non-trivial DAX formulas, including time intelligence functions, which are internally built using CALCULATE with date-based filter arguments. Learning how CALCULATE's filter arguments interact with existing report filters is a key step in becoming proficient at DAX.
Calculated Tables & Columns
Calculated tables and columns are new tables or columns created using DAX formulas rather than loaded directly from a data source. They are computed at data refresh time and stored in the model, unlike measures which calculate on the fly when a visual is rendered. They are useful for things like generating a date table or adding a static classification column, but they increase model size since their results are stored.
Calculation Groups
Calculation groups let a set of DAX logic, such as time intelligence patterns, be applied to any measure without duplicating that logic per measure. Instead of writing separate year-over-year measures for every existing measure, a single calculation item can apply that transformation to whichever measure a user selects. They are set up through external tools like Tabular Editor rather than Power BI Desktop directly.
Certified Datasets
Certified datasets are datasets that have been reviewed and approved by a designated authority within an organization, marked with a badge that signals to other users that the data is trustworthy and ready for reuse. Certification helps prevent duplicate, inconsistent versions of the same dataset from spreading across an organization. Users building new reports are encouraged to build on certified datasets rather than creating their own from scratch.
Changing Dates
Date transformations in Power Query let users extract parts of a date, such as year, month, or day of week, and calculate differences between dates. This is useful for building time-based fields needed later in reports, like fiscal year or quarter. Power Query recognizes date and datetime types, which unlocks these transformation options in the ribbon.
Changing Numbers
Numeric transformations in Power Query cover operations like rounding, changing sign, calculating percentages, and applying arithmetic between columns. These are used to standardize numeric data or derive new values, such as converting a raw amount into a percentage of total. The transformations can be applied to a single column or between multiple selected columns.
Changing Text
Power Query includes text transformation functions for tasks like changing case, trimming whitespace, extracting substrings, and replacing characters within a column. These operations are common when cleaning inconsistent text data coming from different sources, such as mismatched capitalization or extra spaces. Most of them are available directly from the ribbon without writing M code manually.
Clouds
Power BI includes connectors for cloud platforms such as Azure, Google services, Amazon Web Services, and Salesforce. These connectors handle the authentication and data structure specific to each cloud provider, so users do not need to write custom code to reach the data. Cloud connectors are common in organizations that already store their data in a cloud warehouse or SaaS platform.
Collaboration
Collaboration features in Power BI Service support teams working together on the same content, including commenting on reports, sharing within workspaces, and coordinating through Microsoft Teams integration. These features are aimed at making Power BI usable as a shared analytics platform rather than a single-author tool. They matter more as the number of people using and building reports within an organization grows.
Columns vs Measures
Calculated columns compute a value for every row in a table and store the result physically in the model, while measures calculate a value on the fly based on the current filter context of a visual. Columns are useful when a value needs to be sliced or filtered on directly, while measures are used for aggregations that should respond dynamically to whatever is selected in a report. Choosing the wrong one can lead to unnecessary model size or incorrect calculation behavior.
Combination Charts
Combination charts overlay two different visual types, most commonly a column chart and a line chart, sharing the same category axis but often using separate value axes. They are used to compare two related measures with different scales, such as sales volume and profit margin, in a single visual. This avoids forcing two very different metrics onto the same axis scale.
Composite Keys
A composite key uses more than one column together to uniquely identify a row and to form a relationship between tables, used when no single column is unique on its own. Power BI supports this by allowing a relationship built on a concatenated key column created during data transformation. It is common when a natural single-column key does not exist in the source data.
Conditional Columns
Conditional columns let a user create a new column based on if-then-else logic applied to existing columns, without writing M code by hand. The interface lets you define multiple conditions and their corresponding outputs, similar to a nested if statement. This is often used to bucket values into categories, such as labeling sales figures as high, medium, or low.
Conditional Formatting
Conditional formatting changes the appearance of values in a visual, such as cell background color in a table, based on rules tied to the underlying data. It is commonly used to highlight values above or below a target, using color scales, rules, or icons like arrows. This makes patterns in the data easier to notice at a glance without reading every number.
Connection Modes
Connection mode determines how Power BI interacts with a data source: whether it copies the data into its own storage or queries the source live each time a report runs. The main modes are Import, DirectQuery, Dual Storage, and Direct Lake, each with different trade-offs between performance, data freshness, and source load. Choosing a mode affects report speed, refresh strategy, and how large a dataset can practically be.
Kỹ Năng Trọng Tâm & Thực Hành
Giai đoạn 2 tập trung hoàn thiện 30 chủ đề then chốt.
Context and Filtering
Context and filtering describes how DAX determines which rows are considered when evaluating a formula, based on filters applied by slicers, visuals, and the formula itself. Getting consistent results in DAX depends on correctly understanding what context a measure is being evaluated in. This is often considered the hardest concept for people learning DAX.
Context and Filtering
Context and filtering describes how DAX determines which rows are considered when evaluating a formula, based on filters applied by slicers, visuals, and the formula itself. Getting consistent results in DAX depends on correctly understanding what context a measure is being evaluated in. This is often considered the hardest concept for people learning DAX.
Context Transition
Context transition happens when CALCULATE turns the current row context into an equivalent filter context, which occurs whenever CALCULATE is used inside a row context, such as within a calculated column. This mechanism explains behavior that otherwise seems inconsistent, like a measure returning different results depending on where it is called from. It is one of the more subtle but important behaviors to understand in DAX.
Cross Filter Direction
Cross filter direction determines whether filtering flows only from the one side to the many side of a relationship, or in both directions. Single direction is the default and usually the safer choice, while bidirectional filtering is used carefully in specific cases like many-to-many relationships. Setting it incorrectly can cause unexpected results or circular filtering issues in more complex models.
Cross-filtering
Cross-filtering is the default behavior in Power BI where clicking on a data point in one visual filters the other visuals on the same page automatically. It happens because visuals on a page interact with each other based on shared fields in the data model, without needing extra configuration. This interaction can be adjusted or turned off for specific visual pairs through the edit interactions setting.
Custom Columns
Custom columns are new columns created in Power Query using a formula written in the M language, giving more flexibility than the conditional column builder. They allow calculations that reference multiple columns or use M functions not exposed in the standard UI. This is a common entry point for users moving from the graphical interface into writing M code directly.
Custom Tooltips
Custom tooltips replace the default hover text on a visual with a separate report page designed specifically to show extra detail, such as a small chart or additional metrics. They are built as a normal report page but marked as a tooltip page and sized accordingly. This lets a report show richer context on hover without cluttering the main visual itself.
Custom Visuals
Custom visuals are chart types built by Microsoft or third parties beyond the default set included in Power BI, imported from the AppSource marketplace or a local file. They extend what can be shown beyond the built-in visual gallery, covering things like specialized chart types or interactive widgets. Custom visuals can carry their own performance and security considerations since they run custom code inside the report.
Dashboards vs Reports
A report in Power BI is a multi-page collection of interactive visuals connected to a single dataset, while a dashboard is a single page of pinned tiles that can pull from multiple different reports and datasets. Dashboards are meant for a high-level, at-a-glance summary, while reports support deeper interactive exploration. Tiles on a dashboard link back to the report or visual they were pinned from.
Data & Infrastructure
Data and infrastructure covers the backend components that support Power BI's data connectivity and refresh, including gateways, refresh scheduling, and datasets or dataflows. These pieces operate behind the scenes to keep published reports connected to their data sources reliably. They matter most to whoever administers data sources for an organization, rather than to report authors themselves.
Data Categorization
Data categorization tags a column with a specific type of real-world data, such as geographic coordinates, web URLs, or barcodes. This lets Power BI apply appropriate default behaviors, like recognizing a column as a city name so it can be used correctly on a map visual. It does not change the underlying data, only how Power BI interprets and displays it.
Data Loss Prevention
Data loss prevention policies scan Power BI content for sensitive information, such as credit card numbers or personal data, and can flag or block reports that expose it inappropriately. These policies typically integrate with Microsoft Purview's broader data loss prevention framework used across Microsoft 365. They act as an automated safeguard against sensitive data being shared beyond its intended audience.
Data Profiling
Data profiling in Power Query shows statistics about a column's contents, such as the distribution of values, the percentage of errors, and the percentage of empty values. It helps catch data quality problems before they reach the model, like unexpected nulls or outliers. The feature includes column quality, column distribution, and column profile views, each showing a different angle on the data.
Data Source Types
Power BI can connect to many kinds of data sources, grouped broadly into databases, files, APIs, web and open data, and cloud services. Each source type uses its own connector inside Power BI, with settings for authentication and query options specific to that source. Picking the right source type and connector is the first step before any transformation work begins.
Data Types & Casting
Setting data types in Power Query tells Power BI how to interpret each column, such as whole number, decimal, date, or text. Correct typing affects both storage size and what operations are available later, since date functions or numeric aggregations only work if the column has the matching type. Casting a column to the wrong type, like reading a date as text, can cause errors or slow down the model.
Databases
Power BI connects to relational and analytical databases such as SQL Server, PostgreSQL, MySQL, and Oracle through native connectors. These connectors typically support both import and DirectQuery modes, letting the choice depend on data volume and refresh needs. Database connections often require credentials and, for on-premises systems, a gateway to reach the data securely.
Datasets & Dataflows
A dataset in the Power BI Service is the data model behind a published report, including its tables, relationships, and measures. A dataflow is a separate, reusable set of Power Query transformations stored in the cloud, which multiple datasets can reference instead of duplicating the same transformation logic in each report. Dataflows help centralize data preparation across many reports built by different teams.
DAX Performance
DAX performance concerns how efficiently a formula executes, influenced by factors like the choice between iterators and aggregations, the size of tables being filtered, and how CALCULATE's filters are constructed. Poorly written DAX can turn a simple report into a slow one, even on a small dataset. Tools like Performance Analyzer and DAX Studio help identify which specific measures are the bottleneck.
DAX Syntax
DAX syntax follows a formula structure similar to Excel, starting with a name and an equals sign, followed by functions and references to columns or tables written in a specific notation. Table names are typically written in plain reference and column references use the table name followed by the column name in brackets. Getting the syntax right, including matching parentheses and correct references, is a common early hurdle for new DAX writers.
DAX vs. M Language
DAX and M serve different purposes in Power BI: M transforms and shapes data before it is loaded into the model, while DAX calculates values within the model itself, used for measures, calculated columns, and calculated tables. M operates on the whole table during a query or refresh, whereas DAX often calculates based on the current filter context in a report. Knowing which language applies to which stage avoids confusion when deciding where to solve a data problem.
Decomposition Tree
The decomposition tree is a visual that lets users break down a total into its contributing parts across multiple dimensions, choosing which dimension to expand at each step or letting Power BI's AI find the highest or lowest contributing value automatically. It is used for root-cause style exploration, such as figuring out which product or region is driving a change in a metric. Each branch of the tree can be expanded interactively without needing to redesign the report.
Deployment Pipelines
Deployment pipelines let teams manage separate development, test, and production environments for their Power BI content, promoting reports and datasets through each stage in a controlled way. This mirrors common software development practices, catching issues in a test environment before they reach production users. Pipelines also support rules for automatically swapping data sources or parameters between environments.
Design Principles
Design principles in Power BI cover general practices for making reports clear and effective, such as using consistent color schemes, avoiding chart clutter, and prioritizing the most important information. Good design guides the viewer's attention to what matters rather than decorating the report unnecessarily. These principles borrow heavily from general data visualization and UX design practices, applied specifically to report building.
Desktop
Power BI Desktop is the free Windows application used to connect to data sources, transform data with Power Query, build the data model, write DAX measures, and design report pages. Most of the development work happens here before a file is published to the Power BI Service. It supports local development without needing an internet connection until publishing time.
Direct Lake
Direct Lake is a storage mode built for Microsoft Fabric that reads data directly from files in a data lake without importing or duplicating it, while still delivering query speed close to Import mode. It avoids the usual DirectQuery performance penalty because it reads the lake's columnar file format natively. This mode is specific to datasets built on OneLake within Microsoft Fabric.
DirectQuery
DirectQuery is a connection mode where Power BI sends queries directly to the source database each time a report visual is viewed or filtered, rather than storing a copy of the data. This keeps the report always in sync with the source but depends on the source database's performance to respond quickly. It is often used for very large datasets that are impractical to import in full.
Drill-through & Drill-down
Drill-through lets a user right-click a data point and jump to a separate detail page filtered to that specific selection, while drill-down lets a user click into a hierarchy within the same visual to see a more granular level, like moving from year to month. Both give users a way to go from a summary view into more detail without cluttering the main report with every level at once. They rely on either a defined hierarchy or a separate page set up specifically to receive drill-through filters.
Dual Storage Mode
Dual storage mode lets a table be configured to use both Import and DirectQuery, switching between them depending on the type of query Power BI needs to run. It is commonly used for large fact tables where recent data stays in DirectQuery for freshness while historical data is imported for speed. This setup requires careful design of aggregation tables to work well.
Explore Feature
The Explore feature lets report viewers open a visual into a larger, dedicated analysis view where they can add or remove fields, change the visual type, and dig deeper without editing the original report. It gives non-report-builders a way to do lightweight self-service analysis on top of an existing report. Changes made in Explore mode do not affect the original report unless explicitly saved back.
Facts & Dimensions
Fact tables hold measurable, numeric data such as sales amounts or transaction counts, usually at a fine level of detail with many rows. Dimension tables hold descriptive attributes, like product names or customer regions, that get connected to facts through relationships and used to filter or group them. Separating facts from dimensions is the core idea behind a star schema.
Kiến Trúc Nâng Cao & Tối Ưu
Giai đoạn 3 tập trung hoàn thiện 30 chủ đề then chốt.
Field Parameters
Field parameters let report users switch which field or measure a visual displays through a slicer, without needing a separate visual for each option. They are implemented as a special calculated table that lists the available fields, referenced dynamically inside the visual. This makes reports more flexible, letting one chart serve for multiple different metrics.
Field Visibility
Field visibility settings let modelers hide columns or tables from the report view while keeping them available for calculations. This is used to declutter the field list for report builders, hiding technical or intermediate fields that should not be dragged directly into a visual. Hidden fields can still be referenced inside measures.
Files
Power BI can import data directly from files such as Excel workbooks, CSV files, text files, XML, JSON, and PDF tables. File-based sources are common for smaller or ad hoc datasets that are not stored in a formal database. Power Query reads the file structure and lets the user select which sheets or tables to load.
Formatting & Filtering
Formatting and filtering covers the set of features used to control how a report looks and what data it displays, including themes, conditional formatting, sorting, and slicers. These tools shape both the visual presentation and the interactivity available to report viewers. They are typically applied after the core visuals and data model are already in place.
Formatting & Themes
Formatting and themes control the visual appearance of a report, including colors, fonts, and visual styling, either set individually per visual or applied consistently across a whole report using a theme file. A theme is a JSON file that defines a color palette and style rules, letting an organization apply consistent branding across multiple reports at once. Manual formatting on individual visuals overrides whatever the theme sets by default.
Formatting & Filtering
Formatting and filtering covers the set of features used to control how a report looks and what data it displays, including themes, conditional formatting, sorting, and slicers. These tools shape both the visual presentation and the interactivity available to report viewers. They are typically applied after the core visuals and data model are already in place.
Fundamentals
DAX fundamentals cover the basic building blocks needed to write formulas in Power BI: syntax, function categories, and the difference between columns and measures. Getting these basics solid is necessary before tackling more advanced concepts like context and filtering. Most DAX formulas are built by combining a handful of core functions in different ways.
Gauges, Cards, & KPIs
Gauges, cards, and KPI visuals display a single value prominently, often compared against a target or goal. Cards show one number plainly, gauges represent it on a dial with a target marker, and KPI visuals combine a value, trend, and goal into one compact visual. These are common on dashboards meant to give an at-a-glance status check.
Governance
Governance in Power BI covers the policies and processes an organization puts in place to manage data quality, security, and consistency across all Power BI content, including standards for certified datasets, sensitivity labeling, and monitoring usage. It becomes more important as the number of reports and users grows within an organization. Administrators typically oversee governance through tenant-level settings in the Power BI admin portal.
Granularity
Granularity refers to the level of detail represented by each row in a fact table, such as one row per transaction versus one row per day. Choosing the right granularity affects both performance and what kinds of calculations are possible, since aggregating up is easier than breaking data down further after the fact. Mismatched granularity between related tables is a common source of modeling problems.
Handling Errors
Power Query flags rows where a transformation fails, such as a text value that cannot convert to a number, and marks them as errors rather than stopping the whole query. These errors can be removed, replaced with a default value, or kept for review, depending on how the discrepancy should be handled. Left unresolved, errors will cause the refresh to fail once the query tries to load that data into the model.
Hierarchies
Hierarchies in Power BI let you navigate data across multiple levels of detail, such as year to quarter to month to day. Built from related columns or tables, they enable drill-up and drill-down in reports and can be defined in the data model or directly in Power Query.
Hierarchies
A hierarchy in the data model groups related columns into a drill path, such as Year, Quarter, Month, and Day, so users can navigate from a summary level down to detail in a single visual. Hierarchies are built by dragging one column onto another in the model view or fields pane. They make it easier for report users to explore data without needing separate visuals for each level of detail.
How Data Flows
Data in Power BI moves through a pipeline: it gets pulled from a source using a connector, cleaned and reshaped in Power Query, loaded into a data model, and then visualized in reports. Depending on the connection mode, data can be imported and stored inside Power BI or queried live from the source at report load time. Understanding this flow helps in deciding where to fix an issue, whether at the source, during transformation, or in the model itself.
Import Mode
Import mode loads a copy of the source data into Power BI's own compressed in-memory storage, called VertiPaq. Once imported, report visuals query this local copy, which makes interactions fast regardless of the original source's speed. The trade-off is that data is only as current as the last scheduled or manual refresh.
Incremental Refresh
Incremental refresh configures a dataset to only reload recent data on each refresh, rather than reprocessing the entire history every time. It uses date-based partitions defined with parameters, refreshing a small recent window while leaving older partitions untouched. This significantly cuts refresh time and resource use for large, growing datasets.
Installing Power BI
Installing Power BI Desktop involves downloading it from the Microsoft Store or the Power BI website and running the setup file; most users require no special configuration. The Service and Mobile app do not need to be installed in the same sense: the Service runs in a browser, and Mobile is installed like any other app from an app store. Organizations sometimes manage Desktop installation through their own software deployment tools instead of individual downloads.
Integrations
Integrations cover the ways Power BI connects with other tools and platforms beyond its own ecosystem, including Excel, Python and R, Microsoft Fabric, Power BI Embedded, and the REST API. These integrations extend what Power BI can do or let its content be used inside other applications. They are relevant to more advanced or custom use cases beyond typical report building.
Interactivity
Interactivity refers to the features that let report viewers explore data dynamically rather than viewing a static image, including cross-filtering between visuals, drill-through, bookmarks, and buttons. These features turn a report into a tool for investigation rather than just a summary. Designing good interactivity requires thinking about how a viewer will naturally want to explore the data.
Introduction
Power BI is a business intelligence tool from Microsoft for connecting to data, transforming it, and building interactive reports and dashboards. It combines a desktop authoring app, a cloud service for publishing and sharing, and a mobile app for viewing reports on the go. Analysts and business users use it to turn raw data from spreadsheets, databases, and cloud services into visual insights without writing much code.
Iterator Functions
Iterator functions in DAX, such as SUMX, AVERAGEX, and FILTER, loop through a table row by row, evaluating an expression for each row before combining the results. They are needed when a calculation cannot be expressed as a simple aggregation of an existing column, such as multiplying quantity by price for each row before summing. Iterators are one of the more powerful but performance-sensitive tools in DAX.
Joins
Joins in Power Query, called merges, combine two tables side by side based on matching values in one or more key columns. Users choose a join type such as inner, left outer, right outer, or full outer, which determines which rows are kept when matches are found or missing. This is the main way to bring related tables together before loading them into the data model.
Key Influencers
The key influencers visual analyzes what factors are most strongly associated with a change in a chosen metric, using a statistical model behind the scenes to identify contributing variables. It ranks factors by their relative influence and shows how each one affects the outcome, such as which customer attributes are associated with churn. This visual automates a type of analysis that would otherwise require manual statistical work.
Language Layer
The language layer in Power Query refers to the underlying M language that powers every transformation, whether built through the graphical interface or written by hand. Every point-and-click action in Power Query generates M code behind the scenes, visible in the Advanced Editor. Understanding this layer lets users go beyond what the UI exposes.
Layout Frameworks
Layout frameworks are structured approaches to arranging visuals on a report page, such as grid-based layouts or a defined visual hierarchy that guides the eye from summary to detail. They help keep reports consistent across pages and easier to build quickly once a template pattern is established. Many teams develop a standard layout framework to apply across all their reports for a unified look.
Licensing Tiers
Power BI is offered through a few licensing tiers: Free, Pro, Premium Per User, and Premium capacity, each unlocking a different set of features and limits. Free covers basic report building and viewing, Pro adds sharing and collaboration, and the Premium tiers add larger dataset sizes, more frequent refreshes, and dedicated capacity for an organization. Choosing the right plan depends on how many people need access and how heavy the reporting workload is.
Line & Area Charts
Line charts connect data points with a continuous line, making them the standard choice for showing trends over a continuous axis like time. Area charts are a variation that fills the space beneath the line, which can help emphasize volume or make it easier to compare multiple stacked series. Both work best when there are enough data points to show a clear trend rather than isolated values.
Logical Functions
Logical functions in DAX, such as IF, AND, OR, and SWITCH, evaluate conditions and return different results depending on whether they are true or false. They are used to build conditional logic within a measure or calculated column, similar to conditional statements in other languages. SWITCH is commonly preferred over nested IF statements once there are more than two or three conditions.
M Language Basics
M is the functional language used by Power Query to define data transformations. Every query is a sequence of steps expressed as M expressions, with each step referencing the result of the one before it. Learning its syntax, such as let and in blocks, lets users write custom logic beyond what the graphical interface supports.
Maps
Map visuals plot data geographically, using either points on a map for specific locations or shaded regions for values tied to areas like states or countries. Power BI supports a few map types, including standard maps, filled maps, and ArcGIS-based maps for more advanced geographic analysis. They rely on location data being correctly recognized, often helped along by setting the right data category on the relevant column.
Hệ Sinh Thái & Triển Khai Thực Tế
Giai đoạn 4 tập trung hoàn thiện 30 chủ đề then chốt.
Matrix & Table Visuals
Table visuals display data in rows and columns similar to a spreadsheet, while matrix visuals add the ability to group rows and columns into a pivot-table style structure with expandable hierarchies. Both are used when users need to see exact numbers rather than a visual summary, or need to drill into totals and subtotals. Matrix visuals in particular support features like row and column grouping that plain tables do not.
Microsoft Fabric
Microsoft Fabric is Microsoft's unified data platform that brings together data engineering, data warehousing, and data science alongside Power BI, all built on a shared storage layer called OneLake. Power BI datasets within Fabric can use Direct Lake mode to query data stored in OneLake without a separate import step. Fabric represents a shift toward Power BI being one part of a broader integrated analytics platform rather than a standalone tool.
Mobile App
The Power BI mobile app, in the context of the Service, is where published reports and dashboards become available for viewing on phones and tablets once a user has access through the Service. It supports features like push notifications for data alerts and offline access to recently opened reports. Reports viewed on mobile can automatically adjust to phone-friendly layouts if one has been designed for them.
Mobile
Power BI Mobile is the app for iOS and Android that lets users view reports and dashboards on their phone or tablet. It supports touch-optimized layouts, offline caching of recently viewed reports, and alerts when a metric crosses a threshold. It is meant for consuming reports rather than building them.
Model Objects
Model objects refer to the different building blocks that make up a Power BI data model: tables, columns, calculated columns and tables, measures, hierarchies, and aggregations. Each object type serves a different purpose, from storing raw data to defining calculations. Understanding what each object does is necessary for structuring a model correctly.
Model Optimization
Model optimization covers techniques to reduce a data model's size and improve its query speed, such as removing unused columns, choosing efficient data types, and reducing cardinality where possible. Since Power BI's in-memory engine compresses data based on column cardinality, fewer unique values in a column generally means better compression. Optimization matters most as datasets grow into the millions of rows.
Model Organization
Model organization covers how tables, columns, and measures are structured and displayed to make a data model easy to navigate for report builders. This includes grouping related measures, hiding technical columns, and setting up clear folders within the model view. A well-organized model reduces confusion for anyone building reports on top of it.
Naming Conventions
Naming conventions are consistent rules for how tables, columns, and measures are named within a model, such as using clear business terms instead of database field names. Consistent naming makes a model easier to understand for anyone building reports, especially in larger organizations with many contributors. This often includes deciding on casing style, abbreviations, and how to group related fields with prefixes.
Object-Level Security
Object-level security restricts access to entire tables or columns in the data model, hiding them completely from certain users rather than just filtering rows. It is used when specific columns, like salary or other sensitive fields, should not be visible to some users at all, regardless of row-level filters. This is set up through external tools like Tabular Editor rather than the standard Power BI Desktop interface.
On-premises Data Gateway
The on-premises data gateway is software installed on a local machine that lets the Power BI Service securely connect to data sources that live inside a private network, such as an on-premises SQL Server. It acts as a bridge, forwarding queries from the cloud to the source without exposing the source directly to the internet. A gateway is required whenever a scheduled refresh or DirectQuery needs to reach data not otherwise accessible from the cloud.
Paginated Reports (RDL)
Paginated reports are print-ready, pixel-perfect reports built with Report Builder and defined in RDL format, designed to render consistently across page sizes for printing or PDF export. Unlike regular Power BI reports, they are built for exact layout control rather than interactive exploration. They are often used for things like invoices, regulatory documents, or operational reports that need a fixed, predictable format.
Parameters & Functions
Parameters in Power Query are named values that can be reused across queries, such as a file path or a date range, making it easy to update many queries at once by changing a single value. Custom functions extend this by wrapping a query into a reusable block of logic that can be called with different inputs. Together they support building scalable, repeatable transformation logic instead of duplicating steps.
Performance Analyzer
Performance Analyzer is a built-in Power BI Desktop tool that records how long each visual takes to render, broken down by DAX query time, visual display time, and other processing. It helps pinpoint whether a slow report is caused by an inefficient measure, a heavy visual, or the underlying data model. Recorded traces can also be exported for deeper analysis in external tools.
Pie & Donut Charts
Pie and donut charts show how a total is divided into parts, with each slice sized proportionally to its share of the whole. They are best used with only a handful of categories, since too many slices become hard to read and compare accurately. A donut chart is the same concept with a hole in the middle, often used to also display a total value.
Pivot & Transpose
Pivoting turns unique values in one column into multiple new columns, reshaping data from a long format into a wide format, while transpose flips rows into columns and vice versa entirely. These operations are used to reshape data that arrives in a structure unsuited for reporting, such as a table where dates run down instead of across. Unpivoting, the reverse of pivoting, is often needed just as often when source data is already wide.
Power Automate
Power Automate integrates with Power BI to trigger automated workflows based on events in a report, such as a button click that kicks off an approval process or sends a notification. It connects Power BI to hundreds of other services and apps without needing custom code. This turns a report from a passive viewing experience into something that can initiate real business processes.
Power BI Ecosystem
The Power BI ecosystem is made up of three main components: Desktop for building reports, Service for publishing and collaborating in the cloud, and Mobile for viewing content on phones and tablets. Each piece serves a different stage of the workflow, from authoring to consumption. Together they cover the full cycle from raw data to a report someone checks on their phone.
Power BI Embedded
Power BI Embedded lets developers embed Power BI reports and dashboards into their own applications or websites, using a dedicated Azure capacity rather than requiring end users to have their own Power BI license. It is aimed at software vendors who want to include analytics inside their own product. The embedding is done through APIs and SDKs that control the report's appearance and behavior within the host application.
Power BI with Excel
Power BI integrates with Excel in a couple of directions: Excel workbooks can connect to a Power BI dataset to analyze it using PivotTables, and Power BI reports can be exported to Excel for further ad hoc analysis. This lets users work in whichever tool suits a particular task while sharing the same underlying data. It is useful for users more comfortable with Excel who still want access to a centralized, governed dataset.
Power Query vs. Data Model
This distinguishes the two stages of Power BI's pipeline: Power Query, which happens before data is loaded, and the data model, which is where the loaded tables, relationships, and measures live. Some transformations can be done in either place, but Power Query changes affect the row-level data at refresh time, while the model layer, through calculated columns and measures, works with data already loaded. Deciding where to do a given transformation affects performance and refresh behavior
Power Query
Power Query is the data transformation engine inside Power BI used to connect, shape, and clean data before it is loaded into the model. It provides a graphical interface for common operations like filtering rows, renaming columns, and merging tables, and it records each step so the transformation is repeatable. Behind the scenes, it generates M code that runs whenever the data is refreshed.
Publishing and Sharing
Publishing and sharing covers the process of moving a report from Power BI Desktop into the cloud service and making it available to others. This includes choosing a workspace to publish to, setting permissions, and deciding whether to share individual reports, dashboards, or a packaged app. It is the step that turns a local file into something colleagues can access.
Publishing and Sharing
Publishing and sharing covers the process of moving a report from Power BI Desktop into the cloud service and making it available to others. This includes choosing a workspace to publish to, setting permissions, and deciding whether to share individual reports, dashboards, or a packaged app. It is the step that turns a local file into something colleagues can access.
Publishing Reports
Publishing a report uploads it from Power BI Desktop to a chosen workspace in the Service, making the report and its underlying dataset available in the cloud. Once published, the report can be shared, scheduled for refresh, and viewed through a browser without needing Desktop installed. Any changes made in Desktop need to be republished to update the version in the Service.
Python & R
Power BI supports using Python and R scripts both inside Power Query for data transformation and as visuals for custom charts not available in the standard visual gallery. This requires a local Python or R installation and library setup on the machine running Desktop. It is used when a specific statistical technique or chart type falls outside what Power BI natively provides.
Python in Power Query
Power BI allows running Python scripts as a transformation step inside Power Query, which requires a local Python installation. This lets users apply Python libraries for tasks that go beyond M's built-in capabilities, such as certain statistical operations or custom parsing logic. The output of the script becomes a table that Power Query can continue transforming.
Q&A Visual
The Q&A visual lets report viewers type a question in natural language and get an automatically generated chart in response, using Power BI's natural language query engine. It relies on well-named fields and synonyms configured in the model to correctly interpret what is being asked. This gives less technical users a way to explore data without needing to know how to build a visual manually.
Query Folding
Query folding is when Power Query translates its transformation steps back into a query that runs on the source system, such as SQL, instead of pulling all the raw data and transforming it locally. This pushes the processing work to the source, which is usually faster and lighter on memory. Not all steps fold, and checking the native query lets you see how far folding goes before it breaks.
Quick Measures
Quick measures are pre-built DAX calculations generated automatically through a dialog interface, covering common patterns like running totals, year-over-year change, or weighted averages. They are useful for users who need a common calculation without writing DAX from scratch, and the generated formula can be viewed and edited afterward. They serve as a learning tool as well, since users can see how the underlying DAX for that pattern is structured.
Refresh & Change Detection
Refresh settings determine how often a dataset in the Service pulls updated data from its source, on a schedule or triggered manually. Change detection is a feature that checks a lightweight query first to see whether the underlying data has actually changed before running a full, more expensive refresh. This reduces unnecessary load on the source system when data has not changed since the last check.
Chuyên Gia & Mở Rộng Hệ Thống
Giai đoạn 5 tập trung hoàn thiện 29 chủ đề then chốt.
Relationships and Cardinality
Cardinality describes the relationship between the number of matching rows on each side of a relationship, such as one-to-many, many-to-many, or one-to-one. Power BI needs to know the cardinality to correctly propagate filters between tables. Most well-designed models rely on one-to-many relationships between a dimension and a fact table.
Relationships
Relationships connect tables in the data model, defining how filtering on one table affects another. Power BI infers relationships based on matching column names when possible, but they can also be set manually with the specific keys and direction chosen by the modeler. A well-designed set of relationships is what allows a single slicer to filter across multiple visuals correctly.
Removing Duplicates
Removing duplicates in Power Query eliminates rows that repeat identical values across selected columns, keeping the dataset clean for accurate counts and aggregations. This is done through a built-in step that compares rows and drops repeats, based on the columns chosen for comparison. It matters especially when combining data from multiple sources that might overlap.
REST API
The Power BI REST API lets developers interact with Power BI programmatically, covering tasks like refreshing a dataset, managing workspace content, or embedding reports, without using the standard user interface. It is commonly used to automate repetitive administrative tasks or integrate Power BI actions into custom applications. Authentication to the API typically uses Azure Active Directory tokens.
Role-Playing Dimensions
A role-playing dimension is a single dimension table used in multiple different contexts within the same fact table, such as a date table used for both order date and ship date. Since Power BI only allows one active relationship between two tables at a time, extra relationships must be set inactive and activated within DAX using USERELATIONSHIP, or duplicated as separate tables. This pattern comes up often with date dimensions in sales and logistics data.
Row-Level Security
Row-level security restricts which rows of data a user can see within a report, based on rules defined in the data model and tied to the user's identity. Roles are set up in Power BI Desktop with DAX filter expressions, then assigned to specific users or groups in the Service. This lets a single report be shared broadly while each viewer only sees the data relevant to them, such as their own region's sales.
Row vs Filter Context
Row context is the context that exists when a formula evaluates one row at a time, such as inside a calculated column or an iterator function, while filter context is the set of filters currently applied from visuals, slicers, and other measures. A single formula can be affected by both at once, and confusing the two is a frequent source of unexpected results. Functions like CALCULATE are what let one type of context interact with, or convert into, the other.
Scatter & Bubble Charts
Scatter charts plot two numeric values against each other on separate axes, revealing relationships or clusters between the two variables. Bubble charts extend this by adding a third dimension, represented by the size of each point. Both are used to explore correlation or distribution patterns that bar or line charts cannot easily show.
Schema Design
Schema design is the process of deciding how tables in a data model relate to each other and how data is organized for reporting. Good schema design balances query performance, ease of writing DAX, and the ability of the model to scale as more data or relationships are added. Star schema is the most common target design in Power BI models.
Sensitivity Labels
Sensitivity labels classify Power BI content, such as reports or datasets, according to its confidentiality level, using the same labeling system as Microsoft Purview across other Microsoft 365 apps. These labels can carry protection settings, like restricting export or requiring encryption when the content is exported to a file. They help organizations track and control sensitive data as it moves between different formats and applications.
Service
Power BI Service is the cloud-based platform, accessed through a browser, where published reports live. It handles workspaces, sharing, scheduled refresh, dashboards, and collaboration features that Desktop alone cannot provide. Once a report is published from Desktop, users manage its distribution and permissions from the Service.
Sharing & Permissions
Sharing and permissions control who can view or edit Power BI content, managed through workspace roles, direct sharing links, and row-level security for data-specific restrictions. Permissions can be set at different levels, from an entire workspace down to an individual report or dataset. Getting this right balances making data accessible to the people who need it while restricting it from those who should not see it.
Slicers and Filters
Slicers are visual controls placed directly on a report page that let viewers filter the data interactively, such as choosing a specific year or category. Filters serve a similar purpose but are configured through a separate filter pane and can apply at the visual, page, or entire report level rather than as a visible control. Together they give report viewers control over what data they see without needing to edit the report itself.
Small Multiples
Small multiples splits a single visual into a grid of smaller versions, one per category, all sharing the same axis scale for easy comparison. This lets users compare a trend or pattern across many categories at once without needing a separate visual for each one. It is useful when comparing something like sales trends across many regions on a single page.
Sorting Data
Sorting controls the order in which categories or rows appear within a visual, whether alphabetically, by value, or by a custom sort order defined through a separate sort-by column. Getting sort order right matters especially for categorical axes where a meaningful order, like months or a defined ranking, needs to be preserved rather than defaulting to alphabetical. Sort settings can be adjusted per visual independently of how the underlying table is ordered.
Splitting Columns
Splitting columns divides a single column into multiple columns, based on a delimiter, a fixed number of characters, or by position. This is useful for cases like separating a full name into first and last name, or breaking apart a combined date and time field. Power Query keeps track of the split as one of the applied steps, so it can be adjusted later.
Star vs Snowflake Schema
A star schema connects a central fact table directly to each dimension table, keeping dimensions flat and denormalized. A snowflake schema instead breaks dimensions into further related sub-tables, normalizing them, which adds extra joins the model has to traverse. Star schema is generally preferred in Power BI because it performs better and simplifies DAX writing.
Subscriptions and Alerts
Subscriptions send scheduled snapshots of a report or dashboard by email, while alerts notify a user when a specific metric on a dashboard tile crosses a threshold they define. Both features let users stay informed without needing to actively check the report themselves. Alerts are only available on dashboard tiles with numeric values like cards and gauges, not on every visual type.
Table Manipulation
Table manipulation functions in DAX, such as FILTER, ALL, VALUES, and SUMMARIZE, return or transform entire tables rather than single values, which are then used inside other functions like calculations or iterators. They let a formula work with a modified version of a table, such as removing a filter or reducing it to unique values. These functions are central to writing more advanced DAX beyond simple aggregations.
Tenant Settings
Tenant settings are organization-wide configuration options managed by Power BI administrators, controlling things like whether users can share content externally, use certain features, or install custom visuals. These settings apply across the entire organization rather than a single workspace. They are the main lever administrators have for balancing user flexibility against organizational risk.
Time Intelligence
Time intelligence functions in DAX, such as DATEADD, SAMEPERIODLASTYEAR, and TOTALYTD, handle calculations that compare or accumulate values across time periods. They rely on having a proper date table marked as such in the model, with a continuous range of dates. These functions are behind common report needs like year-over-year growth or year-to-date totals.
Variables in DAX
Variables in DAX, defined with VAR and used with RETURN, let a formula store an intermediate result and reuse it later in the same expression instead of recalculating it. This improves both readability, since the logic is broken into named steps, and performance, since the value is computed only once. Variables have become the standard way to structure any DAX formula beyond the simplest one-liner.
Visual Calculations
Visual calculations are a newer type of DAX calculation defined directly on a visual rather than in the model, evaluated on the data already aggregated and displayed in that visual. They simplify certain patterns, like running totals or rank within a visual, that would otherwise need more complex model-level DAX. Because they operate after the visual's own aggregation, their syntax and behavior differ somewhat from regular measures.
Visualization Basics
Visualization basics cover the standard chart types available in Power BI and how to choose the right one for a given kind of data or comparison. Each chart type suits certain scenarios better than others, such as bar charts for category comparisons or line charts for trends over time. Picking the right visual type is often more important to communication than any formatting applied afterward.
Web & Open Data
This category covers connecting to data published on the open web, including HTML tables scraped from web pages and open data portals from governments or organizations. Power BI's web connector can parse a webpage and detect tables it can extract automatically. It is useful for pulling in public datasets that do not have a dedicated API or database.
Window Functions
Window functions in DAX, like OFFSET, INDEX, and WINDOW, let a calculation reference rows relative to the current one within an ordered set, such as the previous row or a moving range. They are newer additions to DAX aimed at simplifying calculations that previously needed more complex workarounds, such as running totals or period-over-period comparisons. They work closely with the concept of ordering and partitioning within a table.
Workflow & Lifecycle
Workflow and lifecycle covers the processes used to manage Power BI content as it moves from development to production, including automation through Power Automate and structured promotion through deployment pipelines. These practices bring more discipline to how reports are built, tested, and released, similar to software development practices. They matter most in larger organizations managing many reports across multiple environments.
Workspace Roles
Workspace roles define what a user can do within a specific workspace, ranging from admin, with full control, down to viewer, with read-only access. These roles determine actions like who can publish new reports, manage workspace settings, or simply view existing content. Assigning the right role for each person balances collaboration needs against the risk of unintended changes.
Workspaces
Workspaces are containers in the Power BI Service that hold related reports, dashboards, datasets, and dataflows, typically organized around a team or project. Access to a workspace is controlled through roles like admin, member, contributor, and viewer, which determine what each user can do inside it. Content is usually developed and shared within a workspace before being packaged into an app for broader distribution.