FOCUS in Practice

FOCUS column explorer

AWS, Azure and Google Cloud each name the same thing differently. Pick a FOCUS column to see its closest native name in each cloud, put one bill from three clouds side by side, and see where to switch on each provider's FOCUS export.

Maple Freight · tracking platform · one month · illustrative figures

Combine them: a 6-step checklist

  1. Pick one FOCUS versionUse the highest version every provider offers, and keep all exports on it.
  2. Keep history in the same formatBackfill past months with the same export, not a mix of native and FOCUS files.
  3. Load everything into one tableParquet, CSV and BigQuery all land in the same column names.
  4. Union, do not joinStack the rows. ProviderName tells you which cloud each row came from.
  5. Leave x_ columns as extrasColumns starting with x_ are provider extensions: useful, but not comparable across clouds.
  6. Agree on tag keysFOCUS gives one Tags column, not one spelling. "CostCenter" vs "cost-center" is still your job.

Starter query

SELECT ProviderName,
       ServiceCategory,
       SUM(BilledCost)    AS billed_cost,
       SUM(EffectiveCost) AS effective_cost
FROM (
  SELECT * FROM focus_aws
  UNION ALL SELECT * FROM focus_azure
  UNION ALL SELECT * FROM focus_gcp
) AS focus_all
WHERE BillingPeriodStart = DATE '2026-10-01'
GROUP BY ProviderName, ServiceCategory
ORDER BY effective_cost DESC;

Select the FOCUS columns by name in each SELECT if your exports carry different x_ extension columns.

Native names are the closest equivalents in AWS CUR 2.0, Azure cost details and Google Cloud's detailed billing export to BigQuery; they vary by export type and version, and some FOCUS values are computed from several native columns. Export status checked November 2026. Not affiliated with or endorsed by the FinOps Foundation. FOCUS™ spec content © FOCUS, a Series of Joint Development Foundation Projects, LLC, CC BY 4.0.