焦點精選!通用的數據自動分析方法 低代碼低成本分析數據

2023-01-27 19:31:15 來源:51CTO博客

數據分析自動化?

數據分析是指用適當的統計分析方法對收集來的大量數據進行分析,將它們加以匯總和理解并消化,以求最大化地開發數據的功能,發揮數據的作用。


(資料圖)

隨著信息化的發展,數據分析需求越來越大,正深入各行各業,無論是金融、保險,還是公司、學校、醫院、事業單位,都需要大量的數據分析工作。通過數據分析,可以確定事物狀態,掌握數據變化趨勢,為正確決策提供支持。?

數據分析過程一般分為三個步驟,一是收集需要的數據;二是設計算法模型分析數據;三是以直觀的方式展現數據。很多中小企業分析數據還停留在使用表格處理軟件,往往需要投入大量的人力物力,且不能確保分析結果的正確性。?

隨著企業加大對信息化建設的投入,逐步建立起生產管理、庫存管理、銷售管理等系統。如果缺少統一規劃,各系統形成數據孤島,很難進行數據統籌分析。即便是已經建立起統一規劃的集成系統,但隨著環境和需求變化,需要使用新的方法統計分析,修改維護系統成本太高。

為了低成本快速實現數據分析,就需要把數據收集、計算分析、展示分析結果的過程自動化。使用低代碼平臺框架,生成自動化分析數據方案,有效降低軟件成本。這里我們使用木頭瀏覽器為例說明具體方法,因為瀏覽器支持JavaScript腳本代碼,因此具體數據分析算法使用JavaScript來完成。數據分析結果通過生成HTML網頁來展現。?

首先運行木頭瀏覽器,自動分析結果將直接顯示在瀏覽器的當前頁面中。在控制菜單中打開“項目管理器“,之后的操作都在項目管理器中完成。?

數據收集?

自動分析數據使用JavaScript代碼來實現,首先需要收集相關數據,并將這些數據存為JavaScript變量以供使用。因原始數據可能來自各個不同的系統或文檔,木頭瀏覽器作為一個通用的數據分析平臺,就必須提供多種數據收集方式,實現跨平臺數后收集處理。?

讀取數據文檔?

讀取指定的文件內容,保存在瀏覽器變量中,使用JavaScript代碼可直接使用這個變量。這樣文檔內容就傳遞給JavaScript變量。?

在項目管理器左側默認項目上點擊鼠標右鍵,彈出新建步驟快捷菜單,選擇“定義變量“,打開自定義變量管理窗口。本節內容只要是讀取文檔的操作,都在這個定義變量的步驟中完成。

讀取Excel文檔?

如上圖所示,實體店銷售人員手工創建“實體店銷售表.xlsx”,也可以由其它銷售管理系統導出這個文件,并將這個文件存放在指定的文件夾。注意Excel工作表有且只有第一行為字段名,字段不能重名。?

在項目管理器創建的自定義變量步驟中,添加自變量,選擇內容來源為Excel文件內容,找到需要讀取的Excel文檔路徑,設置讀取Excel工作簿的第一個工作表,勾選批量添加操作,確定后就自動添加該工作表的所有字段內容。?

在項目執行過程中,本步驟每執行一次,從Excel工作表中讀取一行數據,分別保存在對應的以字段命名的瀏覽器變量中。如果需要讀取整個文檔,只需要循環執行本步驟,直到最后一行數據讀取完成后自動停止操作。?

數據已讀取到瀏覽器變量中,怎樣賦值給JavaScript變量呢?首先新建一個腳本代碼步驟,定義相JavaScript變量等于相應的瀏覽器變量即可。如果不了解瀏覽器變量命名規則,在源碼輸入窗口中,可以點擊鼠標右鍵,在彈出的快捷菜單中選擇瀏覽器變量。?

瀏覽器變量是以大括號括起來的部份,內容為變量名稱,在執行JavaScript前,瀏覽器自動將瀏覽器變量替換為其值。?

為方便識別,在項目管理器左側項目樹中,分別修改步驟名稱為“1、讀取Excel”和“2、引用Excel數據”。?

讀取Txt文檔?

由于本文本文件格式不確定,可以先讀取整個文件內容,再由JavaScript去分析規范數據。以讀取下面這個文件為例。?

在項目管理器中創建一個自定義變量步驟,添加變量時,設置變量名稱為“讀取txt”,選擇內容來源為文本文件,并設置文件完整路徑,選擇“讀取整個文件內容”。如下圖所示,當項目執行本步驟時,讀取“實體店銷售表.txt”文件內容,然后保存到名為“讀取txt”的瀏覽器變量。?

下一步需要讓JavaScript使用瀏覽器變量中的txt文件內容。首先創建一個腳本變量步驟,在代碼區域定義JavaScript變量text,并把瀏覽器變量“讀取txt”的值賦給它。在JavaScript代碼編輯窗口中,可以點擊鼠標右鍵,調出瀏覽器變量選擇菜單,選擇相應的變量即可。?

當瀏覽器執行該步驟前,先計算瀏覽器變量的值,再用其值替換對應的瀏覽器變量名。生成新的JavaScript代碼再執行。獲取整個文本文件內容后,可用JavaScript整理數據格式。?

為使用方法,這里把第3、4步驟名稱改為“3、讀取txt”和“4、引用txt文件數據”。?

讀取XML文檔?

讀取xml數據時,先讀取整個文檔內容,保存在瀏覽器變量中,再使用JavaScript讀取xml內容,轉換為JavaScript對象,以方便后期分析使用。?

在項目管理器窗口,新建自定義變量步驟,添加變量時,設置變量名稱為“讀取xml”,選擇內容來源為文本文件,并設置文件完整路徑,選擇“讀取整個文件內容”。如下圖所示,當項目執行本步驟時,讀取“實體店銷售表.xml”文件內容,然后保存到名為“讀取xml”的瀏覽器變量。?

下一步需要讓JavaScript使用瀏覽器變量中的xml文件數據。首先新建一個腳本變量步驟,在代碼區域定義JavaScript變量xml,并把瀏覽器變量“讀取xml”的值賦給它。在輸入代碼編輯窗口中,可以點擊鼠標右鍵,調出瀏覽器變量選擇菜單,選擇相應的瀏覽器變量。?

當瀏覽器執行該步驟前,先計算瀏覽器變量的值,再用其值替換對應的瀏覽器變量名。生成新的JavaScript代碼再執行。獲取整個xml文檔數據后,用getXMLNode(自定義函數)把xml格式的字符串轉換為JavaScript數據對象,再調用對象的屬性值就很方便了。?

為使用方法,這里把第5、6步驟名稱改為“5、讀取xml”和“5、引用xml文件數據”。?

讀取JSON文檔?

數據格式為json的本地文件,瀏覽器讀取時,先讀取整個文檔內容,保存在瀏覽器變量中,再使用JavaScript讀取json內容,轉換為JavaScript對象,以方便后期分析使用。?

下一步需要讓JavaScript使用瀏覽器變量中的json文件數據。首先新建一個腳本變量步驟,在代碼區域定義JavaScript變量json,并把瀏覽器變量“讀取json”的值賦給它。在輸入代碼編輯窗口中,可以點擊鼠標右鍵,調出瀏覽器變量選擇菜單,選擇相應的瀏覽器變量。?

當瀏覽器執行該步驟前,先計算瀏覽器變量的值,再用其值替換對應的瀏覽器變量名。生成新的JavaScript代碼再執行。獲取整個json文檔數據后,用“JSON.parse(json)”把json格式的字符串轉換為JavaScript數據對象,再調用對象的屬性值就很方便了。?

為使用方法,這里把第7、8步驟名稱改為“7、讀取json”和“8、引用json文件數據”。?

獲取實時數據?

數據保存到本地文件中,瀏覽器再去讀取數據,獲取數據有一定延時,不適用需要實時分析數據的場景;如果需要實時分析數據,就需要瀏覽器通過網絡獲取數據的能力。瀏覽器可以按設定的周期獲取數據,生成數據分析結果;也可以監聽端口,由外部網絡程序發送數據給瀏覽器,觸發瀏覽器接收數據和分析結果操作。?

從數據庫查詢數據?

比如用戶使用連鎖店收銀系統,每個店鋪的訂單和銷量數據都保存在數據庫中。就可以用瀏覽器直接連接數據庫,查詢數據表取得數據。?

在瀏覽器項目管理窗口,新建“執行Sql”步驟,并重命名為“執行Sql查詢”。選擇需要連接的數據庫類型,瀏覽器支持主流關系數據庫Sqlserver、Mysql、Access、Sqlite和Oracle,設置查詢結果返回值為“數據表”。設置數據庫連接參數和用戶名密碼,可以連接遠程數據庫服務器。最后輸入查詢數據的Sql語句執行,在運行結果框里顯示返回的數據表。?

成功執行Sql查詢語句后,瀏覽器把返回的數據表轉換為json格式,保存在瀏覽器變量中,以供其它步驟調用數據。?

下一步需要讓JavaScript使用瀏覽器變量中的數據查詢結果。在項目管理欄中,新建“腳本代碼”步驟,并重命名為“引用數據庫查詢結果”。在輸入代碼框定義JavaScript變量db,并把“執行Sql查詢”結果值賦給它。在輸入代碼編輯窗口中,可以點擊鼠標右鍵,調出瀏覽器變量選擇菜單,選擇相應的瀏覽器變量。?

當瀏覽器執行該步驟前,先計算瀏覽器變量的值,再用其值替換對應的瀏覽器變量名。生成新的JavaScript代碼再執行。獲取整個json數據后,用“JSON.parse(db)”把json格式的數據轉換為JavaScript數據對象,使用時可直接調用對象的屬性值。?

從網頁抓取數據?

如果數據顯示在網頁上,可以實時刷新網頁,從頁面抓取數據,抓取網頁內容有兩種方式。

第一種方法,在瀏覽器項目管理窗口,新建“抓取內容”步驟,添加抓取元素,重命名元素別名為“正文內容”,即可以定位整個數據表元素,也可以只抓取一個單元格,設定抓取元素的Text文本內容。抓取后內容存放在瀏覽器變量。?

在JavaScript代碼中引用抓取的內容,新建一個腳本代碼步驟,重命名為“引用抓取的內容”。在JavaScript代碼中,定義一個變量,其值等于抓取的瀏覽器變量。瀏覽器變量不需要手工輸入,在輸入代碼框內,點擊鼠標右鍵可選擇需要的瀏覽器變量。?

第二種方法,直接用JavaScript代碼獲取網頁元素和數據,無需瀏覽器變量中轉,這樣更簡潔。在項目管理器窗口新建腳本代碼步驟,重命名為“腳本代碼從網頁抓取數據”,在JavaScript代碼里獲取所有的數據,如果生成對象使用就更方便了。?

向服務器請求數據?

某些系統服務器提供API數據接口,供外部程序調用,這種方式性能穩定。需要瀏覽器先向服務器發送數據請求,服務返回數據給瀏覽器,期間并不需要打開網頁。?

在瀏覽器項目管理窗口中,新建“Http請求”步驟,輸入請求網址,選擇請求方式為Post或Get,根據服務器要求可能還需要設置Http協議頭數據,發送請求等待返回結果。?

因為由瀏覽器主動向服務器發送請求,如果需要實時獲取數據分析,需要在瀏覽器項目中加入定時控制,按一定周期向服務器請求數據。?

服務器返回數據后,保存為瀏覽器變量。在項目管理器中新建腳本控制步驟,并重命名為“引用Http請求數據”。定義一個JavaScript變量,并把服務器返回數據賦值給它。一般服務器返回數據采用json格式,只需要使用JSON.parse()函數就轉換為對象數組,分析輸出對象數據更方便。?

實時接收數據?

如果要求更高的時效,可以使用瀏覽器的數據接口。其原理是瀏覽器作為服務端,開放監聽網絡端口,由其它程序向瀏覽器發送數據。瀏覽器接收到數據時立即分析數據,并輸出分析結果。瀏覽器無需發送數據請求,被動接收數據。?

在瀏覽器主窗體控制菜單,打開數據接口設置窗口。?

在瀏覽器外部數據接口設置窗口中,首先設置本地監控網絡端口號,當接收到數據時需要觸發執行的項目,點擊開始按鈕,彈窗提示正在監聽的數據窗口。?

開始監聽數據后,瀏覽器處于等待數據狀態,設置窗口會自動關閉后臺運行。當接收到外部程序發來的數據后,立即識別分析數據字段,并啟動指定的自動控制項目,同時給外部程序回復成功接收數據的訊信。接收數據一般使用xml格式,或json格式。?

當接收到數據后,分解成字段存放在瀏覽器變量中,稱之為外部變量。用JavaScript代碼可獲得這些數據,在瀏覽器項目管理器中新建腳本代碼步驟,在代碼框中定義一個JavaScript變量,并把外部變量賦值給它。在輸入代碼窗口,點擊鼠標右鍵,彈出瀏覽器變量菜單,選擇需要的外部變量即可。?

數據分析?

驗證數據完整性?

通過各種途徑,獲得數據分析所需數據后,為確保數據分析結果的正確性和完整性,需首先檢驗獲取數據的完整性。如果未能成功獲得完整的原始數據,應該停止數據分析或提示用戶。?

由于獲取數據時已將所有數據保存在JavaScript變量中,所以仍然用JavaScript檢驗數據是否完整。在瀏覽器的項目管理窗口,新建腳本代碼步驟,重命名為“檢查數據完整性”。在代碼中定義一個數據完整性的標志變量dataready,再判斷來自名方面的數據是否存在,示例中僅判斷數據的長度,最后返回標志變量的值。?

通過判斷數據完整性標志變量,才能選擇下一步操作。在瀏覽器項目管理窗口創建“監控變量”步驟,該步驟自動生成Yes和No兩個分支節點。添加監控變量,重命名為“判斷完整性標志變量”,這里需要監控JavaScript的dataready變量,瀏覽器調用JavaScript變量的格式為“{JSvar:dataready}”,判斷該變量的值為true時,下一步將選擇Yes節點繼續執行,否則選擇No節點執行。?

當未獲得完整數據,不具備數據分析條件時,執行No分支節點,勾選彈出提醒窗口,彈窗顯示內容為“數據缺失,自動分析失敗”,彈窗停留10秒后自動關閉。?

分析數據輸出結果?

當獲取到完整數據,具備數據分析條件時,執行Yes分支節點,Yes節點本身不做任何操作,在Yes節點下再添加數據分析步驟。使用JavaScript分析數據,在Yes節點下添加腳本代碼步驟,并重命名為“自動分析核心代碼”。?

JavaScript代碼可分為兩部份,一是數據分析核心算法,示例中僅計算銷售總額為例說明;二是把計算結果輸出顯示,示例中將分析結果通過拼接html代碼,并顯示在當前網頁。如果代碼中需要引用其它JavaScript庫,可以將js庫文件添加到軟件的js目錄下,然后在腳本代碼窗口可以直接選擇引用 。?

數據展示?

怎樣輸出數據分析結果,需要用到數據可視化工具。數據可視化主要旨在借助于圖形化手段,清晰有效地傳達與溝通信息。比如使用報表、拆線圖、柱形圖、雷達圖、熱力圖等方式。?

在瀏覽器項目管理窗口新建腳本代碼步驟,重命名為“可視化分析圖表”,引用highcharts.js圖表庫,JavaScript只需設定圖表的各項參數,就可以生成帶圖表的Html源碼。?

頁面顯示數據分析結果?

示例中的代碼生成一個柱形圖,統計商家連鎖店和線上網店銷量。最后輸出到瀏覽器的當前顯示頁面上,并可根據數據變化實時更新圖表。?

保存數據分析結果文件?

如果需要更好的分析數據變化軌跡,預測數據變化趨勢,往往需要保存歷史數據分析報告。在瀏覽器項目管理窗口新建保存內容步驟,生命名為“保存分析結果文件“??梢赃x擇兩種數據保存方式,一是把數據分析結果保存為Excel表格,添加需要保存的字段和內容;二是直接保存可視化圖表頁面。瀏覽器支持以日期命名保存文件,在文件名中輸入瀏覽器變量”{_CurrentDate}”,保存文件時自動替換為當前日期。?

保存數據分析結果到數據庫?

如果需要把數據統計分析結果保存到數據庫,在瀏覽器項目管理窗口,新建執行Sql步驟,選擇數據類型,設置數據連接參數和賬號密碼。由于寫入的數據可能包含特殊字符,盡量不用拼接sql語句方式??梢园研枰獙懭氲臄祿荣x值給sql變量,再sql語句中直接使用變量。示例中把瀏覽器變量的值賦值給sql變量@result。?

結束語?

數據分析是為了提取有用信息和形成結論而對數據加以詳細研究和概括總結的過程。本文使用瀏覽器工具,將整個數據分析過程,從數據收集、分配處理到可視化輸出,全流程自動化。以提高了數據分析效率、降低數據分析成本為目的,其可行性得到有效驗證。?

在實際使用中,需根據具體需求,制定獲取數據獲取方案,編寫數據分析代碼,以及數據分析結果展示方式。在當今移動互聯網時代,還可以使用瀏覽器把數據分析報告推送到用戶手機上,具體推送方法請參見瀏覽器使用說明或官網指導。?

標簽: 數據分析 項目管理 分析結果

上一篇:焦點快播:自從學習了MongoDB高可用,慢慢的喜歡上了它,之前確實冷落了
下一篇:Elasticsearch的災備和恢復