A fact less fact table is a fact table that does not have any measures i.e, it captures the many-to-many relationships between dimensions but contains no numeric or textual facts. It is essentially an intersection of dimensions.
On the surface, a factless fact table does not make sense since a fact table is after all about facts.
However, there are situations where having this kind of relationship makes sense in data warehousing.
For example,
Think about a record of students attendance in a class.
In this case, the fact table would consist of three dimensions: student dimension, time dimension, and class dimension.
This factless fact table would look like:
Fact_Attendance
Student_ID
Class_ID
Time_ID
Factless fact tables offer the most flexibility in data warehouse design.
For eg, one can easily answer the following questions with the factless fact table:
How many students attended a particular class on a particular day?
How many classes on average does student attend on a given day?
Without using a factless fact table, we need to separate two fact tables to answer the above two questions.