Users may see the following error even if one of the source tables in a fact supports the necessary attributes for report execution.
'SQLEngine got an Exception from DFC:[DFCENGINE] Engine Logic: Fact does not exist at a level that can support the requested analysis.'
Example Case 1: ‘Fact does not exist…’ error occurs with the following setting in fact table.

Example Case 2: The report runs successfully by unchecking [Table_A] from source table.






select a12.Lev2 Lev2, a12.Item1 Item1, sum(a11.order_amt) WJXBFS1 from Table_B a11 join Table_C a12 on (a11.Lev3 = a12.Lev3) group by a12.Lev2, a12.Item1


This issue happens due to a warehouse design problem.
It is recommended to build the lower level table and then do the aggregation to higher level which is more reasonable for warehouse design.
If the warehouse design may not be changed for certain reasons, the following two workarounds can be applied:
Option 1:
Define a Many to Many relationship between [Item1] and [level3].
The following sql is generated:
select a12.Lev2 Lev2, a11.Item1 Item1, sum(a11.order_amt) WJXBFS1 from Table_A a11 join Table_C a12 on (a11.Item1 = a12.Item1 and a11.Lev1 = a12.Lev1) where (exists (select * from Table_C c21 where c21.Lev2 = a12.Lev2 and c21.Item1 = a11.Item1)) group by a12.Lev2, a11.Item1

The following sql is generated:
Sql
select a12.Lev2 Lev2, a12.Item1 Item1, sum(a11.order_amt) WJXBFS1 from Table_B a11 join Table_C a12 on (a11.Lev3 = a12.Lev3) group by a12.Lev2, a12.Item1