THE LINUX FOUNDATION PROJECTS
Docs navigation
On this page

    4.1 Column Handling

    Since: 0.5

    A FOCUS dataset consists of a set of columns that convey information about the charges incurred with a service provider. Each column describes an aspect of the charge, including but not limited to:

    • Who is responsible for incurring or delivering the service.
    • What the charge is for.
    • When the charge was incurred.
    • Where the service was delivered.
    • Why the charge was incurred for a specific price.
    • How much the charge is and how that cost is calculated.

    While FOCUS establishes the core structure and standardizes columns for consistent reporting of cost and usage data, the diverse and evolving landscape of service providers and service offerings may require service providers and data generators to include supplemental columns in the FOCUS dataset. These additional columns may enable deeper analysis and provide more detailed descriptions of usage that may not be fully captured by standard FOCUS dataset columns.

    In such cases, service providers and data generators are responsible for ensuring that their usage and cost data is accurately and comprehensively represented by including necessary supplemental columns without duplicating data in FOCUS columns. Rows in a FOCUS dataset may be aggregated or split differently than non-FOCUS datasets to align with FOCUS requirements (e.g., Discount Handling), while enriching the dataset, providers and data generators must maintain the integrity of FOCUS-defined dimensions and metrics. When performing these transformations, providers and data generators must ensure the accuracy of all dimensions and metrics, particularly summable values such as costs and quantities.

    Columns within FOCUS include an ID and a display name. Column IDs are used in files and database tables and display names can be used in report output and other descriptive content, like documentation. Column IDs provided in a FOCUS dataset follow consistent naming and ordering conventions for FinOps practitioners who consume the data for analysis, reporting, and other use cases.

    All columns defined in the FOCUS specification MUST follow the naming and ordering requirements listed below.

    4.1.3 Description

    Naming and ordering convention for columns appearing in a FOCUS dataset.

    4.1.4 Requirements

    4.1.4.1 Column Names

    • All columns defined by FOCUS MUST follow the following rules:
      • Column IDs MUST use Pascal case.
      • Column IDs MUST NOT use abbreviations.
      • Column IDs MUST be alphanumeric with no special characters.
      • Column IDs SHOULD NOT use acronyms.
      • Column IDs SHOULD NOT exceed 50 characters to accommodate column length restrictions of various data repositories.
      • Columns that have an ID and a Name MUST have the Id or Name suffix in the Column ID.
      • Column display names MUST be consistent with their Column IDs, with spaces inserted between words (e.g., Column ID "BillingAccountName" and display name "Billing Account Name").
      • Columns with the Category suffix MUST be normalized.
    • Custom (e.g., service-provider-defined) columns that are not defined by FOCUS but included in a FOCUS dataset MUST follow the following rules:
      • Custom columns MUST be prefixed with a consistent x_ prefix to identify them as external, custom columns and distinguish them from FOCUS columns to avoid conflicts in future releases.
      • Custom columns SHOULD follow the same rules listed above for FOCUS columns.

    4.1.4.2 Column Order

    • All FOCUS columns SHOULD be first in the provided dataset.
    • Custom columns SHOULD be listed after all FOCUS columns and SHOULD NOT be intermixed.
    • Columns MAY be sorted alphabetically, but custom columns SHOULD be after all FOCUS columns.

    4.1.5 Exceptions

    • Identifiers will use the "Id" abbreviation since this is a standard pattern across the industry.
    • Product offerings that incur charges will use the "Sku" abbreviation because it is a well-understood term both within and outside the industry.