Implicit Facts in Subject Areas

You can set an implicit fact in a subject area so that Oracle Analytics always uses a predictable fact source when a query contains only dimensions. This way, you can ensure that query results always match your expectations.

Different fact tables within the same semantic model often result in a different set of elements for the same query filters. For example, the list of products for Revenue or Quota Amount for the month of January.

Description of ceal_implicit_facts_monthly_product.jpg follows
Description of the illustration ceal_implicit_facts_monthly_product.jpg

The values returned from the query Select Month, Product from subject area A where month = ‘Jan’ depends on which fact table is used to run the query.

Most queries contain a mixture of facts and dimensions, so the sources used are predictable and the results match expectations. When a query contains only dimensions, Oracle Analytics must choose a fact table using the best information available, and this might yield results that don't match your expectations.

In this scenario, there's an option to assign an implicit fact for your subject area. This implicit fact is automatically included for any query that only includes dimensions from that subject area. This ensures that Oracle Analytics always uses a predictable fact source, and query results match your expectations.

Description of ceal_implicit_facts.jpg follows
Description of the illustration ceal_implicit_facts.jpg

For example, this session log shows the implicit fact added to the logical query.

SELECT
 0 s_0,
 "C - Sample Costs"."Products"."P1 Product" s_1,
 "C - Sample Costs"."Time"."T02 Per Name Month" s_2,
 DESCRIPTOR_IDOF("C - Sample Costs"."Products"."P1 Product") s_3
FROM "C - Sample Costs"
WHERE("Time"."T02 Per Name Month" = '2010 / 01')
ORDER BY
 3 ASC NULLS LAST,
 2 ASC NULLS LAST,
 4 ASC NULLS LASTFETCH FIRST 500001 ROWS ONLY
-------------------- Logical Request (before navigation): [[
RqList [1,2,3]
 0 as c1 GB,
 D1 Products (Level Based Hier).P1 Product as c2 GB,
 D0 Time.T02 Per Name Month as c3 GB,
 D1 Products (Level Based Hier).P0 Product Number as c4 GB,
 11- Fixed Costs:[DAggr(F0 Sales Base Measures.11- Fixed Costs by [ D1 Products (Level Based Hier).P0 Product Number, D1 Products (Level Based Hier).P1 Product, D0 Time.T02 Per Name Month] )] as c5 GB
DetailFilter: D0 Time.T02 Per Name Month = '2010 / 01'
OrderBy: c3 asc NULLS LAST, c2 asc NULLS LAST, c4 asc NULLS LAST