数据仓库中的 2 个多维数据集可以直接相互比较吗?
Posted
技术标签:
【中文标题】数据仓库中的 2 个多维数据集可以直接相互比较吗?【英文标题】:Can 2 Cubes in a Data Warehouse be directly compared against each other? 【发布时间】:2010-02-17 19:23:16 【问题描述】:有没有一种方法可以比较两个 OLAP 多维数据集之间的所有信息(聚合,直至细节级别)?例如,假设我想将一个创建用于 sql server 2000 的多维数据集与同一个多维数据集进行比较,但迁移到在 sql server 2005/2008 上运行 - 从技术上讲,它们都应该为所有维度/度量组合返回相同的信息,但我需要一种验证方式。
我绝对不是开发人员,但我确实可以使用企业管理器,可能还有 SAS 工具等,而且我知道一点 SQL,但其他方面知之甚少。我知道您可以将二维(即表)数据集与 sql 查询以及 SAS 进行比较 - 但我从未听说过比较三维多维数据集的方法。
我在这方面不走运吗?我要做的最后一件事是查看两个立方体并通过 excel 或其他东西并排比较所有可能的结果,我希望它可以以某种方式自动化。
【问题讨论】:
【参考方案1】:比较多维数据集意味着进行足够多的“切片和切块”查询,以证明您已经查询了所有事实。
您可以简单地获取各种事实表和维度表的总和和计数。如果它们相同,那么两者之间的任何特定查询都是相同的可能性很大。
如果没有相关维度和事实的详细信息,很难提出更具体的建议。
但是,请考虑您可以轻松地为多维数据集的每个维度计算一组小计。如果维度的行数相同,则结果将是相同的行数。如果总计相同,那么剩下的就是逐行比较小计。
如果您对每个维度执行一次,您应该确信它们是相同的。或者,您会发现可以通过更详细的查询来探索的差异。
【讨论】:
嗯,这很有道理——我想我会走这条路。谢谢!【参考方案2】:最好的方法是通过交换行和列来比较多维数据集数据,并验证所有计数和总计是否正确匹配。
例如,如果您有某个特定位置的年度总计,那么交换位置和月份之间的值并验证它们是否正确匹配将是一种很好的方法。
【讨论】:
以上是关于数据仓库中的 2 个多维数据集可以直接相互比较吗?的主要内容,如果未能解决你的问题,请参考以下文章