We understand that you likely have a lot of resources and processes built out in Chartio. This can make the migration process to a new business intelligence (BI) solution seem daunting and difficult to start. We’ve compiled some migration best practices to assist you and your team in this process, highlighting areas you’ll want to consider and go over for best results. We’ve included what to look for and pull from Chartio, things to look out for in your next solution, as well as a handy checklist to keep you organized and on track.
This guide may seem lengthy, but we hope it proves to be a useful asset for your migration. Go over the sections at a high level initially then work your way through the sections using the migration checklist.
- Dashboard Cleanup and Usage Statistics
- Data sources
- Prioritize then categorize dashboards
- Teams, users, and permissions
- Embedded dashboards
- Email Reports
- Rebuild in a new BI solution
- HTML dashboard export
1. Dashboard Cleanup and Usage Statistics
Check out our video explaining how the charts in Usage Stats can help with your migration:
A great place to start your migration from Chartio is first using our Dashboard Cleanup feature. With Dashboard Cleanup, you can bulk archive dashboards that aren’t in use. Archiving unused dashboards helps clean up your instance, allowing you to focus on the regularly used dashboards while keeping those archived dashboards for reference.
After using Dashboard Cleanup, you can refer to your organization’s Usage Statistics, where you’ll find useful information about your dashboards, charts, data sources, users, and scheduled reports.
Note: You must belong to the Owners team to access the Usage Statistics.
It’ll be helpful to refer to these Usage Statistics charts as you audit your Chartio resources for migration:
- Chartio Usage and Migration Assistance
- Overview of which users have been active in the last 30 days
- It may be beneficial to see a big picture of your team’s most recent activity. You can use it to ensure users aren’t creating new dashboards in Chartio as you’re migrating off.
- Dashboard Information
- Overview of all dashboards (excluding ones in the trash) that includes the dashboard name, Id, when it was last edited and last viewed by a user, and other configuration settings
- You can assess which dashboards your team is actively using.
- Dashboard Chart and Dataset Information
- Filter by dashboard or data source to identify chart information
- You can filter more granularly to obtain specific chart information and the SQL of each dataset.
- Dashboard View Data by User
- View which users have last viewed or edited a specific dashboard
- You can inspect further into which dashboards are more active than others to understand which users may be affected by migrating specific dashboards.
- Data Source Information
- List of data sources with type and number of datasets connected
- You can see who added data sources connected to pinpoint what data is tethered to Chartio. Very useful before you disconnect you data sources at the end of your migration.
- Active Scheduled Reports
- List of configured email reports and their schedule settings
- Review the frequency of scheduled reports on dashboards you may replicate in your next business intelligence (BI) solution.
After getting a general idea of which dashboards you need to migrate, we recommend exporting those dashboards for reference later.
Track your progress with the Dashboard Cleanup and Usage Statistics checklist.
2. Data sources
2a. Data Stores
If you’re migrating dashboards with charts that query Data Stores, you’ll want to either recreate the Stored Tables as materialized views in your data warehouse or recreate them in your new BI solution if it offers a similar feature.
When you use the HTML dashboard export feature, the Data Stores queried by charts on the dashboard show up in the export file under the section “Datastores used on this dashboard”. Select a Data Store from the list then one of its Stored Tables to view the underlying logic (i.e., dataset queries and pipeline logic). You can refer to this file when rebuilding your Stored Table logic in your data warehouse or next BI solution. If you decide to use the dashboard export file, we recommend checking out our documentation for how to navigate the HTML dashboard export.
Check out our step-by-step video showing how to export Stored Table logic using the HTML dashboard export feature:
To get a comprehensive view of where your Stored Tables are used (in charts, query logic for other Stored Tables, or even Alerts), reach out to firstname.lastname@example.org. We’ll give you a customized report for your Stored Table usage. This will include a dataset count for each object (chart, Stored Table, or Alert) that queries a Stored Table. This will also include some metadata and the configurations set for your Stored Tables (e.g., Stored Table’s creator, created date, refresh period, and refresh duration).
In a separate file, you’ll receive more granular information on the charts that use each Stored Table, the dashboards they’re on, and the dataset names querying them. This can be used in conjunction with the work in Section 1 of this document, where you identify your dashboards to migrate. This will help you confirm if any of those dashboards have charts that query Stored Tables. If this is the case, you can then prioritize creating the Stored Table logic before migrating those dashboards so they’re ready for your new BI solution.
Track your progress with the Data Stores checklist.
Identify important dashboards querying CSVs by using the “Dashboard Chart and Dataset Information” chart in the Usage Statistics, where you can filter your dashboards by data source. As you go through that filtered list, you can check whether or not you have access to those files so you can connect them again to your next BI solution (if it’s supported).
If you no longer have access to the files making up these sources, you can always export the data out of Chartio in segments by creating a Table chart and downloading the data as a CSV. For the chart, you can use SQL Mode to run a
SELECT * on the data source. If you have more than 100,000 rows for each table in your CSVs, use the
OFFSET clause then append the downloaded files together. Then, you can import these files into your data warehouse or your new BI solution.
Check out our step-by-step video showing how to export your CSV data from Chartio:
Track your progress with the CSVs checklist.
2c. Custom tables and columns
Similar to rebuilding your Stored Table logic in either your new BI solution or your data warehouse, you’ll want to consider the same for your custom tables and custom columns. The SQL logic is already written in the Chartio schema page for your data source. This makes it easy to copy the logic and add it to your data warehouse or other BI solution. We can provide you with the custom tables and custom columns for all your data sources, but if you want to see their usage, you’ll need to use the Queries tab in each data source’s settings. From there, you can search for the custom table or custom column name and get a list of queries where it’s used.
Track your progress with the custom tables and columns checklist.
Mapping to a new BI solution
As mentioned above, you have some options in terms of where to decide to recreate your logic and data currently stored in Chartio. Not all BI solutions offer modeling features similar to Data Stores or custom tables or custom columns, or the ability to connect non-formal databases. Make sure to check your next BI solution’s documentation to see if these features exists so you can form your plan.
If your new BI solution has similar functionality, we recommend recreating your Stored Table or custom table/column logic there before rebuilding your charts. This will allow you to make any necessary changes to the logic and get familiar with it again. It’s likely that while rebuilding charts in your new solution, you’ll realize some chart could use your already existing logic and thus save you time during migration.
If data modeling functionality doesn’t exist in your new BI solution or if you’d like to use this opportunity to implement some modeling best practices, consider recreating the Stored Table logic in your data warehouse as materialized views or new tables. This is optional but generally recommended for better long-term maintenance. It allows for easier changes to the logic without impacting your existing charts, requires less transformations needed in-app, and lessens the chances of accidental in-app changes.
Moving your Stored Table logic to your database or modeling layer would be similar to how you interact with Stored Tables in Chartio, pre-processing and querying cached data for faster queries. There are tools out there you can use to recreate your Stored Table logic. For example, dbt supports modeling your your data into a table, view, or incremental build in your data warehouse.
3. Prioritize then categorize dashboards
Now that you’ve cleaned up your Chartio instance and identified the necessary dashboards to migrate, it’s time to prioritize those dashboards. Prioritizing your dashboards will help ensure the most essential dashboards are migrated first to your new BI solution.
To help you and your team decide on levels of priority to use, here are a few questions you could consider:
- Is the dashboard’s data frequently used to make critical business decisions?
- Is the dashboard regularly viewed by the C-suite or any external partners?
- Is the dashboard shared through an Email Report?
After you’ve decided on the different priority levels, you should begin categorizing the dashboards by priority level. It’s crucial that you reach out to all your Chartio users to properly prioritize the dashboards. Categorizing your dashboards should be a team effort since the number of dashboard views isn’t always indicative of how important the dashboard is. You could split up the work by each team that uses Chartio to have them inventory their team dashboards and place them into the appropriate categories. Or you could create a survey to ask users to name their most used dashboards.
Through the categorization process, you might find there are dashboards that won’t need to migrate to your new solution. For these dashboards, it’s be a good idea to use the HTML dashboard export feature to export the Pipeline steps for those dashboards in case you decide to recreate them later.
Once you’ve categorized the dashboards, it’d be helpful to indicate each dashboard’s priority in Chartio or in a shared document. In Chartio, you could add a priority label (for example,
[HIGH PRIORITY]) to the beginning of each dashboard’s title. Within each category of priority, you could also rank the dashboards by importance to solidify the order of the migration. You could add the dashboard ranking to the priority label in Chartio (for example,
[HIGH PRIORITY]-1). To avoid accidental changes to the dashboard label, minimize the number of users with Admin access to the dashboard.
If you don’t want to modify dashboard titles, you could consider starting a Confluence page or Google Sheet to list out the dashboards within each category. The shared document could also be used to list the dashboard ranking within each priority. If you take this approach, include links to the dashboards and update the page regularly as the migration progresses to keep everyone up-to-date.
Refer back to our Usage Stats video for how to use the Dashboard Information chart in the Usage Statistics to prioritize your dashboards:
Mapping to a new BI solution
The process of prioritizing and categorizing your dashboards will help you narrow down the order in which your dashboards could be migrated. Simply start your migration with the highest priority category and the most important dashboard from that category. Then, continue the migration until all the dashboards from each category have been transitioned to your new BI solution.
Track your progress with the dashboards checklist.
4. Teams, users, and permissions
Now that you’ve inventoried your dashboards, it’s time to inventory the users and teams and their access levels to each resource.
Don’t fret–Chartio can help! As mentioned earlier, you can find a list of all users and metadata about those users on the Usage Statistics page. If you’d like a more detailed report showing teams to users, dashboard permissions, or data source permissions, reach out to our support team and we can provide this information.
Once you and your team have the data about your users and teams, you may want to take this opportunity to audit your users and teams. Find out who’s still using the platform and who’s not. You may also want to survey your user base to see what features are important or missing that they’d like to see in the next BI solution. These could be important drivers as the team considers and tests new BI solutions.
Refer back to our Usage Stats video for how to use charts in the Usage Statistics to inventory your Chartio users, teams, and permissions:
Mapping to a new BI solution
Once a new BI solution is chosen, your team can decide how to map Chartio permissions over to it. It’s highly likely the permissions between the solutions won’t be identical. The team will then need to decide how to apply permissions to new objects and develop a standard operating procedure for handling permissions. Once those decisions are made, permissions can be applied and an admin can audit the permissions for all new objects to ensure everything is compliant.
Track your progress with the teams, users, and permissions checklist.
5. Embedded dashboards
If your organization uses Chartio’s Embedding feature, you’ll want to make a plan to migrate your embedded dashboards to your new solution. To view all dashboards that have embedding enabled or have had embedding views in the last three months, navigate to the Usage Statistics page and click View all x columns and y rows in the Dashboard Information chart. From the pop-up, scroll to the far right to see the columns on embedding usage, which you can sort and filter accordingly.
Only Interactive Embedding views are counted in the “Embedding Views Last 3 Mo” statistic. Internal Embedding views count toward the “Lifetime Views” statistic.
Chartio cannot determine where your dashboards are embedded, regardless of the embedding type used. If you’re unsure where a dashboard is being embedded, you may want to contact the Primary Admin or Admins of the dashboard.
Mapping to a new BI solution
If your new solution has an embedding feature, you’ll want to assess not only where you embedded your dashboards but also who you’ve shared them with and how you filtered them. For example, take a close look at your payload in your webpage with the embedded dashboard to see if you use Hidden Variables, other Dashboard Controls, or env variables to filter your dashboard’s results. You’ll either need to recreate that filtering in your new embedding setup or filter directly in your charts.
If you’re using Internal Embedding but only jwt embedding is available in your new solution, you may want to create a webpage to embed dashboards behind a login screen and share that out with your colleagues or customers.
As it’s often a different team member who’s in charge of setting up embedded dashboards on your webpages, you may want to create a demo dashboard in your new BI solution for testing right away. You can then pass on the setup testing to, for example, your development team, who can learn the new process and be ready to implement it fully once your dashboards are up and running in the new solution.
Track your progress with the embedded dashboards checklist.
6. Email Reports
If your organization uses Chartio’s Email Reports feature and your new BI solution has a similar feature, you might want to consider taking an inventory of your reports. You can then determine which reports should be migrated and which reports are no longer necessary.
The “Active Scheduled Reports” chart in the Usage Statistics provides a list of all the reports scheduled in your organization’s active dashboards (i.e., not archived or in trash). This table has information like the title of the report, the dashboard it’s sent from, the frequency of the report, and a list of the recipient’s emails.* Using this chart, you should be able to inventory the reports currently being sent and download this information for later use.
From your inventory, your team should identify the reports to migrate and reports to ignore in the migration. After a dashboard with a report is migrated, you can recreate the report in your new solution.
* Any report sent to a team in Chartio will display the team name and not the individual users within the team. To find the individual users, either ask an Owner to provide a list to you or reach out to email@example.com for help gathering the email addresses.
Mapping to a new BI solution
If you’re moving to a BI solution with automated reporting, check if you can send reports to external users. Reports are often sent out to individuals external to your application or organization. This is something to note when mapping things over. It’s also a good time to review the recipients to confirm whether or not they still need the reports.
You’ll want to recreate reports in your new BI solution after you’ve recreated and vetted your dashboards as well as recreated your teams and permissions (if applicable). Be sure to keep your reports’ customizations in mind. If some of the features, like Dashboard Controls, don’t exist in your new BI solution, you may need to create different versions of your dashboards where you filter directly in the charts.
Track your progress with the Email Reports checklist.
If you use Chartio’s Alerts feature, you’ll want to consider whether your new solution has a similar feature and if you want to migrate them over. The Alerts page in Chartio lists your organization’s active Alerts. To get a more detailed summary of your Alert metadata, reach out to firstname.lastname@example.org.
To start off, find which Alerts aren’t sending to any recipients or are no longer relevant; you can probably delete those. If you’re unsure if an Alert is still being used, you can reach out to the Alert’s admin for confirmation. Once you’ve inventoried all your organization’s active Alerts and determined which to keep, you can create a plan to migrate them to your new solution.
Mapping to a new BI solution
If your new solution has an alerting feature, you can recreate your alerts in the new environment. You’ll want to make sure to note your thresholds and recipients during this process. If you have a number of Alerts in Chartio, reach out to us and we can export this information for you in bulk.
If this functionality doesn’t exist in your new solution but automated reports do, Alerts could be recreated as charts and set up to be sent via frequent reports. To make these easier to read, set up some conditional formatting in your new chart or dashboard to flag if your threshold has been met. Also be sure to set this up while your Chartio Alerts are still active so you can make sure everything is set up correctly.
Track your progress with the Alerts checklist.
8. Rebuild in a new BI solution
Check out our video for tips on rebuilding in your next BI solution:
Now that you’re ready to rebuild your work from Chartio in a new BI solution, we suggest using two monitors or side-by-side browser windows to help you rebuild–one with Chartio and the other with your new BI solution. This will make copying queries and Pipeline transformations and comparing your final outputs faster and easier.
Exactly how you’ll rebuild your charts in your new BI solution will depend on how elements–like chart–are built in the solution as well as if you’ve decided to move any of your query logic up into your modeling layer. Note that the suggestions below are generalized and not solution-specific; they may not account for all your new solution’s capabilities but are provided as a guide to assist you in your rebuilding process.
If your new solution only uses SQL, you can copy SQL queries directly from your Queries/Datasets, regardless of how they were created in Chartio. Open your chart like you would to edit it, switch to SQL Mode, then copy the whole generated or written SQL and paste it into your new solution.
If your new solution uses a type of drag-and-drop interface, you should be able to recreate your initial queries in a similar way, either by selecting all columns or selecting columns as measures and dimensions. Note: if you’re not seeing some of your columns in your new BI solution, switch back to Chartio and double-check that the columns aren’t custom columns. If they are custom columns, refer back to Section 2.
Post-query manipulations (AKA Data Pipeline Steps or Visual SQL Actions)
Depending on how your team uses Chartio, this part may be either non-existent (if transformations are done in SQL Mode directly) or a very extensive list of transformations. If it’s the latter, this can be overwhelming at first, but you’ve already done a great job prioritizing your resources and you may be able to consolidate steps as you rebuild.
If your solution has a similar Pipeline functionality, you may be able to recreate the transformations as-is by recreating the post-query Steps/Actions one-by-one from top to bottom, left to right (if using Data Explorer). You can click on each Step/Action to view its details and copy/paste the information if applicable. If your solution doesn’t use SQLite, they’ll likely have similar options for how to transform your data. Inventory those options first and aim to map them to Chartio’s Steps/Actions before you recreate them.
If your new BI solution doesn’t have similar features to modify your query results, you may need to take a step back and plan out your rebuilding process in more detail before proceeding. You may need to first move some logic in your database or modeling layer. Alternatively, you may be able to move some of the transformations directly into your SQL queries via subqueries, common table expressions, or by editing parts of your query to account for the transformations from the start.
Note that the Data Pipeline uses SQLite syntax so you’ll need to account for the differences between SQLite’s syntax and your database’s syntax. For example, you may want to copy your custom formulas into your queries as a base then refer to your database’s documentation for the exact syntax or even use a translation tool if you have a large volume.
Don’t forget about Dashboard Controls! Dropdowns and Date Sliders could have complex underlying queries to populate their values. If you’re doing frequent calculations, custom transformations, or other repetitive logic, you may want to move the logic up into your database or modeling layer. It’s not necessary, but something to keep in mind that could save you time overall.
The export and recreation process for Controls should be similar to your charts. Take into consideration the use of Relative Date Variables, Current User Variables, or other features that may be different in your new BI solution.
Compare, review, and reiterate
Remember that this is a process and it’ll get smoother as you build out a few charts and dashboards. Start incrementally by building out one commonly used chart, then dashboard. Compare the work you’ve done in your new BI solution with the work you’ve formerly built in Chartio. Review to make sure that no important data transformations or steps were missed when migrating data visualizations over from Chartio to your new BI solution. Make sure all the new charts you build in your new solution function correctly and yield similar results to the originals.
If any Controls are connected to your charts, test out selecting different values to make sure you’ve accounted for various scenarios when rebuilding and that your charts continue to work in those cases and that your results still match.
Track your progress with the Rebuild in a new BI solution checklist.
9. HTML dashboard export
Your team has built a lot of dashboard in Chartio and needs a way to export all the logic that’s used to create the charts. We’ve released a feature that allows members of the Owners team to export a dashboard as an HTML file containing all the information needed to recreate a chart.
After identifying the dashboards to migrate, you’ll want to consider exporting the Pipeline information as a backup for those dashboards for future reference. This will be useful for any lower priority dashboards you won’t be able to migrate before Chartio’s end of life, or for your archived dashboards you decide to recreate later. If you download the export file, we also recommend downloading a PDF of the dashboard so you can reference them together to get the full picture.
While the HTML dashboard export file is comprehensive, we don’t recommend relying on it for recreating your high priority dashboards if Chartio is still available. In general, using the export file for recreating your dashboards should be a last resort. Instead, build those dashboards as soon as possible using the method described in Section 8. We think that’s the easiest way to read and recreate the chart logic for your dashboards because you can quickly compare the results for each step.
Track your progress with the HTML dashboard export checklist.