Each spreadsheet can contain up to 2,000,000 cells. To avoid exceeding this limit while maintaining processes to automate connected reporting in Spreadsheets, use these chains. For example, if you use Spreadsheets to track financial data—such as balance sheets and income statements—for connected reporting or roll-forward processes, run these chains periodically to:
- Create new spreadsheets to continue data before you meet the cell limit.
- Extract and maintain the spreadsheets' IDs to ensure connected reporting through other chain commands, such as an Overwrite Sheet Data command to update the spreadsheet's data.
Ingredients
To create this chain, you'll need:
- Access to spreadsheets with the type of data to track with new sheets; for example, to maintain financial data, your balance sheet, income statement, and cashflow statement
- A Workiva connector
- A Tabular Transformation connector
- A File Utilities connector
Create a spreadsheet to track spreadsheet IDs
In Spreadsheets, create a spreadsheet to track the IDs of spreadsheets used with your financial accounting, and their respective sheets' IDs:
- In the spreadsheet, include columns for Description, Spreadsheet ID, and Sheet ID, and rows for each accounting, such as your balance sheet and your income and cashflow statements. For example:
Description Spreadsheet ID Sheet ID Balance sheet Income statement Cashflow statement - To ensure consistent mapping for the chain, lock the cells in the first column.
- Copy the IDs for the spreadsheets and sheets where you track your balance sheet, income statement, and cashflow statement, and paste them in their respective cells.
Note: In a spreadsheet's URL, its ID follows
/spreadsheet/
, and the sheet's ID follows/sheet/
. - Set the spreadsheet's permissions so collaborators who need the IDs—such as those involved in the roll-forward process—are Editors or Owners.
- Note the IDs of this spreadsheet and sheet.
Create a chain to automatically create new spreadsheets
For each spreadsheet you use to track financial data, create a chain to periodically create its new spreadsheet.
For example, if you track the balance sheet and income statement as separate sheets within the same spreadsheet:
Step 1. Create the chain
- In Chain Builder, from the Chains
- Under Setup, enter a unique name—such as Create New Financial Spreadsheets—and a description to help identify the chain and its intent.
- To enable multiple instances of the chain to run at once, such as to create several new spreadsheets at the same time, select Allow concurrent runs.
- Under Variables, add variables for the IDs of the spreadsheet and sheet used to track IDs, and enter their IDs.
- Click Save.
Step 2. Start with a Create Spreadsheet command
- Under Available BizApps, click Workiva, move Create Spreadsheet to Start, and click Edit .
- Under Basic Info, enter a unique name and description to help identify the command.
- Under Command Properties, enter a unique name to help identify the spreadsheet's data, such as "Balance sheet and Income statement". To ensure a unique name each time the chain runs, append a System.DateTime runtime variable.
- Click Save.
Step 3. Add Create Sheet commands
For each sheet within the spreadsheet, add a Create Sheet command. For example, if the spreadsheet contains separate sheets for the balance sheet and the income statement, add a Create Sheet command for each.
- Under Available BizApps, click Workiva, and move Create Sheet to the canvas.
- Drag a link from Create Spreadsheet to Create Sheet, and click Edit
- Under Basic Info, enter a unique name and description to help identify the command.
- In Spreadsheet ID, select the Id property of the Spreadsheet Metadata output of the Create Spreadsheet command.
- In Sheet Name, enter a unique name to help identify the sheet's data, such as "Balance Sheet" or "Income Statement".
- In Sheet Index, enter the sheet's position within the spreadsheet, starting with 0.
- Click Save.
Step 4. Add commands to track the new spreadsheet IDs
To update the spreadsheet used to track IDs with the IDs of the new spreadsheet and its sheets:
- Under Available BizApps, click File Utilities, and move Create File to the canvas.
- Drag a link from each Create Sheet to Create File, and click Edit
- Under Basic Info, enter a unique name and description to help identify the command.
- In Text, select the Id properties of the Spreadsheet Metadata and Sheet Metadata outputs from the Create Spreadsheet and Create Sheet commands, separated by a comma.
Note: If the chain creates multiple sheets, enter each comma-separated pairing of IDs on a separate line, in the same order as their data's rows in the spreadsheet used to track spreadsheet IDs.
- Click Save.
- Under Available BizApps, click Workiva, and move Overwrite Sheet Data to the canvas.
- Drag a link from Create File to Overwrite Sheet Data, and click Edit
- Under Basic Info, enter a unique name and description to help identify the command.
- In Spreadsheet ID and Sheet ID, select the Chain variables for the IDs of the spreadsheet and sheet used to track spreadsheets' IDs, respectively.
- In Data File, select the Created File output of the Create File command.
- In Delimiter, select a comma (,).
- In Start Cell, enter the cell of the spreadsheet used to track spreadsheets' ID to start to update. In our example, to start with the IDs for the balance sheet, enter B2.
- Click Save and Publish.
Step 5. Schedule the chain
To run the chain automatically at a periodic interval for reporting or based on the rate at which you meet spreadsheet's cell limit:
- Click Chain Settings.
- Under Schedules, click Add, and set up when and how often to run the chain.
- Click Save.
After this chain runs, set up the new spreadsheet with its applicable data. For example, if this chain supports the quarterly roll-forward of financial data, update the spreadsheet with the current period's balance and income data. To help automate this process, you can use this chain with a Run Chain event in another chain to update the new spreadsheet, such as with an Overwrite Sheet Data command.
Create a chain to extract new spreadsheets' IDs as variables
To enable automated connected reporting, create a chain to automatically maintain the IDs of spreadsheets used to track the data used in the reporting. This chain enables you to easily create variables to use as spreadsheet and sheet IDs.
Use this chain with a Run Chain event in another chain to use these variables with commands later in a chain.
Step 1. Create the chain
- From Chain Builder, click the Chains tab, and Create Chain.
- Under Setup, enter a unique name—such as Extract Spreadsheet IDs—and a description to help identify the chain and its intent.
- To enable the chain to run in multiple Run Chain events, select Allow concurrent runs.
- Under Variables, add variables for the IDs of the spreadsheet and sheet used to track IDs, and enter their IDs.
- Click Save.
Step 2. Start with a Get Sheet Data command
To retrieve the spreadsheet and sheet IDs for data as comma-separated values (CSV):
- Under Available BizApps, click Workiva, move Get Sheet Data to Start, and click Edit .
- Under Basic Info, enter a unique name and description to help identify the command.
- In Spreadsheet ID and Sheet ID/Name, select the Chain variables for the spreadsheet ID and sheet ID, respectively.
- In Region, enter the range of the cells with the spreadsheet and sheet IDs, but not the headers or descriptions. In our example, to retrieve the IDs for the budget sheet and income statement,
B2:C4
. - Click Save.
The Get Sheet Data command's Data CSV output includes only the spreadsheet and sheet IDs, in lines that correspond with the rows of the spreadsheet used to track IDs. In our example, the first line includes IDs for the balance sheet; the second line, the income statement's IDs.
Step 3. Add commands to extract the spreadsheet and sheet IDs
For each pairing of IDs to extract, add two Tabular Transformation Extract Value commands, one each for the ID of its spreadsheet and sheet. For example, to extract the IDs for the income statement data:
- Under Available BizApps, click Tabular Transformation, and move Extract Value to the canvas.
- Drag a link from Start to Extract Value, and click Edit
- Under Basic Info, enter a unique name and description to help identify the command, such as Extract Income Statement Spreadsheet ID.
- In Input, select the Data output of the Get Sheet Data command.
- In Column Index, enter 1 for the spreadsheet ID.
- In Delimiter, select Comma.
- In Row Index, enter the line number that corresponds with the applicable data, such as 2 for the Income statement row.
- Click Save.
- Under Available BizApps, click Tabular Transformation, and move another Extract Value to the canvas.
- Drag another link from Start to the second Extract Value, and click Edit
- Under Basic Info, enter a unique name and description to help identify the command, such as Extract Income Statement Sheet ID.
- In Input, select the Data output of the Get Sheet Data command.
- In Column Index, enter 2 for the sheet ID.
- In Delimiter, select Comma.
- In Row Index, enter the line number that corresponds with the applicable data, such as 2 for the Income statement row.
- Click Save and Publish.
Step 4. Use the chain in a Run Chain event
After you publish the chain, you can use it with a Run Chain event within another chain, such as to use the variable within a later command. In the parent chain:
- Click Chain Settings, add a variable for the table ID, and click Save.
- Click Events , move Run Chain to the canvas, drag a link from its preceding node, and click Edit .
- Under Basic Info, enter a unique name and description to help identify the event.
- Under Chain to Run, select the chain created to extract IDs.
- Click Save.