我正在对我们的 SSAS 表格项目的自动化测试工具进行一些研究。我找到了 NBI,觉得它真的很酷。我尝试设置它并成功运行了一些基本测试。但是,当我尝试测试 dax 计算时,它显示“未找到函数”(见屏幕截图)。听起来它不支持 SUM,但鉴于 SUM 是一个基本功能,我想它应该可以工作。因为我是这个工具的新手,所以我想仔细检查我是否做错了什么,或者这只是错误的意思......(不支持的功能)。
我回去查看了 NBI 文档,它提到要检查他们的 NCAL.dll 以获取所有可用的表达式。不幸的是,我无法打开该 dll 文件的可读版本。任何帮助表示赞赏。
这是我要测试的公式:
=SUMX(FILTER(MyTable, AND(MyTable[Date] = EARLIER(MyTable[Date]), MyTable[Account] = EARLIER(MyTable[Account]))), MyTable[Amount])
XML 代码 (nbits) 文件
<test name="My second test: Calculated column compared to DAX formula">
<system-under-test>
<execution>
<query connectionString="Provider=MSOLAP.7;Data Source...">
<![CDATA[
EVALUATE
SUMMARIZE (MyTable, MyTable[Date], MyTable[Account], MyTable[Amount], MyTable[CalculatedAmount])
]]>
</query>
</execution>
</system-under-test>
<assert>
<evaluate-rows>
<variable column-index="0">Date</variable>
<variable column-index="1">Account</variable>
<variable column-index="2">Amount</variable>
<variable column-index="3">CalculatedAmount</variable>
<expression column-index="3" type="numeric" tolerance="0.01"> = SUMX(FILTER(MyTable, AND(MyTable[Date] = EARLIER(MyTable[Date]), MyTable[Account] = EARLIER(MyTable[Account]))), MyTable[Amount])</expression>
</evaluate-rows>
</assert>
</test>