Reports

Learn how Ternary Reports enable teams to analyze cloud cost data, track trends, and support data-driven cost decisions across the organization.

Ternary Reports help teams turn raw cloud cost and usage data into structured, actionable insights. They are used to analyze spend patterns, track cost drivers, compare time periods, and support decision-making across engineering, finance, and FinOps teams. While reports can be used independently, they are often embedded into Custom Dashboards, where they are commonly used to monitor trends, investigate anomalies, and share consistent cost views with stakeholders.

What types of reports does Ternary provide?

System Reports

System Reports are pre-configured reports available to all Ternary customers and are designed to cover common cloud cost analysis needs. They provide ready-to-use views of spend, usage, and credits, and can be used as-is or copied and customized for deeper analysis. System Reports can be accessed by filtering using the System tag.

Examples of system reports include: Cost by Vendor, Gross Cost by Category, Monthly Spend to Date, and Top 10 Credits by Service Description.

Custom Reports

Custom Reports allow users to build reports tailored to specific analysis requirements. Users can choose data sources, metrics, groupings, filters, and visualizations to answer targeted cost and usage questions. Custom Reports are often used as standalone analysis tools or embedded into dashboards for ongoing monitoring.

How to create reports in Ternary?

  1. Select a data source By default, reports use FOCUS Billing as the data source. You can also select additional data sources to report on, such as billing data, BigQuery usage, or any other integrated source available in Ternary.

  2. Select the Measures Measures define what is being tracked in the report. Common measures include billed cost, effective cost, list cost, usage amount, and similar metrics.

  3. Define groupings Organize data by selecting dimensions available in the billing export, such as SKU Description or Project ID, along with cloud-native labels and Ternary Custom Labels (e.g. Application, Team Leader, etc.). Preferred labels configured in the Admin settings appear at the top of the selection list.

  4. Apply filters Refine the dataset by applying filters on dimensions or labels using supported operators, including

    • Equals / Does NOT Equal
    • Contains / Does NOT Contain
    • Is set / Is NOT Set
  5. Configure optional settings Use the ellipses menu (three dots in the upper left of the screen) to limit the number of results shown, select how credits are represented, and review x-axis settings such as time periods or category breakdowns.

  6. Choose a visualization (Optional) Choose an appropriate chart or table format to represent the data, including Line, Area, Stacked Area, Stacked Bar, Clustered Bar, Pie, Variance, KPI, or Table.

  7. Set date range and granularity By default, the report editor is set to 30 days, but it can be customized to the following options: 7 days, 90 days, month-to-date, year-to-date, or a custom range including fixed, rolling, or invoice periods. Note: To reconcile with your monthly cloud provider invoice, you should select invoice month. Granularity can be set to Hour, Day, Week, Month, or Quarter.

  8. Generate and save the report Generate the report to preview results, then save it with a defined name for future reference or use within dashboards. Save the report before adding it to a dashboard or exporting it to PDF. CSV export does not require a saved report.

    With Auto run enabled, queries follow configuration changes. In manual mode, use Run Report when the stale-results prompt shows pending query changes; visible previous results may not reflect your edits.

  9. Perform report actions Export CSV from the result table using the current configuration and selected query layer. Saved reports also support actions such as saving a copy and marking the report as a favorite. You can also create a new report or navigate to the Report Management page.

Export options and limits

PDF export requires a saved report with data and no changes waiting to be saved. It is unavailable in impact, comparison, cumulative, reverse or KPI-style modes, when negative numbers are excluded, or when results reach the display row cap. Saving alone does not make every report configuration eligible for PDF.

For CSV, select the query layer you want to export in the result table. The export uses the current configuration, report filters and applicable display limits, and can retrieve more rows than are loaded for display. Supported comparison and overlay values are included. If the main or forecast export reaches the 600,000-row cap, a warning indicates that the output may be incomplete.

The export form defaults to raw numbers. Choose formatted numbers to control decimal and thousands separators, abbreviation and negative-number notation, then inspect the preview. Choose a comma or semicolon delimiter for the receiving application. Transposed export is available outside rollup mode; rollup CSV preserves the hierarchy with parent paths and does not offer transpose.

How do filter groups combine conditions?

Use filter groups when a report needs more than a single dimension condition. AND requires every condition in a group to match; OR requires at least one. A separate AND/OR control combines one group with another.

  1. Open a report in the report builder. In its query filters, select Add Filter Group and choose a dimension or label. Choose the operator and supply the values it requires. Confirm selected values with Apply in the value picker.
  2. Select Add Condition inside the group to add another dimension condition. Set the group's AND or OR control to choose how those conditions combine. Filters select dimensions and labels, rather than report measures.
  3. To express another set of conditions, select Add Filter Group again. Configure its conditions, then set the connector between the groups to AND or OR.
  4. Generate the report and check the result against your intended selection. Use Save > Save Report to retain the grouped filters.

For example, if your source includes Project ID and a Team label, put “Project ID equals project-a” and “Project ID equals project-b” in an OR group. Add a second group for “Team equals platform” and connect the groups with AND. The report includes matching records from either project only when they also belong to the platform team.

How can another query, budget or forecast be added to a report?

Layers let you compare the main query with another dataset, a budget or a forecast in the same report. A report supports up to one additional query layer, one budget layer and one forecast layer.

  1. Open the report in the report builder and configure the main query.
  2. Select Add Layer, then choose the layer that answers your comparison question:
    • Data Layer adds another query. Choose its own data source, measure, groupings and filters. For example, use two queries to compare different filtered sets of costs.
    • Budget adds an available budget or a sub-budget from a budget hierarchy. Choose a compatible report granularity, such as Month for a monthly budget. The Budget option is unavailable at Day granularity. Review the Budget Amount and Variance columns after choosing the budget.
    • Forecast projects the selected query measure. Choose the historical lookback, future lookahead and whether to exclude partial periods.
  3. Rename layers to make the comparison clear. Use each layer's visibility control to show or hide it. Where available, the layer menu lets you move a query between the left and right axes; check each axis when interpreting series with different units or scales.
  4. Use Show in table on the query layer whose values you want to inspect. The result table shows the selected query layer, so check that selection when comparing it with the chart.
  5. Review the results, then use Save > Save Report to retain the layer configuration. Complete any save confirmation and reopen the saved report to check the saved layers.

If budget results are absent, check the report period and selected budget before interpreting the absence as a zero budget.

To simplify the report, remove an additional layer from its menu. The main query layer cannot be deleted.

How are reports managed in Ternary?

Reports are managed from the Report Management page, accessible under Report → Reports, or Reporting Engine → Reports if your sidebar uses the Reporting Engine label. This page provides centralized control over all saved reports.

From the ellipses menu next to a report, users can:

  • View the report
  • Edit report details such as name, tags and visibility
  • Transfer ownership of eligible reports
  • Delete reports that are no longer required
  • Mark reports as favorites using the star icon for quicker access
  • Create report subscriptions to receive scheduled email updates

Deleting a report also deletes its subscriptions and removes its report widgets from dashboards. Linked-report references are removed from budgets, and affected report alerts have their validity reassessed. The dashboards and budgets themselves remain. Review these dependencies before confirming deletion.

Ternary report management

Search, owner, visibility, tag and favorites filters combine to narrow the list. A report must contain all selected tags to match. For example, selecting finance and monthly shows reports with both tags.

To update tags on several reports, select the editable rows and use the tag-edit control in the table header. Choose Add selected tags to all selected reports or Remove selected tags from all selected reports, select the tags, then select Submit. Adding a tag already present does not duplicate it. After a tag update, check the refreshed list and its active filters. If removing a tag clears that tag filter, reapply the filters you still need to inspect the updated collection.

Share a report with specific people

From the report’s row menu, select Edit Details. Choose Shared, select the recipients under Share with specific people, and save. Selected recipients can find the report in their list if they have report access. They also need permission to edit reports to make changes.

To stop sharing, switch the report back to Private and save. This removes direct sharing. Someone with organization-wide report access or access through a shared dashboard may still see the report.

Transfer report ownership

You need permission to transfer report ownership and must own the report or have organization-wide report read access. System reports, their system-provided copies, snapshots and global reports cannot be transferred.

To hand off a report, open its row menu and select Change owner. Under New owner, select an active member of your organization who can read reports, then select Transfer ownership. Check the owner in the report list. A private report stays private. The former owner needs another source of access to keep seeing it.

Shared subscriptions

Report subscriptions can be configured for both Ternary users and external recipients. Delivery frequency (daily, weekly, or monthly) and delivery time can be customized, and multiple subscriptions can be created for the same report.

Report and dashboard subscriptions are shared records. Editing recipients replaces the record’s email list and Slack destinations; at least one valid email is required even with Slack enabled. For reports and dashboards, Notification Center’s Unsubscribe deletes the selected subscription for every recipient, not only you. Other subscriptions for the same resource remain separate. Editing/deleting requires the corresponding tenant subscription permission; recipient status or report ownership is insufficient.

The report and dashboard subscription forms display a local Hour of Day selection and shows its UTC conversion below the control. Use that conversion to check the scheduled hour; do not pre-convert the value and then select it as a local hour. The schedule is evaluated in UTC, so check the UTC weekday as well as the hour when converting from local time.

For monthly delivery, choose a weekday and First or Last. First selects that weekday within dates 1–7; Last Monday, for example, means the final Monday of the month, not every Monday in the last numbered calendar week.

How do time period comparison reports work?

Time period comparison reports allow cost and usage data to be compared across two time periods within the same report.

Comparison can use the previous period, a custom date range or an invoice range where invoice mode is available. While comparison is enabled, the chart picker offers KPI, KPI - Top Item, Line and Table; cumulative mode is unavailable.

To enable time period comparison:

## How do time period comparison reports work?
  • Select the required measure, groupings and filters
  • Select the date range and granularity, then enable Compare.
  • Choose from the available comparison chart types and run the report.
  • Once enabled, the chart displays the previous comparison period using a dotted line. The table view includes the absolute and percentage difference between periods in the bottom row.

Example Graph representation:

Time period comparison reports - example

Example Table representation:

Time period comparison reports - example table

This functionality helps identify trends, anomalies, and changes in spend or usage across comparable timeframes.



Did this page help you?