Skip to content

Commit

Permalink
Merge branch 'dev' into flanakin/dev/data-resourcetypes-2024-08
Browse files Browse the repository at this point in the history
  • Loading branch information
flanakin authored Aug 27, 2024
2 parents d7303ea + 8171240 commit 0cd46f0
Show file tree
Hide file tree
Showing 542 changed files with 28,444 additions and 12,521 deletions.
8 changes: 4 additions & 4 deletions .github/policies/issues-03-needs-info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ configuration:
- Remove the `Needs: Attention 👋` label
- Label with `Needs: Triage 🔍`
if:
- or
- or:
- payloadType: Issues
- payloadType: Issue_Comment
- or
- or:
- labelAdded:
label: 'Needs: Information'
- labelAdded:
Expand All @@ -62,10 +62,10 @@ configuration:
- Remove the `Needs: Attention 👋` label
- Label with `Needs: Triage 🔍`
if:
- or
- or:
- payloadType: Issues
- payloadType: Issue_Comment
- or
- or:
- hasLabel:
label: 'Needs: Information'
- hasLabel:
Expand Down
55 changes: 21 additions & 34 deletions docs/_reporting/power-bi/README.md

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion docs/_reporting/power-bi/_intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@

The FinOps toolkit Power BI reports provide a great starting point for your FinOps reporting. We recommend customizing them to keep what works, edit and augment reports with your own data, and remove anything that isn't needed. You can also copy and paste visuals between reports to create your own custom reports.

If you're just getting started and have less than $2-5 million to report on, start with the [Cost Management connector report](/finops-toolkit/power-bi/connector) that leverages the [Microsoft Cost Management connector for Power BI](https://aka.ms/costmgmt/powerbi). If you run into performance issues or need to report on more than $5 million, use [FinOps hubs](/finops-toolkit/hubs) with the other available reports and configure incremental refresh. The main difference between the two is that the connector is built into Power BI and requires no external setup, while FinOps hubs requires resources to be deployed to your subscription, which enable additional capabilities. Most organizations can use the connector, depending on the reporting requirements. FinOps hubs is generally for more advanced scenarios. For details, see [Help me choose](/finops-toolkit/power-bi#%EF%B8%8F-help-me-choose).
FinOps toolkit reports support several ways to connect to your cost data. We generally recommend starting with Cost Management exports, which supports up to $2-5 million in monthly spend. If you experience data refresh timeouts or need to report on data across multiple directories or tenants, please use [FinOps hubs](/finops-toolkit/hubs), a data pipeline solution that optimizes data and offers additional functionality. For additional details and help choosing the right backend, see [Help me choose](/finops-toolkit/power-bi#%EF%B8%8F-help-me-choose).

Please note support for the [Cost Management connector for Power BI](https://aka.ms/costmgmt/powerbi) is available for backwards compatibility, but is not recommended. The Microsoft Cost Management team is no longer updating the Cost Management connector and instead recommends exporting data.
19 changes: 10 additions & 9 deletions docs/_reporting/power-bi/rate-optimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Commitment discount chargeback, savings, and coverage.
- [Commitments](#commitments)
- [Savings](#savings)
- [Chargeback](#chargeback)
- [Coverage](#coverage)
- [Reservation recommendations](#reservation-recommendations)
- [Purchases](#purchases)
- [Hybrid Benefit](#hybrid-benefit)
- [Prices](#prices)
Expand Down Expand Up @@ -126,30 +126,31 @@ The chart shows the amortized cost for each subscription that used a commitment.

<br>

## Coverage
## Reservation recommendations

There are two **Coverage** pages that help you identify any places where you could potentially save even more based on your historical usage patterns with virtual machine reservations within a single subscription or shared across all subscriptions.
The **Reservation recommendations** page helps you identify any places where you could potentially save even more based on your historical usage patterns with virtual machine reservations within a single subscription or shared across all subscriptions.

These pages use the following filters for reservation recommendations:

- **Term** – Length of time for a reservation.
- **Lookback** – Period of historical time to use when recommending future reservations (e.g., 7-day, 30-day).
- **Subscription** – Indicates which subscription you want to see recommendations for on the subscription coverage page. All are shown by default.
- **Lookback** – Period of historical time to use when recommending future reservations (e.g., 7-day, 30-day). Options are based on data you export.
- **Scope** – Indicates whether to view shared or single scope recommendations. Options are based on data you export.
- **Subscription** – Indicates which subscription you want to see recommendations for. All are shown by default.

The KPIs on this page cover:

- **Potential savings** shows what you could save if you purchase the recommended VM reservations.
- **On-demand cost** shows the cost that would be covered by the recommended reservations.
- **Contracted cost** shows the cost that would be covered by the recommended reservations.

There are 2 charts on the page that offer a breakdown of location, instance size flexibility group, and size; and, CPU hours over time. Your goal is to increase the committed usage in green and spend in blue in order to decrease the on-demand cost in red, which costs you more.
There are 2 charts on the page that offer a breakdown of location, instance size flexibility group, and size; and, CPU hours over time. Your goal is to increase the committed usage in green and spend in blue in order to decrease the contracted cost in red, which costs you more.

The table below the charts shows the recommended reservations based on the specified lookback period.

<blockquote class="important" markdown="1">
_Potential savings and on-demand cost estimations are only available for VM reservation recommendations. You can view savings plan and reservation recommendations for other services in the Azure portal._
_Potential savings and contracted cost estimations are only available for VM reservation recommendations. This page has not been tested for non-VM recommendations. You can view savings plan and reservation recommendations for other services in the Azure portal._
</blockquote>

> ![Screenshot of the VM shared reservation coverage page](https://github.com/microsoft/finops-toolkit/assets/399533/5123b47d-cea2-4961-9237-6cbcae5a58e1)
> ![Screenshot of the Reservation recommendations page](https://github.com/user-attachments/assets/e3be3bbe-1a24-48e9-90ff-b9b209dbfd56)
<br>

Expand Down
79 changes: 30 additions & 49 deletions docs/_reporting/power-bi/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,57 +43,32 @@ The FinOps toolkit Power BI reports include pre-configured visuals, but are not

![Screenshot of the Transform data button in the Power BI Desktop toolbar.](https://user-images.githubusercontent.com/399533/216573265-fa76828f-c9a2-497d-ae1e-19b55fef412c.png)

![Screenshot of instructions to connect to a storage account](https://github.com/user-attachments/assets/3723c94b-d853-420e-9101-98d1ca518fa0)

<!--
1. In the **Queries** pane on the left, set the **🛠️ Setup** > **Data source** property.
- `Cost Management exports` requires read access to an EA or MCA billing account or billing profile.
- `FinOps hubs` requires [Storage Blob Data Reader](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-reader) access to the storage account deployed with your hub.
-->

1. If connecting to a FinOps hub instance, set the following properties:

- **Storage URL** is the URL of your hub storage account. Copy this value from the portal:
1. Open the [list of resource groups](https://portal.azure.com/#view/HubsExtension/BrowseResourceGroups) in the Azure portal.
2. Select the hub resource group.
3. Select Deployments in the menu.
4. Select the **hub** deployment.
5. Select **Outputs**.
6. Copy the value for `storageUrlForPowerBI`.
- If you customized the deployment to use compressed CSV instead of Parquet, change **FileType** to `.gz`. Most people will not change this.
- Change **RangeStart** and **RangeEnd** to the desired start/end dates for your report. The default is the current calendar year. Consider using your fiscal year.
1. If connecting to a FinOps hub instance, set the **Hub Storage URL**.
1. Open the [list of resource groups](https://portal.azure.com/#view/HubsExtension/BrowseResourceGroups) in the Azure portal.
2. Select the hub resource group.
3. Select **Deployments** in the menu.
4. Select the **hub** deployment.
5. Select **Outputs**.
6. Copy the value for `storageUrlForPowerBI`.
2. If connecting directly to Cost Management exports, set the **Export Storage URL**.
1. Open the desired storage account in the Azure portal.
2. Select **Settings** > **Endpoints** in the menu.
3. Copy the **Data Lake Storage** URL.
4. Append the container and export path, if applicable.
3. Change **RangeStart** and **RangeEnd** to the desired start/end dates for your report. The default is the current calendar year. Consider using your fiscal year.
<blockquote class="warning" markdown="1">
_[Enable incremental refresh](https://learn.microsoft.com/power-bi/connect-data/incremental-refresh-configure#define-policy) to load more than $5M of raw cost details. Power BI reports can only support $2-5M of data when incremental refresh is not enabled. After incremental refresh is enabled, they can support $2-5M/month for a total of ~$65M in raw cost details._
</blockquote>
- **CM connector** settings are required for any reports that rely on data not supported in FinOps hubs yet (i.e., actual costs, reservation recommendations). Be sure to also supply those settings in the next section.
- Actual costs are included by default when the connector details are specified. If you do not want to include actual cost data from the Cost Management connector, open the **CostDetails** query in the advanced editor and change the `2` to a `1`. This will avoid calling the Cost Management connector.

![Screenshot of instructions to connect to a FinOps hub](https://github.com/microsoft/finops-toolkit/assets/399533/5582b428-e811-4d7e-83d0-4a8fbb905d30)

2. If using the [Cost Management connector report](./connector.md) or [Rate optimization report](./rate-optimization.md), set the following properties in the **🛠️ Setup** > **CM connector** folder:

- **Scope** is your EA enrollment number or MCA scope ID.
- A "scope ID" is a fully-qualified Azure resource ID for the MCA billing account or billing profile you want to connect to.
- If using the Cost Management connector report, you can connect to an MCA billing account to view cost across all billing profiles but reservation recommendations will not be available in the Coverage pages.
- If using the Rate optimization report, you must use a billing profile since the connector is used for reservation recommendations which are only available for billing profiles.
- An MCA billing account scope ID looks like `/providers/Microsoft.Billing/billingAccounts/{billingAccountId}`.
- An MCA billing profile scope ID looks like `/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}`.
- You can get the billing account and profile IDs from the Azure portal:
- Go to https://aka.ms/costmgmt/config.
- Change the scope to the desired MCA billing profile or EA billing account.
- Select the **Properties** tile.
- Copy the **ID** or **Billing account ID** values.
- **Type** is your MCA billing profile ID.
<blockquote class="note" markdown="1">
_The billing profile ID is optional for cost reports, but is required for reservation recommendations. When not specified, cost reports will include all billing profiles within the account._
</blockquote>
- **Number of Months** is the number of months of data to include in the report.
<blockquote class="warning" markdown="1">
_The Cost Management connector does not support incremental refresh and Power BI reports can only support ~$2-5M of data when incremental refresh is not enabled. You may need to adjust the number of months in your report to fit within this limit._
</blockquote>

![Screenshot of instructions to connect to the Cost Management connector](https://github.com/microsoft/finops-toolkit/assets/399533/efeb85d6-cdd3-40f8-a501-e1959fdb1d4f)

3. Select the **Close & Apply** to save your settings.
4. Select the **Close & Apply** to save your settings.

If you run into any issues syncing your data, see [Troubleshooting Power BI reports](../../_resources/troubleshooting.md).

Expand Down Expand Up @@ -137,18 +112,24 @@ If you don't need any of the custom columns and measures provided by the FinOps

If using the Cost Management connector, refer to [Create visuals and reports with the Cost Management connector](https://learn.microsoft.com/power-bi/connect-data/desktop-connect-azure-cost-management).

If using FinOps hubs, you'll use the Azure Data Lake Storage Gen2 connector:
If using exports or FinOps hubs, you'll use the Azure Data Lake Storage Gen2 connector:

1. Open your desired report in Power BI Desktop.
2. Select **Get data** in the toolbar.
3. Search for `lake` and select **Azure Data Lake Storage Gen2**
4. Set the URL using deployment outputs:
1. Open the [list of resource groups](https://portal.azure.com/#view/HubsExtension/BrowseResourceGroups) in the Azure portal.
2. Select the hub resource group.
3. Select Deployments in the menu.
4. Select the **hub** deployment.
5. Select **Outputs**.
6. Copy the value for `storageUrlForPowerBI`.
4. Set the URL of your storage account.
- If using FinOps hubs, copy the URL from deployment outputs:
1. Open the [list of resource groups](https://portal.azure.com/#view/HubsExtension/BrowseResourceGroups) in the Azure portal.
2. Select the hub resource group.
3. Select Deployments in the menu.
4. Select the **hub** deployment.
5. Select **Outputs**.
6. Copy the value for `storageUrlForPowerBI`.
- If using raw exports, copy the URL from the storage account:
1. Open the desired storage account in the Azure portal.
2. Select **Settings** > **Endpoints** in the menu.
3. Copy the **Data Lake Storage** URL.
4. Append the container and export path, if applicable.
5. Select the **OK** button.
<blockquote class="warning" markdown="1">
_If you receive an "Access to the resource is forbidden" error, grant the account loading data in Power BI the [Storage Blob Data Reader role](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-reader)._
Expand Down
Loading

0 comments on commit 0cd46f0

Please sign in to comment.