使用 C# 对 SQL Server OLAP 多维数据集进行单元测试

Posted

技术标签:

【中文标题】使用 C# 对 SQL Server OLAP 多维数据集进行单元测试【英文标题】:Unit Testing SQL Server OLAP Cubes Using C# 【发布时间】:2014-07-15 12:27:28 【问题描述】:

我有一个需要测试的 SSAS 多维数据集。我想在我的测试数据库中插入一些值,然后触发要在我的测试数据库上处理的多维数据集,然后根据插入到暗表中的值再次编写维度/度量和多维数据集本身。

多维数据集有一个可配置的数据源。我创建了一个 SSIS 包,它有一个分析服务处理任务来处理多维数据集,我可以在我的测试项目中执行该包,但是当直接运行 ssis 包时,它似乎处理了多维数据集,而通过测试项目执行它却没有,尽管它不会抛出任何异常。

基本上我需要知道是否有任何方法可以使用 SSIS 包或任何其他方式对 OLAP 多维数据集进行单元测试。

感谢您的帮助。

【问题讨论】:

解决此问题的一种方法是在 Visual Studio 单元测试之上编写自己的代码。您可以使用辅助函数来运行处理管道:SSIS、存储过程、任何其他代码,然后编写 MDX 查询并在单元测试中运行它们(使用辅助函数)以与预期结果进行比较。在这里你可以找到你想要的东西:***.com/questions/12077949/… 感谢您的 cmets。我已经编写了 MDX 查询来读取维度表和多维数据集,但是我需要自动化测试,以便它不依赖于多维数据集的存在。我想在每次运行测试时处理多维数据集。 【参考方案1】:

这是一个很好的例子:

http://msdn.microsoft.com/en-us/magazine/dn519927.aspx

【讨论】:

【参考方案2】:

您应该查看名为NBi 的框架。该框架专门用于 BI 解决方案的测试,并提供有用的语法来检查维度的成员、OLAP 结构和检查查询的正确性。

【讨论】:

【参考方案3】:

对此有许多可能的解决方案,而且它们都只需 5 秒即可通过您最喜欢的搜索引擎找到。这是一个起点:

http://msdn.microsoft.com/en-us/library/hh230848.aspx

也许您想要的是使用 Microsoft.AnalysisServices 中的 Database.Process 方法。

【讨论】:

以上是关于使用 C# 对 SQL Server OLAP 多维数据集进行单元测试的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server OLAP CUBES(教程)[关闭]

SQL Server Analysis Services,从关系数据库更新 OLAP 维度

Microsoft SQL Server Analysis Services OLAP 多维数据集

在 SQL Server 商业智能中,为啥要从 OLAP 多维数据集创建报表模型?

winform,用c#链接 sql server。对数据库进行查询记录,增加记录,删除记录。,修改记录。

[C#对sql操作]C#对sql server 2008数据库操作