我正在爲我們的SSAS Tabular項目進行一些自動化測試工具的研究。我發現NBi並認爲它非常酷。我試圖設置它併成功地進行了一些基本的測試。但是,當我試圖測試dax計算時,它會顯示「未找到函數」(請參見截圖)。這聽起來像它不支持SUM,但鑑於SUM是一個基本的功能,我會想象它應該工作。由於我是這個工具的新手,我想仔細檢查一下,如果我做錯了什麼,或者錯誤是這樣說的......(不支持的功能)。使用NBi測試DAX計算
我回去和審查NBI文件,並將其提到看看他們NCAL.dll所有可用的表達。不幸的是,我無法打開該dll文件的可讀版本。任何幫助表示讚賞。
這裏是我想測試下式:
= SUMX(FILTER(MyTable的,AND(MyTable的[日期] = EARLIER(MyTable的[日期]),MyTable的[部門] = EARLIER(MyTable的[部門] ))),MyTable的[量])
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>
只是澄清 - 我在簡單SUM和我的實際表達SUMX之間切換..既不工作 – NKD
您可以發佈您的測試的XML?用簡單的英語描述你在這個測試中試圖測試什麼? 「我想測試的公式」是什麼意思......是在您的項目中實施的公式,還是您試圖在測試中指定執行斷言的公式? –
我剛剛根據您的請求發佈了XML。我想測試的很簡單。在第一個結果集中,我從表格模型中選擇4列,第四列(CalculatedAmount)作爲計算列。現在,在第二個結果集中,我將相同的數據與我爲CalculatedAmount列使用DAX表達式的異常進行比較。這與我在表格模型中輸入以獲得第一個結果集的計算量相同的表達式。我想看看這個工具是否可以支持我的DAX表達式。如果是這樣,我的測試應該通過。讓我知道它是否仍然沒有意義。 – NKD