我正在尝试向Kimball样式的数据仓库中添加一些没有事实的事实表和/或垃圾维度表,但我很难理解如何在这些表添加到多维数据集以及何时从Excel查询数据集(例如数据透视表)。
下面是一个场景:
一家房地产服务公司提供抵押服务。当潜在客户对获得抵押感兴趣时,在向客户提供抵押(和其他潜在产品)之前,将打开一个案例,并进行各种处理。
(对于每一种情况,可能有多个业务流程是由单独的事务性事实表(包含附加度量)建模的,但我们不会关注这些业务流程,因为它们很容易建模)
我所挣扎的是对案件过程本身进行建模(从商业角度来看,这是所有发生的事情的总括术语,当案件正在由抵押经纪人处理时)。案例包含由OLTP系统中的用户设置的各种标志(和文本字段)。用户希望能够报告案例,并列出所有这些标志、文本字段等的值,而不需要任何度量/聚合。因此,如果我使用一个无事实的事实表和一个垃圾维度作为标志,我们就会有这样的一些:
DimDate
DateKey Date Year Month etc.
20150101 01/01/2015 2015 1
20150102 02/01/2015 2015 1
20150103 03/01/2015 2015 1
etc.DimCustomer
CustomerKey CustomerName
1 J Smith
2 B Edwards
3 A Davies
etc.DimCaseIndicator
IndicatorKey HasWillFlag HasHomeInsuranceFlag
1 True True
2 True False
3 False True
etc.FactCase
CaseOpenedDateKey CaseSubmittedDateKey IdCase(BusinessKey) CustomerKey IndicatorKey
20150101 20150102 ABC1234 1 2
20150101 20150101 ABC1235 2 3现在,要显示扁平的报告(每种情况1行),我们可以直接在数据仓库中针对上面的表运行以下SQL,如下所示:
SELECT FactCase.IdCase,
DimCustomer.CustomerName,
DimIndicator.HasWillFlag,
DimIndicator.HasHomeInsuranceFlag
etc.
FROM FactCase
JOIN DimCustomer on FactCase.CustomerKey = DimCustomer.CustomerKey
JOIN DimIndicator ON FactCase.IndicatorKey = DimIndicator.IndicatorKey
etc.这将使我们:
IdCase CustomerName HasWillFlag HasHomeInsuranceFlag
ABC1234 J Smith True False
ABC1235 B Edwards False True但是,如果上面的表包含在多维数据集中,如果我们使用Excel查询多维数据集,那么如何实现相同的输出?当我尝试这样做时,Excel中的数据透视表希望聚合(正确地说是这样!),但我想要的是上面所述的平面报告。
发布于 2017-02-23 11:41:30
我认为,如果您在Excel中从多维数据集中添加了所有这4列,它将提供与您描述的扁平报表相同的输出。它会聚集到什么地方?理想情况下,您的立方体中也有一个计数度量值。
https://stackoverflow.com/questions/28707463
复制相似问题