自动化测试SSAS表格模型

自动化测试SSAS表格

在实际的SSAS Tabular项目中,您需要运行许多不同的测试方案,以向您的客户证明Tabular模型中的辽宁体育彩票是正确的。如果您在适当的辽宁体育彩票仓库之上运行表格模型,那么与在运营辽宁体育彩票库之上构建语义模型时相比,您的生活会容易一些。但是,在表格模型上运行许多测试用例,然后在辽宁体育彩票仓库上运行类似的测试并比较结果仍然是一个非常耗时的过程。因此,您的测试用例总是有两个方面,一方面是可以作为辽宁体育彩票仓库的源辽宁体育彩票库,另一方面是表格模型。有很多测试系统的方法,您可以在Excel中浏览表格模型,在Excel中连接到辽宁体育彩票仓库并创建辽宁体育彩票透视表,然后比较来自表格模型的辽宁体育彩票和来自辽宁体育彩票仓库的辽宁体育彩票。但是,您可以在Excel中进行上述测试多少个量度和尺寸?

另一种方法是在表格模型端运行DAX查询。如果您的源辽宁体育彩票库是SQL Server辽宁体育彩票库,则需要在辽宁体育彩票库端运行T-SQL查询,然后匹配双方的结果以证明表格模型中的辽宁体育彩票正确。

在这篇文章中,我’d想与您分享一种自动在表格模型上运行的DAX查询的方法。

马上,这将是一篇漫长的文章,因此您可以一边享受阅读,一边煮咖啡或喝杯咖啡。

尽管我不会涉及另一端,源端或辽宁体育彩票仓库端,但也值得将该部分自动化,因为您可以节省很多时间。一世’确保可以在SQL Server端开发类似的过程,但是,我暂时不做介绍。我什么’在本文中将要解释的只是生成和运行DAX查询并将结果存储在SQL Server中的许多可能方式之一。也许它并不完美,但是,这是一个很好的起点。如果您有更好的主意,最好在此帖子下方的评论部分与我们分享。

要求

  • 的SQL 服务器分析服务表格2016年及更高版本(兼容级别1200及更高版本)
  • 的SQL 服务器的实例
  • 的SQL 服务器管理Studio(SSMS)

它是如何工作的

我什么’我要解释的很简单。我想生成并运行DAX查询并捕获结果。第一步是获取所有度量及其相关维度,然后将所有度量按所有相关维度切分并获得结果。最后,我捕获结果并将其存储在SQL Server临时表中。让’考虑一个简单的场景:

  • 您只有一项措施[互联网销售]‘Internet Sales’ table
  • 的measure is related to just one dimension, “Date” dimension
  • 的“Date” dimension has only four columns, Year, Month, Year-Month and 日期
  • you want to slice [Internet Sales] by Year, Month, Year-Month and 日期

因此,您需要编写四个DAX查询,如下所示:

EVALUATE
SUMMARIZE(
    'Internet Sales'
    , 日期'[Calendar Year]
    , "互联网销售", [Internet Total Sales]
)
EVALUATE
SUMMARIZE(
   'Internet Sales'
   , 'Date'[Month Name]
   , "互联网销售", [Internet Total Sales]
)
EVALUATE
SUMMARIZE(
    'Internet Sales'
   , 'Date'[Year-Month]
   , "互联网销售", [Internet Total Sales]
)
EVALUATE
SUMMARIZE(
     'Internet Sales'
    , 'Date'[Date]
    , "互联网销售", [Internet Total Sales]
)

很容易不是’是吗?可是等等。如果您有10个与4维相关的度量,而每个维都有10列,该怎么办?听起来很费力’是吗?好吧,在现实世界中,您赢了’不能按照所有相关维度对所有度量进行切片,但是您仍然需要做很多事情。我们要做的是生成并运行DAX查询,并将结果存储在SQL Server中的表中。多么酷啊?

好的,这是这样的…

  • 从SQL Server为SSAS表格实例创建链接服务器
  • 使用表格DMV生成DAX查询
  • 通过表格模型运行查询并在SQL Server临时表中获取/存储结果

继续阅读 “自动化测试SSAS表格模型”