我想为餐厅销售交易设置一个事实表。将整个事实表相加将得出整个餐厅的全部销售额。这家餐厅有两个主要的收入来源——食品和饮料。每个的尺寸都非常不同。
例如,对于食物,我可能想跟踪它是否不含乳制品、不含麸质等。或者我可能想查看这道菜是意大利菜还是法国菜等。对于葡萄酒,我可能对年份感兴趣,其中酒来自,酒是什么葡萄。
如何使用一个事实表完成此操作?如果项目是食物,我是否应该简单地拥有一个为 NULL 的 Wine 维度,如果项目是葡萄酒,我是否应该拥有一个为 NULL 的 Food 维度?
我想为餐厅销售交易设置一个事实表。将整个事实表相加将得出整个餐厅的全部销售额。这家餐厅有两个主要的收入来源——食品和饮料。每个的尺寸都非常不同。
例如,对于食物,我可能想跟踪它是否不含乳制品、不含麸质等。或者我可能想查看这道菜是意大利菜还是法国菜等。对于葡萄酒,我可能对年份感兴趣,其中酒来自,酒是什么葡萄。
如何使用一个事实表完成此操作?如果项目是食物,我是否应该简单地拥有一个为 NULL 的 Wine 维度,如果项目是葡萄酒,我是否应该拥有一个为 NULL 的 Food 维度?
你的事实可能看起来像这样?
SALES_LINE_ITEM_FACT
TRAN_DATE
TRAN_HOUR (or other time buckets if needed)
SERVER_KEY
TABLE_KEY
SEAT_KEY
PROMOTION_KEY
PRODUCT_KEY
REGULAR_PRICE
NET_SALE_PRICE
PRODUCT_COST
您的“产品”维度是您需要关注的地方,如果您想从销售事实中报告有多少人订购了特定的葡萄酒。
首先,它可能看起来像:
PRODUCT_DIM
PRODUCT_KEY
PRODUCT_NAME
PRODUCT_CATEGORY (food / beverage)
PRODUCT_SUBCATEGORY (wine / beer / dairy / french / italian etc)
CURRENT_AVERAGE_PRODUCT_COST
您可以将详细信息添加为类别层次结构的另一个级别,或者如果您想进行更详细的分析,请为某些产品类型创建特定的雪花并将它们连接到产品暗淡。