Determinants are designed to provide control over granularity in a similar, but not identical, way as dimension information in Cognos ReportNet. A determinant can define the set of database columns (query items) that uniquely identify a set of data, or it can identify a set of columns that identify a non-unique set within the data.
Determinants are most closely related to the concept of keys and indexes in the data source and are imported based on key and index information in the data source. We recommend that you always review the determinants that are imported. There is no concept of hierarchy in determinants. The order in which they are specified governs
the order in which they are evaluated.
Use determinants in the following cases:
• Joins exist at multiple levels of granularity for a single query subject. An example is the Time dimension in the Go Data Warehouse sample model. There are joins
to the Time dimension on the day key and on the month key. Determinants are used for the Time dimension when you want to prevent double-counting for multiple-fact queries. For example, some facts join to time on month and some facts join to time on day. Specify determinants for time to clearly capture the functional dependency between month and day as a minimum to prevent double-counting for those facts that join at the month key.
• BLOB data types exist in the query subject. Querying blobs requires additional key or index type information. If this information is not present in the data source, you can add it using determinants. Override the determinants imported from the data source that conflict with relationships created for reporting. For example, there are determinants on two query subjects for multiple columns but the
relationship between the query subjects uses only a subset of these columns. Modify the determinant information of the query subject if it is not appropriate to use the additional columns in the relationship.
• A join is specified that uses fewer keys than a unique determinant that is specified for a query subject. If your join is built on fewer columns than what is stored in Framework Manager within the determinants, there will be a conflict. Resolve this conflict by modifying the relationship to fully agree with the determinant or by modifying the determinant to support the relationship.