THE LINUX FOUNDATION PROJECTS
Docs navigation
On this page

    Calculate average rate of a component resource

    This query uses the ProviderName column. ProviderName is deprecated in v1.3 and will be removed in v1.4.

    FOCUS Versions

    v1.2

    Context

    Aggregate usage and pricing across multiple SKUs to compute the average cost per core for each virtual machine series by region. This common denominator supports benchmarking when billed and consumed units differ.

    FOCUS SQL Query

    SELECT
        ProviderName,
        ServiceName,
        PricingUnit,
        RegionName,
        JSON_UNQUOTE(JSON_EXTRACT(SkuPriceDetails, '$.InstanceSeries')) AS InstanceSeries, 
        SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(SkuPriceDetails, '$.CoreCount')) AS UNSIGNED)) AS TotalCoreCount,
        CASE 
            WHEN SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(SkuPriceDetails, '$.CoreCount')) AS UNSIGNED)) > 0 
            THEN SUM(EffectiveCost) / SUM(CAST(JSON_UNQUOTE(JSON_EXTRACT(SkuPriceDetails, '$.CoreCount')) AS UNSIGNED))
            ELSE NULL
        END AS AverageEffectiveCoreCost
    FROM focus_data_table
    WHERE ChargePeriodStart >= ? and ChargePeriodEnd  < ?
    AND JSON_CONTAINS_PATH(SkuPriceDetails, 'all', '$.CoreCount', '$.InstanceSeries')
    GROUP BY
        ProviderName,
        ServiceName,
        PricingUnit,
        RegionName,
        InstanceSeries

    FOCUS Datasets

    FOCUS Columns