To design a factless fact table, you need to identify the events or activities that you want to track, and the dimensions that describe them. For example, if you want to track the website visits of your customers, you need to define the dimensions of date, time, customer, session, page, and device. Then, you need to create a table that has a foreign key column for each dimension, and optionally, a surrogate key column that uniquely identifies each row. For example, your factless fact table for website visits could look like this:
visit_id | date_id | time_id | customer_id | session_id | page_id | device_id
---------------------------------------------------------------------------
1 | 20210101 | 800 | 1001 | 1 | 101 | 1
2 | 20210101 | 801 | 1001 | 1 | 102 | 1
3 | 20210101 | 802 | 1002 | 2 | 103 | 2
4 | 20210101 | 803 | 1002 | 2 | 104 | 2
...