Skip to content

Commit

Permalink
Update pricing units for Aug 2024 (#923)
Browse files Browse the repository at this point in the history
  • Loading branch information
flanakin authored Aug 23, 2024
1 parent 726a33a commit d76aa9f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 7 deletions.
7 changes: 7 additions & 0 deletions docs/_resources/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,15 @@ Legend:
🌐 Open data
{: .fs-5 .fw-500 .mt-4 mb-0 }

> ➕ Added:
>
> - [Pricing units](../_reporting/data/README.md#-pricing-units)
> 1. Added handling for the following new UnitOfMeasure values: "1 /Minute", "10 PiB/Hour", "100000 /Month", "Text".
>
> ✏️ Changed
>
> - [Pricing units](../_reporting/data/README.md#-pricing-units)
> 1. Changed DistinctUnits for the "10000s" UnitOfMeasure from "Units" to "Transactions".
> - [Services](../_reporting/data/README.md#️-services)
> 1. Moved Microsoft Genomics from the "AI and Machine Learning" service category to "Analytics".
> 2. Changed Microsoft Genomics from the "SaaS" service model to "PaaS".
Expand Down
6 changes: 5 additions & 1 deletion src/open-data/PricingUnits.csv
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ UnitOfMeasure,AccountTypes,PricingBlockSize,DistinctUnits
"1 ",EA,1,Units
"1 /Day",EA,1,Units/Day
"1 /Hour",EA,1,Units/Hour
"1 /Minute",EA,1,Units/Minute
"1 /Month",EA,1,Units/Month
"1 /Year",EA,1,Units/Year
"1 1 Hour",EA,1,Hours
Expand Down Expand Up @@ -144,6 +145,7 @@ UnitOfMeasure,AccountTypes,PricingBlockSize,DistinctUnits
"10 PB Seconds",EA,10,PB Seconds
"10 PB/Hour",EA,10,PB/Hour
"10 PiB Seconds",EA,10,PiB Seconds
"10 PiB/Hour",EA,10,PiB/Hour
"10 Pipelines",EA,10,Pipelines
"10 Rotations",EA,10,Rotations
"10 Service Endpoints",EA,10,Endpoints
Expand Down Expand Up @@ -252,6 +254,7 @@ UnitOfMeasure,AccountTypes,PricingBlockSize,DistinctUnits
"100000 ",EA,100000,Units
"100000 /Day",EA,100000,Units/Day
"100000 /Hour",EA,100000,Units/Hour
"100000 /Month",EA,100000,Units/Month
"100000 Executions",EA,100000,Executions
"100000 GB",EA,100000,GB
"100000 GB Seconds",EA,100000,GB Seconds
Expand Down Expand Up @@ -296,7 +299,7 @@ UnitOfMeasure,AccountTypes,PricingBlockSize,DistinctUnits
"10000000000 ",EA,10000000000,Units
"100000000000",EA,100000000000,Units
"100000000000 ",EA,100000000000,Units
"10000s",MCA,1,Units
"10000s",MCA,1,Transactions
"100K",MCA,100000,Units
"1024 GB",EA,1024,GB
"102400 TiB/Hour",EA,102400,TiB/Hour
Expand Down Expand Up @@ -369,6 +372,7 @@ UnitOfMeasure,AccountTypes,PricingBlockSize,DistinctUnits
"Minute(s)","MCA, EA",1,Minutes
"Per Call","MCA, EA",1,Calls
"Per Request",MCA,1,Requests
"Text",MCA,1,Messages
"Unassigned",EA,1,Units
"Unit",MCA,1,Units
"Units",MCA,1,Units
Expand Down
9 changes: 4 additions & 5 deletions src/open-data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ On this page:
## 📏 Pricing units

<sup>
📅 Updated: Jun 1, 2024<br>
📅 Updated: Aug 22, 2024<br>
➡️ Source: Cost Management team<br>
</sup>

Expand Down Expand Up @@ -60,6 +60,7 @@ Meters
| extend DistinctUnits = replace_regex(DistinctUnits, @'^Gb( ?/ ?Month)?$', @'GB\1')
//
// Clean up units per period
| extend DistinctUnits = iff(DistinctUnits matches regex '^[a-z]', strcat(toupper(substring(DistinctUnits, 0, 1)), substring(DistinctUnits, 1)), DistinctUnits) // Capitalize first word
| extend DistinctUnits = replace_string(DistinctUnits, ' / ', '/') // Don't space out the slash
| extend DistinctUnits = replace_regex(DistinctUnits, @'(App|Border|Call|Certificate|Connection|Day|Device|Domain|Hour|Key|Machine|Meter|Minute|Month|Node|Pack|Pipeline|Plan|Request|Resource|Second|Subscription|Unit|User|Website|Zone)(/.*)?$', @'\1s\2') // Always plural before slash
| extend DistinctUnits = replace_regex(DistinctUnits, @'/(Second|Minute|Hour|Day|Month)s$', @'/\1') // Always singular after slash
Expand All @@ -68,10 +69,11 @@ Meters
| extend DistinctUnits = case(
UnitOfMeasure == '10000s' and DistinctUnits == 'S', 'Transactions',
DistinctUnits == '1,000s', 'Transactions in Thousands',
DistinctUnits in ('API Calls', 'print job'), 'Requests',
DistinctUnits in ('API Calls', 'Print job'), 'Requests',
DistinctUnits == 'Concurrent DVC', 'Configurations',
DistinctUnits == 'CallingMinutes', 'Minutes',
DistinctUnits == 'Key Use', 'Keys',
DistinctUnits == 'Text', 'Messages',
DistinctUnits == 'Unassigned', 'Units',
DistinctUnits == 'VM', 'Virtual Machines',
DistinctUnits in ('MAUS', 'MAUs'), 'Users/Month',
Expand All @@ -81,7 +83,6 @@ Meters
// Prefix cleanup
| extend DistinctUnits = replace_regex(DistinctUnits, @'^1 ', '') // Remove duplicate quantity
| extend DistinctUnits = replace_regex(DistinctUnits, @'^[\s\pZ\pC]+', '') // Remove leading spaces
| extend DistinctUnits = iff(DistinctUnits matches regex '^[a-z]', strcat(toupper(substring(DistinctUnits, 0, 1)), substring(DistinctUnits, 1)), DistinctUnits) // Capitalize first word
| extend DistinctUnits = replace_regex(DistinctUnits, @'^(Per|Por) ', '') // Remove starting "per"
| extend DistinctUnits = replace_regex(DistinctUnits, @'^(Activity|Border|Content|Core|Database|Hosted|Instance|Messaging|Named|Operation|Privacy Subject Rights|Relay|Reserved|Service|Virtual User) ', '') // Trim extra adjectives
//
Expand All @@ -91,8 +92,6 @@ Meters
| extend DistinctUnits = replace_regex(DistinctUnits, @'\(s\)$', 's') // Always plural
//
| order by UnitOfMeasure asc
// Write as a single column with quotes to maintain spaces for easy copy/paste to CSV --
| project ["UnitOfMeasure,AccountTypes,PricingBlockSize,DistinctUnits"] = strcat('"', UnitOfMeasure, '",', iff(AccountTypes contains ',', '"', ''), AccountTypes, iff(AccountTypes contains ',', '"', ''), ',', PricingBlockSize ,',', DistinctUnits)
```

<br>
Expand Down
6 changes: 5 additions & 1 deletion src/powershell/Private/Get-OpenDataPricingUnit.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ function Get-OpenDataPricingUnit
,[PSCustomObject]@{ UnitOfMeasure = '1 '; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = '1 /Day'; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Units/Day'; }
,[PSCustomObject]@{ UnitOfMeasure = '1 /Hour'; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Units/Hour'; }
,[PSCustomObject]@{ UnitOfMeasure = '1 /Minute'; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Units/Minute'; }
,[PSCustomObject]@{ UnitOfMeasure = '1 /Month'; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Units/Month'; }
,[PSCustomObject]@{ UnitOfMeasure = '1 /Year'; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Units/Year'; }
,[PSCustomObject]@{ UnitOfMeasure = '1 1 Hour'; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Hours'; }
Expand Down Expand Up @@ -150,6 +151,7 @@ function Get-OpenDataPricingUnit
,[PSCustomObject]@{ UnitOfMeasure = '10 PB Seconds'; AccountTypes = 'EA'; PricingBlockSize = 10; DistinctUnits = 'PB Seconds'; }
,[PSCustomObject]@{ UnitOfMeasure = '10 PB/Hour'; AccountTypes = 'EA'; PricingBlockSize = 10; DistinctUnits = 'PB/Hour'; }
,[PSCustomObject]@{ UnitOfMeasure = '10 PiB Seconds'; AccountTypes = 'EA'; PricingBlockSize = 10; DistinctUnits = 'PiB Seconds'; }
,[PSCustomObject]@{ UnitOfMeasure = '10 PiB/Hour'; AccountTypes = 'EA'; PricingBlockSize = 10; DistinctUnits = 'PiB/Hour'; }
,[PSCustomObject]@{ UnitOfMeasure = '10 Pipelines'; AccountTypes = 'EA'; PricingBlockSize = 10; DistinctUnits = 'Pipelines'; }
,[PSCustomObject]@{ UnitOfMeasure = '10 Rotations'; AccountTypes = 'EA'; PricingBlockSize = 10; DistinctUnits = 'Rotations'; }
,[PSCustomObject]@{ UnitOfMeasure = '10 Service Endpoints'; AccountTypes = 'EA'; PricingBlockSize = 10; DistinctUnits = 'Endpoints'; }
Expand Down Expand Up @@ -258,6 +260,7 @@ function Get-OpenDataPricingUnit
,[PSCustomObject]@{ UnitOfMeasure = '100000 '; AccountTypes = 'EA'; PricingBlockSize = 100000; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000 /Day'; AccountTypes = 'EA'; PricingBlockSize = 100000; DistinctUnits = 'Units/Day'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000 /Hour'; AccountTypes = 'EA'; PricingBlockSize = 100000; DistinctUnits = 'Units/Hour'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000 /Month'; AccountTypes = 'EA'; PricingBlockSize = 100000; DistinctUnits = 'Units/Month'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000 Executions'; AccountTypes = 'EA'; PricingBlockSize = 100000; DistinctUnits = 'Executions'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000 GB'; AccountTypes = 'EA'; PricingBlockSize = 100000; DistinctUnits = 'GB'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000 GB Seconds'; AccountTypes = 'EA'; PricingBlockSize = 100000; DistinctUnits = 'GB Seconds'; }
Expand Down Expand Up @@ -302,7 +305,7 @@ function Get-OpenDataPricingUnit
,[PSCustomObject]@{ UnitOfMeasure = '10000000000 '; AccountTypes = 'EA'; PricingBlockSize = 10000000000; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000000000'; AccountTypes = 'EA'; PricingBlockSize = 100000000000; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = '100000000000 '; AccountTypes = 'EA'; PricingBlockSize = 100000000000; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = '10000s'; AccountTypes = 'MCA'; PricingBlockSize = 1; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = '10000s'; AccountTypes = 'MCA'; PricingBlockSize = 1; DistinctUnits = 'Transactions'; }
,[PSCustomObject]@{ UnitOfMeasure = '100K'; AccountTypes = 'MCA'; PricingBlockSize = 100000; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = '1024 GB'; AccountTypes = 'EA'; PricingBlockSize = 1024; DistinctUnits = 'GB'; }
,[PSCustomObject]@{ UnitOfMeasure = '102400 TiB/Hour'; AccountTypes = 'EA'; PricingBlockSize = 102400; DistinctUnits = 'TiB/Hour'; }
Expand Down Expand Up @@ -375,6 +378,7 @@ function Get-OpenDataPricingUnit
,[PSCustomObject]@{ UnitOfMeasure = 'Minute(s)'; AccountTypes = 'MCA, EA'; PricingBlockSize = 1; DistinctUnits = 'Minutes'; }
,[PSCustomObject]@{ UnitOfMeasure = 'Per Call'; AccountTypes = 'MCA, EA'; PricingBlockSize = 1; DistinctUnits = 'Calls'; }
,[PSCustomObject]@{ UnitOfMeasure = 'Per Request'; AccountTypes = 'MCA'; PricingBlockSize = 1; DistinctUnits = 'Requests'; }
,[PSCustomObject]@{ UnitOfMeasure = 'Text'; AccountTypes = 'MCA'; PricingBlockSize = 1; DistinctUnits = 'Messages'; }
,[PSCustomObject]@{ UnitOfMeasure = 'Unassigned'; AccountTypes = 'EA'; PricingBlockSize = 1; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = 'Unit'; AccountTypes = 'MCA'; PricingBlockSize = 1; DistinctUnits = 'Units'; }
,[PSCustomObject]@{ UnitOfMeasure = 'Units'; AccountTypes = 'MCA'; PricingBlockSize = 1; DistinctUnits = 'Units'; }
Expand Down

0 comments on commit d76aa9f

Please sign in to comment.