15 min read

Dashboards and reporting

Learn to create engaging dashboards and reports with canvas formulas, charts, and graphs.

Creating dashboards is all about turning boring data into eye-catching visuals that tell a story. Dashboards are super helpful because they help you see all your important information in one place, making it easy to spot trends, track progress, and make smart decisions. In this guide, we'll show you how to create engaging dashboards in Coda using examples from a sales team, showing you how to go from a table of sales opportunities to an engaging dashboard of progress and metrics. So, get ready to dive into the world of dashboards and make your data come alive!
What you'll learn:
  • Quickly summarize data in the canvas
  • Automate progress bars to illustrate metrics
  • Creating charts from tables
  • Combining tables to create custom graphs

Highlight key metrics and insights in the canvas

Coda allows you to create dynamic text directly in the canvas using formulas. These canvas formulas can be freestanding and independent or tied to data from anywhere else in the doc, making them invaluable for noting key takeaways and highlighting important metrics in dashboards and reports. To better illustrate, lets take a look at our example sales dashboard. We've used a canvas formula to automatically count how many opportunities are in our table. When we update the table, the canvas formula updates the total too.

When rows are added or deleted from the table, the canvas formula automatically reflects the changes

By using canvas-level formulas, users can dynamically update text based on specific criteria or calculations, allowing for real-time insights and personalized messaging, making it easier to spot insights at a glance.

Use the summarize feature for quick canvas formulas

Calculating aggregates and summarizing table data in the canvas used to be tricky as it required an understanding of formulas. The table summaries feature now makes this much easier by letting you do this through a structured builder where you can select the table/view that you want to summarize and then choose the properties or calculations you want to perform on them. You can use the builder to show summaries directly in the canvas, or display column-specific summaries directly in the table. Let’s use the table summarize feature to display the total value of all the sales opportunities.

Progress bars that update formulaically

Progress bars provide a visual representation of completion status or performance metrics, allowing users to quickly and easily gauge progress at a glance. They are intuitive and easy to understand, making them an effective way to convey complex information in a simple and digestible format. You can use formulas to set the values of progress bars, allowing them to automatically update as you work. This can provide realtime insight into goals, milestones, or project timelines, enabling your team to operate more efficiently, prioritize tasks and stay on track. Alternatively, progress bars can be used to compare actual progress against targets or benchmarks, enabling users to identify areas that may require attention or improvement. Returning to our sales dashboard, we will use a progress bar to illustrate how close the team is to achieving their overall sales target.

We use a formula in the progress bar that divides the current opportunity value total by the overall sales goal to get a percent complete.

Check out this tutorial to learn more about how to create formulaic progress bars.

Graphs are views of tables

To make a chart or graph, create a view of the table that contains the data you want to visualize, then toggle the view type to chart. Learn more about chart types and formatting here.

Make a new view of a table then change the view type to "Chart".

You need to make sure that all the data points for all the ways you’ll want to segment your data are included on the same single table. For example, if you want to create a graph of the value of sales opportunities per sales rep, you’ll need to make sure that your table contains opportunity value AND the rep responsible. If you’d like to sum up only open opportunities, your table will also need to include the status of the op. The data you need depends on the graph you want to create.

Connecting tables

If data is spread across multiple tables, consider using a relation column to bring the information together into one table. You may need to do some creative data cleanup to connect the tables. If two data points live on separate tables that are NOT currently connected by a relation column, you will need to figure out a way to link them. Example: You have a table of sales opportunities, each assigned to a sales rep. You also have team roster that splits your sales org into smaller pods. You want to create a graph that shows how many sales opportunities there are per pod. You have a problem! Your opportunity table does not include which pod owns it! What will you do?

Our opportunity table contains the rep but not the pod! What will we do?

Solution: Create a relation column that uses a formula to assign the pod based on the opportunity owners assignment in the roster!

Use related columns to bring in data from relation columns

Once tables are connected with a relation column, you can easily add columns from one table to the other.
Looking at our sales example, let’s say each pod has a minimum opportunity target and you’d like to see a graph of the how close each rep is to that target, on average. To do this, we would need to calculate how close to the target each op is, and the target lives on the pods table. Because we’ve already connected the pod table to the op table with a relation column, we can easily add the appropriate target to each opportunity using the related column feature.

What to do with a funky x axis

The x axis of a Coda graph is different than a traditional graph in one key way: it’s intervals are not customizable. Let us explain: You can select which column you would like to use for your x axis, but the x axis values are taken from values that occur in whichever column you’ve selected. Values that do not exist in your column will not appear and blank spaces will not be left for them. Let’s walk through an example for clarity. We'll use that sales opportunity table from above. This time, we’d like a graph of how many sales ops were created every day. When we create the graph from the table as-is, it correctly displays dates where ops were created. . . . but days where no ops are closed do not appear.

Dates without opportunities don't appear, making it hard to identify periods of blanks.

This makes interpreting the graph more difficult; you’d never be able to identify dry spells where no ops came in unless you looked at the data! How can you get dates without values to also appear?

Solution: Create a helper table

If your original table is lacking some values and you want them to appear as blank in your graph, you’ll need to create a helper table that does include these values. Continuing our example, we’d need to create a new table with 2 columns. One for date, one for ops opened on each date. In the date column, list out every date that you’d like to appear on your x axis, including ones with no values associated. In the second column, use a formula to populate each row with sales ops that were created on that date. Now, when you turn this helper table into a graph, the x axis will leave spaces for those dates without records.

Was this helpful?