From 123e0924e783485c8e90e874a87113d37fb8f700 Mon Sep 17 00:00:00 2001 From: Zoe Douglas <102261521+DataZoeMS@users.noreply.github.com> Date: Fri, 25 Oct 2024 13:24:44 -0700 Subject: [PATCH 1/4] Update power-bi-optimization.md --- powerbi-docs/guidance/power-bi-optimization.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/powerbi-docs/guidance/power-bi-optimization.md b/powerbi-docs/guidance/power-bi-optimization.md index 573c8e3d83..b8dd54b2d5 100644 --- a/powerbi-docs/guidance/power-bi-optimization.md +++ b/powerbi-docs/guidance/power-bi-optimization.md @@ -22,14 +22,28 @@ This article provides guidance that enables developers and administrators to pro ## Optimizing the data model -The data model supports the entire visualization experience. Data models are either hosted in the Power BI ecosystem or externally (by using DirectQuery or Live Connection), and in Power BI they are referred to as *semantic models*—[previously known as datasets](../connect-data/service-datasets-rename.md). It's important to understand your options, and to choose the appropriate semantic model type for your solution. There are three semantic model modes: Import, DirectQuery, and Composite. For more information, see [Semantic models in the Power BI service](../connect-data/service-datasets-understand.md), and [Semantic model modes in the Power BI service](../connect-data/service-dataset-modes-understand.md). +The data model supports the entire visualization experience. Data models are either hosted in the Power BI ecosystem or externally (by using DirectQuery or Live Connection), and in Power BI they are referred to as *semantic models*—[previously known as datasets](../connect-data/service-datasets-rename.md). It's important to understand your options, and to choose the appropriate semantic model type for your solution. There are three semantic model table storage modes: Import, DirectQuery, and Composite. For more information, see [Semantic models in the Power BI service](../connect-data/service-datasets-understand.md), and [Semantic model modes in the Power BI service](../connect-data/service-dataset-modes-understand.md). -For specific semantic model mode guidance, see: +For specific semantic model table storage mode guidance, see: - [Data reduction techniques for Import modeling](import-modeling-data-reduction.md) - [DirectQuery model guidance in Power BI Desktop](directquery-model-guidance.md) - [Composite model guidance in Power BI Desktop](composite-model-guidance.md) +### Optimizing for report authors and model consumers + +The semantic model is the foundation of all reporting in Power BI. Consumers of the semantic model can create Power BI reports in Power BI Desktop by connecting to a published semantic model or connecting to data and creating a local semantic model. The semantic model can also be used to create Power BI reports in the browser, create [Power BI explorations](/power-bi/consumer/explore-data-service), create [paginated reports](/power-bi/consumer/end-user-paginated-report), create [DAX queries](/power-bi/transform-model/dax-query-view), and create reports in Excel with [Analyze in Excel](/power-bi/collaborate-share/service-connect-power-bi-datasets-excel), [connecting to Power BI in Excel](/power-bi/collaborate-share/service-connect-excel-power-bi-datasets), or [exporting data from a report visual](/power-bi/visuals/power-bi-visualization-export-data?tabs=powerbi-desktop), as well as many other reporting tools. A semantic model author can help semantic model consumers understand and utilize the semantic model with how they build the model. + +- **Names**: Tables, columns, and measures in the semantic model with descriptive names. For example, 'Store Sales' as a table name is more intuitive than 'Table1'. +- **Descriptions**: Tables, columns, and measures in the model can have descriptions added to them to provide more detail than can fit in the name. Explain not only what they include but how they should be used. +- **Hide**: You can hide tables, columns, and measures in the model to show only what you expect them to use in a report. For example, relationship columns may be an ID that is not necessary for reporting and can be hidden as it's not expected to be used in a report, or data columns that have a measure to aggregate the column could be hidden to encourage use of the measure instead. Hidden objects can always be unhidden later by the model consumer, so they will still be available, but hiding can provide focus. +- **Hierarchies**: You can create hierarchies to convey the hierarchy across multiple columns. For example, a Calendar hierarchy may contain Year, Month, Day columns, and a Product hierarchy may contain Category, Sub-Category, Product columns. Right-click a column to create a hierarchy. +- **Measures**: You can use [measures](/power-bi/transform-model/desktop-measures) to aggregate data columns in the semantic model to provide consitency across reports. Measures can range from the SUM of a column, to a health index combining multiple aggregations in a specific way or comparing aggregations across time periods, such as daily average this month compared to the daily average of the same month last year. Measures can also be surfaced in Power BI search and other features, such as [Metrics and Scorecards](/power-bi/create-reports/service-goals-introduction). +- **Formats**: You can specify how a column or measure is displayed in a visual, by default. Values in visuals can be customized further in the visual. Format options include if it has a thousands comma, how many decimal places, how a date is shown, etc. You can also apply [custom](/power-bi/create-reports/desktop-custom-format-strings) or [dynamic](/power-bi/create-reports/desktop-dynamic-format-strings) formats. +- Data category: You can specify a column [data category](/power-bi/transform-model/desktop-data-categorization), such as if it's a Country or Web URL. + +These are common features of Power BI semantic model that can be leveraged to help your report authors and model consumers. There are many others, such as [calculation groups](/power-bi/transform-model/calculation-groups), [field parameters](/power-bi/create-reports/power-bi-field-parameters), [what if parameters](/transform-model/desktop-what-if), and [grouping and binning columns](/power-bi/create-reports/desktop-grouping-and-binning), which should be evaluated to see if they apply your specific reporting needs. + ## Optimizing visualizations Power BI visualizations can be dashboards, Power BI reports, or Power BI paginated reports. Each has different architectures, and so each has their own guidance. From 3bb88fcb95e2db2569d3ca31a5590c70cb453a67 Mon Sep 17 00:00:00 2001 From: Zoe Douglas <102261521+DataZoeMS@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:17:15 -0700 Subject: [PATCH 2/4] Update copilot-evaluate-data.md --- powerbi-docs/create-reports/copilot-evaluate-data.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/powerbi-docs/create-reports/copilot-evaluate-data.md b/powerbi-docs/create-reports/copilot-evaluate-data.md index 7a54591ea0..311a0664a2 100644 --- a/powerbi-docs/create-reports/copilot-evaluate-data.md +++ b/powerbi-docs/create-reports/copilot-evaluate-data.md @@ -21,7 +21,7 @@ Before you start using Copilot with your semantic model, evaluate your data. You [!INCLUDE [copilot-notes](../includes/copilot-notes.md)] -## Considerations for datasets for Copilot use +## Considerations for semantic models for Copilot use The following table lists the criteria to help you create accurate reports with Copilot. These items are recommendations that can help in generating accurate Power BI reports. @@ -43,6 +43,13 @@ The following table lists the criteria to help you create accurate reports with |Security | Role-Level Definitions | Define security roles for different levels of data access if there are sensitive elements that not all users should see. | Sales team members can see sales data but not HR data. | |Metadata | Documentation of Structure | Document the structure of the data model, including tables, columns, relationships, and measures, for reference. | A data dictionary or model diagram provided as a reference. | +The following table lists additional criteria to help you create accurate [DAX queries with Copilot](/dax/dax-copilot). These items are recommendations that can help in generating accurate DAX queries. + +|Element | Consideration | Description | Example | +|---------|---------|---------|-----| +|Measures, tables, and columns | Descriptions | Include what it is and how you intend each element to be used in the description property. Note: Only first 200 characters are used. | [YOY Sales] description could be "Year-over-year (YOY) difference in Orders. Use with the 'Date'[Year] column to show by years other than the latest year. Partial years will compare to same period of prior year." | +|Calculation groups | Descriptions | Calculation items are not included in the model metadata. Use the description of the calculation group column to list and explain the use of the calculation items. Note: Only first 200 characters are used. | For example, the [Time intelligence sample](/analysis-services/tabular-models/calculation-groups?view=asallproducts-allversions#time-intelligence-example) calculation group column could have this description: "Use with measures & date table for Current: current value, MTD: month to date, QTD: quarter to date, YTD: year to date, PY: prior year, PY MTD, PY QTD, YOY: year over year change, YOY%: YOY as a %" and on a table with measures could expand on the usage a description such as "Measures are used to aggregate data. These measures can shown as year-over-year by using this syntax CALCULATE([Measure Name], 'Time intelligence'[Time calculation] = "YOY")" | + ## Related content - [Overview of Copilot for Power BI](copilot-introduction.md) From 387a9fc5a50558342fe134e52f7e50c8c1419469 Mon Sep 17 00:00:00 2001 From: James Barnett Date: Fri, 25 Oct 2024 15:31:09 -0700 Subject: [PATCH 3/4] Attempt to get Acrolinx > 80 --- powerbi-docs/create-reports/copilot-evaluate-data.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/powerbi-docs/create-reports/copilot-evaluate-data.md b/powerbi-docs/create-reports/copilot-evaluate-data.md index 311a0664a2..1304558fe8 100644 --- a/powerbi-docs/create-reports/copilot-evaluate-data.md +++ b/powerbi-docs/create-reports/copilot-evaluate-data.md @@ -35,11 +35,11 @@ The following table lists the criteria to help you create accurate reports with |Dimension Tables | Supportive Descriptive Data | Create dimension tables that contain the descriptive attributes related to the quantitative measures in fact tables. | "Product_Details", "Customer_Information". | |Hierarchies | Logical Groupings | Establish clear hierarchies within the data, especially for dimension tables that could be used to drill down in reports. | A "Time" hierarchy that breaks down from "Year" to "Quarter" to "Month" to "Day". | |Column Names | Unambiguous Labels | Column names should be unambiguous and self-explanatory, avoiding the use of IDs or codes that require further lookup without context. | Use "Product_Name" instead of "ProdID". | -|Column Data Types | Correct and Consistent | Apply correct and consistent data types for columns across all tables to ensure that measures calculate correctly and to enable proper sorting and filtering. | Ensure numeric columns used in calculations are not set as text data types. | +|Column Data Types | Correct and Consistent | Apply correct and consistent data types for columns across all tables to ensure that measures calculate correctly and to enable proper sorting and filtering. | Ensure numeric columns used in calculations aren't set as text data types. | |Relationship Types | Clearly Specified | To ensure accurate report generation, clearly specify the nature of relationships (active or inactive) and their cardinality. | Mark whether a relationship is "One-to-One", "One-to-Many", or "Many-to-Many". | |Data Consistency | Standardized Values | Maintain standardized values within columns to ensure consistency in filters and reporting. | If you have a "Status" column, consistently use "Open", "Closed", "Pending", etc. | |Key Performance Indicators (KPIs) | Predefined and Relevant | Establish a set of KPIs that are relevant to the business context and are commonly used in reports. | "Return on Investment (ROI)", "Customer Acquisition Cost (CAC)", "Lifetime Value (LTV)". | -|Refresh Schedules | Transparent and Scheduled | Clearly communicate the refresh schedules of the data to ensure users understand the timeliness of the data they are analyzing. | Indicate if the data is real-time, daily, weekly, etc. | +|Refresh Schedules | Transparent and Scheduled | Clearly communicate the refresh schedules of the data to ensure users understand the timeliness of the data they're analyzing. | Indicate if the data is real-time, daily, weekly, etc. | |Security | Role-Level Definitions | Define security roles for different levels of data access if there are sensitive elements that not all users should see. | Sales team members can see sales data but not HR data. | |Metadata | Documentation of Structure | Document the structure of the data model, including tables, columns, relationships, and measures, for reference. | A data dictionary or model diagram provided as a reference. | @@ -48,7 +48,7 @@ The following table lists additional criteria to help you create accurate [DAX q |Element | Consideration | Description | Example | |---------|---------|---------|-----| |Measures, tables, and columns | Descriptions | Include what it is and how you intend each element to be used in the description property. Note: Only first 200 characters are used. | [YOY Sales] description could be "Year-over-year (YOY) difference in Orders. Use with the 'Date'[Year] column to show by years other than the latest year. Partial years will compare to same period of prior year." | -|Calculation groups | Descriptions | Calculation items are not included in the model metadata. Use the description of the calculation group column to list and explain the use of the calculation items. Note: Only first 200 characters are used. | For example, the [Time intelligence sample](/analysis-services/tabular-models/calculation-groups?view=asallproducts-allversions#time-intelligence-example) calculation group column could have this description: "Use with measures & date table for Current: current value, MTD: month to date, QTD: quarter to date, YTD: year to date, PY: prior year, PY MTD, PY QTD, YOY: year over year change, YOY%: YOY as a %" and on a table with measures could expand on the usage a description such as "Measures are used to aggregate data. These measures can shown as year-over-year by using this syntax CALCULATE([Measure Name], 'Time intelligence'[Time calculation] = "YOY")" | +|Calculation groups | Descriptions | Calculation items aren't included in the model metadata. Use the description of the calculation group column to list and explain the use of the calculation items. Note: Only first 200 characters are used. | For example, the [Time intelligence sample](/analysis-services/tabular-models/calculation-groups?view=asallproducts-allversions#time-intelligence-example) calculation group column could have this description: "Use with measures & date table for Current: current value, MTD: month to date, QTD: quarter to date, YTD: year to date, PY: prior year, PY MTD, PY QTD, YOY: year over year change, YOY%: YOY as a %" and on a table with measures could expand on the usage a description such as "Measures are used to aggregate data. These measures can be shown as year-over-year by using this syntax CALCULATE([Measure Name], 'Time intelligence'[Time calculation] = "YOY")" | ## Related content From c8a0a8535ce515e96092aa6df90c2836773362ad Mon Sep 17 00:00:00 2001 From: David Iseminger Date: Fri, 25 Oct 2024 15:43:25 -0700 Subject: [PATCH 4/4] Update limitations to dynamic m params --- .../connect-data/desktop-dynamic-m-query-parameters.md | 3 ++- powerbi-docs/connect-data/refresh-data.md | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/powerbi-docs/connect-data/desktop-dynamic-m-query-parameters.md b/powerbi-docs/connect-data/desktop-dynamic-m-query-parameters.md index cc895fb643..219af60bb6 100644 --- a/powerbi-docs/connect-data/desktop-dynamic-m-query-parameters.md +++ b/powerbi-docs/connect-data/desktop-dynamic-m-query-parameters.md @@ -8,7 +8,7 @@ ms.service: powerbi ms.subservice: pbi-data-sources ms.custom: video-RE4M2hq ms.topic: how-to -ms.date: 08/28/2024 +ms.date: 10/25/2024 LocalizationGroup: Connect to data #customer intent: As a Power BI Desktop user, I want to understand dynamic M query parameters and learn how to use them to improve data filtering and optimize query performance in my reports. --- @@ -248,6 +248,7 @@ There are some considerations and limitations to take into account when you use - If you use SQL sources, you might get a confirmation dialog every time the parameter value changes. This dialog is due to a security setting: **Require user approval for new native database queries**. You can find and turn off this setting in the **Security** section of the Power BI Desktop **Options**. - Dynamic M query parameters might not work when accessing a semantic model in Excel. - Dynamic M query parameters aren't supported on Power BI Report Server. +- Switching data sources using dynamic M query parameters isn't supported in the Power BI service. See [refresh and dynamic data sources](refresh-data.md#refresh-and-dynamic-data-sources) for additional information. ### Unsupported out-of-box parameter types diff --git a/powerbi-docs/connect-data/refresh-data.md b/powerbi-docs/connect-data/refresh-data.md index 8a5ed9e9b4..e4d3348432 100644 --- a/powerbi-docs/connect-data/refresh-data.md +++ b/powerbi-docs/connect-data/refresh-data.md @@ -7,7 +7,7 @@ ms.reviewer: kayu ms.service: powerbi ms.subservice: pbi-data-sources ms.topic: how-to -ms.date: 10/22/2024 +ms.date: 10/25/2024 LocalizationGroup: Data refresh #customer intent: As a Power BI user, I want to understand data refresh features and dependencies in Power BI so that I can ensure the data in my reports and dashboards is accurate and up to date. --- @@ -294,6 +294,9 @@ To determine whether your dynamic data source can be refreshed, open the **Data If that warning is present in the **Data source settings** dialog that appears, then a dynamic data source that can't be refreshed in the Power BI service is present. +> [!IMPORTANT] +> Switching data sources using dynamic M query parameters also isn't supported in the Power BI service. + ## Configure scheduled refresh Establishing connectivity between Power BI and your data sources is by far the most challenging task in configuring a data refresh. The remaining steps are relatively straightforward and include setting the refresh schedule and enabling refresh failure notifications. For step-by-step instructions, see the how-to guide [Configure scheduled refresh](refresh-scheduled-refresh.md).