2024 is the year of the connector - vote here

Aggregate reporting with Asana

How to consolidate your multiple Asana accounts into a single cohesive reporting strategy

This article is part of our BI walkthrough series: reading time 4 minutes (approx)

The existing reporting tools for Asana are numerous and comprehensive. But if you're running multiple Asana accounts and need to consolidate data across your entire organization, things get a little more difficult.

In this walkthrough, we'll use SyncHub to take you through the process of syncing your various accounts to a single location, then aggregating your data to build a comprehensive view across your entire business.

Step one - downloading your Asana data

Head over to your Connection Dashboard in SyncHub and follow the instructions to connect your first Asana account, which will take just a few mouseclicks and a couple of minutes. As part of the connection process, you're asked to provide details of the database where you'd like us to sync your data. We currently support Snowflake, BigQuery, Redshift, Postgres and SQL Server/Azure. And don't worry, if you don't have your own database, we provide a free dedicated SQL Azure database on all our pricing plans.

Once completed, SyncHub creates a unique database schema inside your data store, then immediately starts syncing your Asana data from the cloud. This results in various database tables that look something like this:

schema_asana_1.Project
DueDate Name Completed OwnerUserGID
2024-05-21 00:00:00 Lead sourcing true BL
2024-12-12 00:00:00 Site redesign false CY
2024-05-23 00:00:00 Maintenance false LP

Connect your other accounts

Now, follow a similar process to connect your other Asana accounts. SyncHub will store the data in the same database, but in different database schemas. This gives you the best of both worlds, where your data is demarcated at the connection level, but you can access everything from within a single query.

Step two - Consolidating your schemas

Now that you have your data in your database, we need a way to merge it into a single consolidated view. This is where our Insights platform comes into play. Using Insights, we can write a simple SQL query that merges the data from all of our schemas. Because each schema has an identical format, this is trivial:

SQL

select 'Asana 1' as [ConnectionName], [DueDate], [Name], [Completed], [OwnerUserGID]

from schema_asana_1.Project

UNION

select 'Asana 2' as [ConnectionName], [DueDate], [Name], [Completed], [OwnerUserGID]

from schema_asana_2.Project

UNION

select 'Asana 3' as [ConnectionName], [DueDate], [Name], [Completed], [OwnerUserGID]

from schema_asana_3.Project

Note: We're using SQL Server syntax here, but you'll need to tweak it a little depending on your database type

Insights stores your query results in a database table under the sh_report_cache schema alongside the raw data we've downloaded from Asana. You can call this table whatever you like, so let's use something self-explanatory like asana_project_consolidated. We can then query it from our reporting tool as simply as this:

SQL

select * from sh_report_cache.asana_project_consolidated

Conclusion

As you've seen, SyncHub's consistent data structure and background syncing makes it trivial to report from multiple Asana. You can use new your consolidated database table directly from your reporting tool, or use our own Insights platform to build charts and dashboards from within SyncHub itself.

SyncHub offers a fully functional free trial, so feel free to try out this walkthrough for yourself, using your own data.

Happy reporting everybody.