Excel Add-In for Workday

Build 25.0.9434

Filtering Support

Each type of table handles filters on its Id columns differently:

  • If a base entity includes an Id filter like WHERE Id = 'abcdef123456', the Id value is pushed down so that Workday only returns that specific row.
  • Child entities only push down filters on the parent Id. Workday does not support filtering on child Ids directly.
  • Owned entities and owned child tables only push down filters on the owner Id.

Each type of table also has its own behaviors around prompts:

  • Base entity prompts are sent to Workday unless an Id filter is also provided. This means that a filter like WHERE Id = '...' AND Search_Prompt = 'Logan' will return the row with that Id, even if it is not reported with the prompt only: WHERE Search_Prompt = 'Logan'.
  • An owned entity contains its own prompts and inherits the prompts from its owner. The owner prompts are sent to Workday as long as there is no parent Id filter. Other prompts are always sent to Workday.
  • Child and owned child entity prompts are all inherited from the parent (and owner) and follow the same rules.

Owned and owned child tables have the additional requirement that their owner's Id must be given in order to read from them. This can be done in several ways:

-- Provide one or multiple owner Id values
SELECT * FROM RequisitionsRequisitionLines WHERE Requisitions_Id = '...'
SELECT * FROM RequisitionsRequisitionLines WHERE Requisitions_Id IN ('...', '...')

--- Provide a collection of owner Ids via subquery
SELECT * FROM RequisitionsRequisitionLines WHERE Requisitions_Id IN (SELECT Id FROM Requisitions)

-- If no subquery or values are given, the add-in automatically adds the appropriate subquery
SELECT * FROM RequisitionsRequisitionLines

Prompts are also considered when the add-in generates subqueries for owned and owned child entities. For example, if this query is executed:

SELECT * FROM RequisitionsRequisitionLines WHERE FromDate_Prompt = 'January 1 2020' AND ToDate_Prompt = 'March 31 2020'

The add-in includes the date prompts in the generated subquery because they are inherited from the Requisitions table:

SELECT * FROM RequisitionsRequisitionLines WHERE Requisisions_Id IN (
  SELECT Id FROM Requisitions WHERE FromDate_Prompt = 'January 1 2020' AND ToDate_Prompt = 'March 31 2020'
)

Note that some owned tables include prompts with a _Prompt_For_ suffix. This means that both the owned table and the owner table have a prompt with the same name. For example, DataSourcesDataSourceFilters includes a prompt called Alias_Prompt which accepts the alias of the filter, as well as a prompt called Alias_Prompt_For_DataSources which accepts the alias of the data source that owns the filter.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434