Data Model
WQL APIs
When UseWQL is enabled, the driver models Workday data sources as views. You can get a complete list of these data sources using the Data Sources standard report in Workday. The driver exposes each data source using its WQL Alias which is shown on the View Data Source page. All WQL data sources appear under the REST schema.
The driver does not list all the data sources defined within Workday:
- The driver only exposes data sources that are accessible to the user you have authenticated as. For example, a user with only HR roles is able to view data sources containing employee records but not data sources about financial assets.
- The driver only supports one data source filter per data source. The driver uses the unfiltered version of the data source when it is available. For data sources that require a data source filter, the driver automatically picks the first one listed on the data source. Different data source filters expose different prompts and may return different rows, but all return the same data fields.
You can use UseSplitTables to work around this limtiation by splitting each data source into multiple views with fewer columns.
Reports
When you enable UseWQL, the driver also grants access to reports that are exposed using Reports as a Service (RaaS). These reports are exposed as views within the Reports schema. Accessing these reports requires extra connection setup beyond the basic settings for WQL access. See Fine-Tuning Data Access for details on what is required.
The driver considers WQL views as higher priority than report views.
If you write a query that does not specify a schema, the driver first tries to find a WQL data source with the name of the table.
If it cannot find one then it tries to find a report with a title that matches the table name.
Though in practice this kind of conflict is unlikely, as WQL data sources and report titles have different naming conventions.
SELECT * FROM [Possible Report Or Data Source] /* Executed as SELECT * FROM REST.[Possible Report Or Data Source] if there is both a report and WQL data source with this name */
Prompts
Many Workday data sources and reports have prompts that affect the output of the report.
The driver exposes these prompts as input columns that have the _Prompt suffix.
Most prompts accept only a single value, but prompts that accept multiple values can be set with IN or equals:
SELECT * FROM [Account Balance Data] WHERE Company_Prompt IN ('1234567890abcdef', 'f1234567890abcde') AND Region_Prompt = 'ef1234567890abcd' AND Include_Managers_Prompt = TRUE AND Start_Date_Prompt = '2022-01-01'
Other filters may be included with prompts.
These do not affect the way Workday generates the report, but the driver removes non-matching rows from the response:
SELECT * FROM [Account Balance Data] /* Prompts */ WHERE Company_Prompt IN ('1234567890abcdef', 'f1234567890abcde') AND Region_Prompt = 'ef1234567890abcd' AND Include_Managers_Prompt = TRUE AND Start_Date_Prompt = '2022-01-01' /* Other filters */ AND Department = 'Sales and Marketing' AND Account_Type = 'LIABILITY'
SOAP APIs
The data models listed in Service are only available in the SOAP API. Accessing them requires disabling UseWQL.