Skip to content
✦ Made with Docsie · generated from video

How to Create a Wdata Query in Workiva

This guide walks you through how to create a Wdata query in Workiva, from reviewing your source tables to building joins, customizing the display of your results, applying parameters and filters, and configuring a Crosstab for pivoted reporting. By the end, you will know how to assemble a query that combines data from multiple tables and exports the results in the format you need.

Workiva 34 steps 27 screenshots 2341 words Source video 10:07 Generated cost $3.85

Video: Creating Queries with @Workiva Wdata by Villani Analytics (2023). All credit for the demonstration goes to the creator; watch the original on YouTube. The written guide below was generated from this video by Docsie. Creator? Request a change or removal.

This guide walks you through how to create a Wdata query in Workiva, from reviewing your source tables to building joins, customizing the display of your results, applying parameters and filters, and configuring a Crosstab for pivoted reporting. By the end, you will know how to assemble a query that combines data from multiple tables and exports the results in the format you need.

Prerequisites

Before you begin, make sure you have access to the tables you plan to query. In this guide, the example uses a fact table (GL Data) containing numerical data, and two dimension tables (Account Mapping and Entity Mapping) containing descriptive attributes.

1

Review the available tables

Open your tables and confirm their structure before building a query. The fact table (GL Data) includes columns such as Company Code, Period, Account, and Amount. The dimension table (Account Mapping) includes columns such as Account, Account Name, Account Group, Account Group2, and Account Group3.

Preview the data in each table to confirm the structure and contents match what you expect to use in your query.

Fact table and dimension table structure with sample data previewed at the bottom of the screen
Fact table and dimension table structure with sample data previewed at the bottom of the screen

Creating a query

2

Initiate query creation

Click the plus (+) button labeled Create in the top menu. From the dropdown, select Query to start building a new query.

3

Add table data as a source

In the new query window, locate the Sources panel on the left. Click Add Source to Use and select Add table data from the dropdown. You can also choose to add spreadsheet data or query data if needed.

Select the tables you want to use in your query. In this example, select the three tables: GL Data, Account Mapping, and Entity Mapping. Click Add to include them as sources. The selected tables now appear in the Sources panel on the left.

4

Expand tables and add fields

Expand each table in the Sources panel to view its available columns. Drag and drop the columns you need into the query builder area in any order you prefer.

For example, drag in Account, Period, Company Code, and Amount from the GL Data table. You can also add fields from the dimension tables, such as Account Name and Account Group from Account Mapping.

Fields from multiple tables being dragged into the query builder area, showing Account, Period, Company Code, Amount, Account Name, and Account Group
Fields from multiple tables being dragged into the query builder area, showing Account, Period, Company Code, Amount, Account Name, and Account Group
5

Arrange and review selected fields

Ensure the fields are listed in the order you want in the query builder. The builder displays the source table and source column for each field. You can continue to add or rearrange fields as needed to match your reporting requirements.

With these steps complete, you have a query that combines data from your fact and dimension tables, ready for you to define how the tables relate to one another.

Building relationships between tables

6

Understand when a join is needed

When your query includes fields from multiple tables, you must join those tables together to create a unified dataset. If you see a warning such as "Needs Relationship," it means a join is required between the tables involved.

Click the Relationships tab at the top of the query builder to define how your tables are joined.

The query builder shows fields from multiple tables, with a warning icon and tooltip "Needs Relationship" next to the Account Mapping table in the Sources panel
The query builder shows fields from multiple tables, with a warning icon and tooltip "Needs Relationship" next to the Account Mapping table in the Sources panel
7

Create the first join

Set up a join between the GL Data table and the Entity Mapping table. Select company_code from the GL Data table, choose the join type (for example, LEFT JOIN), and set the join condition to match company_code from GL Data to company_code from Entity Mapping.

You can select the join type from options such as LEFT JOIN, RIGHT JOIN, INNER JOIN, or FULL JOIN.

The Relationships tab is open, showing a LEFT JOIN between GL Data (company_code) and Entity Mapping (company_code), with join type options visible
The Relationships tab is open, showing a LEFT JOIN between GL Data (company_code) and Entity Mapping (company_code), with join type options visible
8

Add additional joins as needed

For queries involving more than two tables, click Add another join. For the second join, select fields from the result of the first join (Join 1). Drag and drop the appropriate source field (for example, account from GL Data) and set it equal to the corresponding field in the Account Mapping table (for example, account).

Repeat this process for any additional tables you need to join.

The Relationships tab shows two joins: the first between GL Data and Entity Mapping on company_code, and the second join setup in progress, with the user selecting fields from Join 1
The Relationships tab shows two joins: the first between GL Data and Entity Mapping on company_code, and the second join setup in progress, with the user selecting fields from Join 1
9

Verify your join configuration

Confirm that all necessary joins are defined so that every table is connected through the appropriate fields. The query builder displays "Query Syntax is Good" when all joins are valid.

10

Preview the query results

Return to the Fields tab to review your selected columns, then click Run Query to preview the data. The results grid at the bottom displays the combined data from all joined tables, showing columns such as Account, Period, Company Code, Amount, Account Name, Account Group, Account Group2, Account Group3, and Entity Name.

Review the preview to confirm that the data matches your expectations.

11

Iterate as needed

If the results are not what you expect, revisit your joins or selected fields and make adjustments. Periodically preview the data to confirm accuracy as you refine your query.

With these steps, you have joined multiple tables in Workiva and previewed the resulting dataset, ensuring your query returns the information you need for analysis and reporting.

Customizing the display of your query results

12

Reorder columns in the query output

Drag and drop columns in the Fields tab to change their order in the results grid. For example, to move Account Name immediately after Account, click and drag the account_name field below account. To move Entity Name after Company Code, drag the entity_name field to the desired position.

The order of columns in the Fields list determines their order in the results grid. After reordering, click Run Query to update the results and see the new column arrangement.

The Fields tab is open, showing columns being reordered by dragging account_name below Account, and entity_name after Company Code. The results grid below reflects the new column order.
The Fields tab is open, showing columns being reordered by dragging account_name below Account, and entity_name after Company Code. The results grid below reflects the new column order.
13

Apply sorting to query results

Click the Sort tab to define how your results should be ordered. Drag a field (for example, Amount) from the list of available fields to the Sorted section.

Choose the sort direction by clicking the ascending (A→Z) or descending (Z→A) icon next to the field to toggle the order. For example, select descending order to show the largest amounts first. The results grid updates to reflect the new sorting after you run the query.

The Sort tab is open, with Amount dragged to the Sorted section and the descending order icon selected. The results grid below shows data sorted by Amount.
The Sort tab is open, with Amount dragged to the Sorted section and the descending order icon selected. The results grid below shows data sorted by Amount.
14

Add filters to limit query results

Click the Filters tab to add conditions that restrict which rows appear in your results. Drag a field (for example, Account) from the Sources panel to the filter area labeled "Drop column to filter query results by."

Set the filter condition (for example, "Equal To") and enter a value or use a parameter. To filter by a specific account, enter the account number in the value field.

The Filters tab is open, with Account dragged into the filter area and the filter condition set to "Equal To". The value field is ready for input.
The Filters tab is open, with Account dragged into the filter area and the filter condition set to "Equal To". The value field is ready for input.

Using parameters for dynamic filtering

15

Select a parameter for your filter

In the Filter Properties panel on the right, you can choose to enter a static value or use a parameter for dynamic filtering. Click Select Parameter to use a parameter as a prompt. You can create a new parameter or select a global parameter.

Name your parameter (for example, "account prompt") to make it clear for users running the query. Parameters allow users to enter filter values each time they run the query, making the report interactive.

The Filter Properties panel is open, showing the option to Select Parameter for the filter value. The user is about to create or select a parameter for dynamic filtering.
The Filter Properties panel is open, showing the option to Select Parameter for the filter value. The user is about to create or select a parameter for dynamic filtering.
16

Match the parameter's data type to the field

Ensure the data type of your parameter matches the field you intend to filter. In this example, the field being filtered is account, which is a text field. The parameter is named Account Prompt in the "Create New Parameter" panel, and the "Type" is set to Text to match the data type of the account field.

Parameter creation panel open, "Account Prompt" entered as Name, "Text" selected as Type, cursor over type dropdown
Parameter creation panel open, "Account Prompt" entered as Name, "Text" selected as Type, cursor over type dropdown
17

Enable a pick list for predefined values

Enable the "Pick List" option if you want users to select from predefined values. Toggle the "Pick List" switch to ON. The "List Options" box appears, allowing you to enter valid account values. Enter each account value on a separate line (for example, 300200, 400001).

Pick List enabled, two account values entered in List Options: 300200 and 400001
Pick List enabled, two account values entered in List Options: 300200 and 400001
18

Create the parameter

Click the Create button to finalize the parameter. The parameter is now available for use in your query filter.

Cursor clicking the green "Create" button in the parameter panel, two account values in List Options
Cursor clicking the green "Create" button in the parameter panel, two account values in List Options
19

Apply the parameter to your query filter

In the filter section, set the account field to use the new parameter (AccountPrompt). The filter now uses the selected account value from the prompt, and the query results update to show only records matching the selected account (for example, 300200).

Filter set to "account Equal To :Account Prompt (default: '300200')", results filtered to account 300200
Filter set to "account Equal To :Account Prompt (default: '300200')", results filtered to account 300200
20

Add additional filters as needed

Add a filter for the period field, for example. Enter a date value (such as 2023-10-04) or use the calendar picker to select a date.

Second filter added for "period", value set to 2023-10-04 using calendar picker
Second filter added for "period", value set to 2023-10-04 using calendar picker
22

Create a parameter matching the period field's data type

In the "Create New Parameter" panel on the right, enter PeriodPrompt as the Name. Set the "Type" to Date to match the period field, which expects date values. The "Type" dropdown shows options including Text, Integer, Decimal, Boolean, Timestamp, and Date. Do not enter a default value at this stage.

Parameter creation panel open, "PeriodPrompt" entered as Name, "Type" dropdown visible with Date option highlighted, no default value entered
Parameter creation panel open, "PeriodPrompt" entered as Name, "Type" dropdown visible with Date option highlighted, no default value entered
23

Review the parameter applied to the filter

After setting the type to Date, the parameter becomes available for use in the filter. In the filter section, the period field is set to use the new parameter (PeriodPrompt), which currently has a default value of Blank. A tooltip appears showing "PeriodPrompt, Default Value: Blank".

Filter for period set to ":PeriodPrompt (default: Blank)", tooltip visible, parameter type set to Date
Filter for period set to ":PeriodPrompt (default: Blank)", tooltip visible, parameter type set to Date
24

Review how filters are combined

The filter logic at the top shows (1) AND (2), indicating both filters (account and period) are active. You can click on the filter logic to modify how filters are combined (for example, AND or OR). The filter for account uses :Account Prompt (default: '302200'), and the filter for period uses :PeriodPrompt (default: Blank).

25

Select a filter operator

Click the operator dropdown (default is "Equal To") to choose from options: Equal To, Not Equal To, Like, Not Like. This allows you to customize how the filter matches values.

Operator dropdown open, options visible: Equal To, Not Equal To, Like, Not Like, cursor selecting operator
Operator dropdown open, options visible: Equal To, Not Equal To, Like, Not Like, cursor selecting operator
26

Correct invalid filter logic

The system automatically validates your filter logic. If you enter an invalid operator (for example, typing "PLUS" instead of "AND" or "OR"), an error message appears: "Invalid filter. Ensure all open parentheses are closed, and use only AND or OR to combine filters." The filter logic at the top updates to reflect the invalid entry (for example, "(1) PLUS (2)").

Change the filter logic back to a valid operator, such as "AND." The error message disappears, and the query syntax validates as good.

Invalid filter logic "(1) PLUS (2)", error message in red, filters for account and period using parameters
Invalid filter logic "(1) PLUS (2)", error message in red, filters for account and period using parameters
Filter logic corrected to "(1) AND (2)", error message gone, filters using parameters
Filter logic corrected to "(1) AND (2)", error message gone, filters using parameters
27

Remove filters for clarity

To simplify the view, remove one of the filters (for example, the period filter) by clicking the "X" next to it. This leaves only the account filter active, making it easier to visualize the effect of a single filter.

Only account filter remains, period filter removed, filter logic updated, query syntax good
Only account filter remains, period filter removed, filter logic updated, query syntax good
28

Save and run the query after filter changes

After removing the period filter, ensure your query is updated. Click the Save button (green, top left) to save your changes. The filter section now shows only the account filter: GL Data > account Equal To :Account Prompt (default: '302200'). Confirm that the "Query Syntax is Good" message appears, and that the results table below reflects the current filter.

Query builder with only account filter active, Save button highlighted, results table updated
Query builder with only account filter active, Save button highlighted, results table updated

Configuring Crosstab for pivoted reporting

29

Access the Crosstab feature

Locate the Crosstab panel on the right side of the screen and click the Crosstab icon (grid/table symbol) to open the Crosstab configuration. The panel displays "Crosstab disabled" with an option to enable it, along with the description: "To further summarize and pivot the raw query results into rows, columns, and values, enable Crosstab."

Crosstab panel open, "Crosstab disabled" message, option to enable, cursor over Crosstab icon
Crosstab panel open, "Crosstab disabled" message, option to enable, cursor over Crosstab icon
30

Enable Crosstab and configure pivot fields

Toggle the Enable Crosstab switch to activate the feature. The Crosstab panel now allows you to assign fields to Rows, Columns, and Values. Drag and drop or select fields for each section:

  • Rows: Account, account_name, Period, account_group, account_group2, account_group3
  • Columns: Entity Name, Company Code
  • Values: Amount (default aggregation: SUM)

The main query builder area updates to show the new Crosstab configuration.

Crosstab enabled, fields assigned to Rows (Account, account_name, Period, etc.), Columns (Entity Name, Company Code), Values (Amount as SUM)
Crosstab enabled, fields assigned to Rows (Account, account_name, Period, etc.), Columns (Entity Name, Company Code), Values (Amount as SUM)
31

Choose an aggregation operator for values

In the Crosstab panel, under Values, select the aggregation operator for the Amount field. Available options include SUM, COUNT, DISTINCT COUNT, MIN, MAX, and more. For this example, ensure SUM is selected for Amount.

You can add more fields to the Rows or Columns sections by dragging them from the list. For example, add Company Code to Columns to further break down the data. The Crosstab configuration updates dynamically as you add or remove fields.

Crosstab panel with Amount field in Values, aggregation operator dropdown open, SUM selected
Crosstab panel with Amount field in Values, aggregation operator dropdown open, SUM selected
32

Run the Crosstab query and view results

Once your Crosstab configuration is set, the query runs automatically, or you may need to click Run Query. The Results section now displays a pivoted table: rows are grouped by Account, account_name, Period, account_group, account_group2, and account_group3; columns represent combinations of Entity Name and Company Code; and each cell shows the SUM of Amount for the corresponding row/column intersection.

Confirm that the "Query Syntax is Good" message remains.

33

Adjust column widths and explore results

You can double-click column headers (for example, "ASIA PACIFIC-SEGMENT 5") to auto-fit the width for better readability. Scroll horizontally to view all pivoted columns. The Crosstab tab in the Results section is active, showing the transformed data.

With Crosstab enabled and configured, you can summarize and analyze your data by multiple dimensions, choosing which fields appear as rows, columns, and aggregated values for flexible, dynamic reporting directly within your query builder.

Crosstab results with wide columns, cursor over column header, multiple entity/segment columns visible
Crosstab results with wide columns, cursor over column header, multiple entity/segment columns visible

Exporting Crosstab results

34

Export your Crosstab results

To export the results, click the Export button located above the results table. Choose your preferred export format from the dropdown menu:

  • To CSV
  • To Excel
  • Print
  • To Spreadsheet
  • Wdata Table

Click the desired option to download or send the results as needed.

Export dropdown open with options: To CSV, To Excel, Print, To Spreadsheet, Wdata Table; cursor over Export button
Export dropdown open with options: To CSV, To Excel, Print, To Spreadsheet, Wdata Table; cursor over Export button

What's next

Now that you know how to create a Wdata query in Workiva, you can apply these same steps to build queries against your own fact and dimension tables. Use relationships to join tables, parameters and filters to make your queries interactive, and Crosstab to pivot your results for summarized reporting before exporting to the format that fits your workflow.

Generation details: cost, quality tiers

Docsie billed 5,500 credits ($3.85) to analyze this 11-minute video at standard quality. The rewrite, template fill and Word/PDF exports were included. The same video at each quality tier:

QualityFrames sampledCreditsApprox. cost
Draftevery 16-30 s2,750$1.92
Standard (this guide)every 8-15 s5,500$3.85
Detailedevery 4-7 s11,000$7.70
Ultraevery 1-3 s22,000$15.40

Credits priced at $0.70 per 1,000; plans include a monthly allowance. Enterprise customers on on-premise or bring-your-own-model deployments run this on their own inference and pay no per-video credits.

Generated by Docsie Video-to-Docs on 2026-10-25 from a 10-minute video. Screenshots are frames from the source video and belong to their creator, Villani Analytics, whose original is embedded above. If you own this video and want the guide removed or credited differently, contact us and we will act within one business day.

Turn your own training videos into guidesJoin teams that save hours, reduce documentation work and scale training with Docsie.
See Docsie in action. No commitment.

Ready to Transform Your Documentation?

Start creating professional documentation that your users will love