相較於其他稽核資料分析軟體系統,喜歡Arbutus 的100個理由:51~60 (Part 6)

[請點按左列各項理由顯示內容]

51.強大的程序編輯除錯輔助工具52.演算式編輯器的雙引號功能53. 使用者操作介面中隱藏不須使用的欄位54. 從資料數值直接轉換為日期或時間55. 調整即有分界檔(delimited)資料表格式反應資料的變更56.分層指令的「自動剖析」57. 分層範圍平整化「Range Rounding58. 下探明細時自動切換至正確的資料表59. Filedate() 函數60. Return 指令

Arbutus的程序編輯器,除了會將與指令相關的語法上色外,還提供了『中斷點』、『步驟模式』等等程序除錯輔助工具。程序編輯器還包括了其他強大的功能,例如:

  • 自動換行:能確保在編輯器視窗中能一次顯示整行指令。
  • 自動顯示編輯器中的行號:Arbutus在執行程序發生錯誤時,會顯示出執行錯誤處的名稱與行號,方便使用者尋找指令撰寫錯誤之處。

Arbutus Debugging

Arbutus的演算式編輯器,包括了自動添加”雙引號”的功能,使用者點按此按鈕,會於演算式編輯框中自動代入“雙引號”,並將游標自動置於雙引號內,可方便使用者輸入文字資料篩選條件。

Arbutus Expression Builder

就像一般物件一樣,不須使用的欄位可以從使用者介面中被隱藏起來,這個欄位仍然是存在的,這種情況最適合應用在演算式中的臨時性欄位,但一般通常不會被單獨讀取使用。

這項特色尤其是在從其他資料源匯入資料表最有用,你可以選擇匯入所有資料欄位,但是隱藏那些你沒有興趣不使用的欄位,一直到你需要的時候,再將有需要的欄位取消隱藏。

Arbutus Hide Field

 

使用者常常需要日期或時間能被計算,Arbutus特別提供兩個函數功能:NTOD()、NTOT(),能把數值轉換程日期或時間格式。

  • NTOD()使用三個數字參數(年、月、日),便能將其轉換成日期:

»例如:NTOD(2012,7,4)= July 4, 2012

  • NTOT()使用三個數字參數(時、分、秒),便能將其轉換成時間:

»例如:NTOT(9,15,0)= 09:15:00 AM

您還可以將這兩個函數結合在一起,便可創造出任何所需的日期時間:

  • 例如:NTOD(2012,7,4)+ NTOT(9,15,0)= July 4, 2012 at 09:15:00 AM

 

Arbutus不僅僅可以直接讀取原始分界檔案資料(delimited data files)(不須轉換成平面文字檔), 而且可以允許你之後變更資料表格式, 這個意思是:

  • 如果因為新資料的長度較長或較短,你可以直接任意更改分界欄位寬度,資料不會遺失,不管你後面所變更的欄位寬度。
  • 你可以使用 Verify 指令來確保新更改的欄位定義是有效的。
  • 你可以定義新實體或演算欄位來擴展新分界檔欄位資料。
  • 你可以隱藏沒有興趣的實體分界欄位。

 

  • 分層(Stratify)是一個強而有力的指令,能快速檢視資料的特性。但是,你必須要先知道一些基本資訊(特別是最小值/最大值),才能將資料做適當的分層。
  • 分層指令的「自動剖析」解決了這個問題。如果執行分層指令時,該執行分層指令的欄位最小/最大值是未知的狀態時,Arbutus會在執行分層指令前自動計算這些數值。
  •  當對一個數值欄位進行分層處理時,沒有什麼比擁有異常數值而無法使用的範圍更糟糕的, 典型系統較習慣將範圍分割成平均階層,即使它只產出較少的結果,更糟榚的是,通常有一個階層會跨過零值,將負值與正值數含蓋在一起。
  • 分層範圍平整化「Range Rounding」 解決這項問題,當產生平均階層時, Stratify指令自動地調整階層,使得各階層的邊界值都落在整齊的斷點上,也就是說,它被確保該階層斷點在零值上,也確保負值與正值不會在混合在一起。

Stratification

大多數使用分析指令產出的結果,如果原先分析的資料表是開啟狀態,下探(Drill-Down)至該數據資料源明細是非常簡單的事。但是,若是使用者想要檢視之前分析過的資料明細,但該記錄使用的資料表非使用當前所開啟的資料表時,該怎麼辦?。使用者只要點選指令日誌中先前產生的紀錄,Arbutus會自動確保所引用的資料表被打開。

SwitchTable


Filedate()函數能傳回文件的最後修改日期和時間。這對於資料需要定期從來源資料更新是非常有用的功能,Filedate() 函數能利用比較原始資料的日期變動與Arbutus資料表的日期變動。如果原始資料比資料表的日期還新,則代表該資料表是過時的。

當執行程序及呼叫子程序時,使用Return指令能快速地決定所呼叫的子程序,或是提早結束程序執行。

Return指令能使用的範圍如下:

  • 可直接跳出目前執行的程序
  • 可返回特定數值,讓其他程序調用
  • 可選擇使用(RETURN ALL)結束所有程序,當程序執行發生錯誤或程序全部執行完畢時。

第61個以後喜歡Arbutus的理由,陸續公佈中!

 

Performance Comparison

Performance Comparison: Arbutus vs. The Competition

benchmark

 

Importing
XML: 74 times faster
Delimited/CSV: Instantaneous
XLS/XLSX: 2 times fasterExporting
XML: 4 times faster
XLS/XLSX: 3 times fasterFuzzy matching: 11 to 500 times fasterUse of time fields: 2 to 3 times faster
Notes:
1) In Arbutus, Import CSV takes zero time, regardless of file size, as delimited data is read directly.
2) Our Duplicates command is compared to their FUZZYDUP.
3) As their FUZZYDUP command does not support ‘same’ fields, we have concatenated the three keys.About the Tests:

  • Test computer specs: Dell I7-920, 2.67GHz, Windows 64 bit, 9GB RAM, 1TB disk
  • Most reads use a 125,000,000 record, 80 bytes long transaction file (10GB data size)
  • Fuzzy duplicates tests use a 50,000 record address file
  • Exports are 5,000,000 records, except Excel, which is 650,000
  • Imports are all 650,000 records
  • We chose 125 million records because most people interested in performance have big data. For comparison, Arbutus also ran the “big data” tests (Join through Summarize) on a 5 million record file as well. Analyzer took 50 seconds in total, while the competitor’s version 10 took 89 seconds (the graph lines were too small to show individually).

關於 David Chuang

David Chuang
CFE舞弊稽核師、資料分析與電腦稽核專家 現 任: 台北商業技術學院會計資訊系兼任講師 - 電腦審計 兆益數位股份有限公司 總經理 中華民國電腦稽核協會理事專業發展委員會主任委員 台灣舞弊防治與鑑識協會理事暨會員發展與服務委員會主任委員