Ssas SQL OLAP多维数据集和维度
在WindowsServer2008中,我使用SQLServer2005、VisualStudio和SQLServerAnalysisServices创建了一个OLAP多维数据集 该场景是一个典型的销售产品、客户和代理商的商店 多维数据集由事实表tblVendite(销售数据)和基于sql视图的维度组成 注意:我尝试将屏幕截图嵌入此处,但它们将调整大小且无法清除,因此我将其发布在安全站点以查看:Ssas SQL OLAP多维数据集和维度,ssas,data-warehouse,olap-cube,cube-dimension,Ssas,Data Warehouse,Olap Cube,Cube Dimension,在WindowsServer2008中,我使用SQLServer2005、VisualStudio和SQLServerAnalysisServices创建了一个OLAP多维数据集 该场景是一个典型的销售产品、客户和代理商的商店 多维数据集由事实表tblVendite(销售数据)和基于sql视图的维度组成 注意:我尝试将屏幕截图嵌入此处,但它们将调整大小且无法清除,因此我将其发布在安全站点以查看: 事实表tblVendite(销售)>PK:CdArticolo(IDProduct) 尺寸Pro
- 事实表tblVendite(销售)>PK:CdArticolo(IDProduct)
- 尺寸Prodotti(produtcs)
- 维度日历IO(日历)
- 维度代理(代理)
- 维度客户端(客户)
vwMarcheOrd
(畅销品牌)
桌面销售品牌由一个sp
预先填充,每个品牌包含一条记录(CdMarca
-位置
-描述
按位置排序)
注意:从vwMarcheOrd
我不能直接链接到事实表,因为PK是CdMarca
并且它不存在,所以我需要通过CdMarca
来“桥接”视图产品,并获得CdArticolo
链接到事实表
品牌
和顶级品牌
的维度和属性:
浏览多维数据集和问题
将维度品牌
(1)添加到行字段中,结果是正确的,但如果我添加顶级品牌
(2)是错误的,并且许多品牌缺失(但它们存在)
所以我的问题是2:
顶级品牌维度有什么遗漏、错误或误解
如何在行字段中显示顶级品牌的所有记录,即使代理商没有销售该品牌的任何商品(空行)
您可以通过维度名称下方属性上的+符号来实现这一点。据我所知,顶级品牌可能会随着时间的推移而改变。这意味着您需要随着时间的推移以某种方式跟踪它。在我的观点中,最简单的方法是将TopBrandKey添加到事实表中,并将TopBrand维度直接连接到事实表中。通过这种方式,可以在事实表中为您完成时间跟踪。随着新记录的出现,您将查找顶级品牌的关键,并将其添加到事实表中。我认为你的方式不可行,因为销售的产品没有顶级品牌(这是两个不同的东西)。新视图和产品视图之间的连接是什么?什么是顶级品牌?你如何知道它是顶级品牌?您的图片不可读。@Ali_Abadani我已经更新了信息来回答您的问题。下面Sali的回答可能是正确的,但从您的描述中不清楚什么是“顶级品牌”。一个产品只能在一段规定的时间内成为“顶级”(销售数量最多、收入最多、利润最多),那么你如何处理一月份的顶级品牌与全年的顶级品牌?或者这与您的场景无关?问题已经解决(请看Ali_Abadani)的评论,所以我想说谢谢您的帮助谢谢您的澄清,但我不能在事实表中使用TopBrandKey,在这种场景中,我只能读取数据,并且不会更改任何内容,因为使用了其他数据仓库。如上所述,TopBrandKey是桥vProdotti引用的“关系”。顺便说一句,我在几分钟前发现了这个问题,就是由于从SQL 2000移植而导致的表(顶级品牌)中的数据不正确。因此,在重建表并重新处理多维数据集之后,所有工作最终都会正常进行。