廢掉一個數據人最狠的方式,就是讓他一直取數!
使用過有數BI的同學想必都了解或使用過它的自助取數功能,用戶通過可視化拖拽式操作即可快速取數,也可通過 SQL 自定義取數。
可視化取數的用戶目標群體為業務人員,幫助他們快速完成相對簡易的取數內容實現業務自助;SQL取數的目標群體為更專業的技術人員,以便他們更靈活的查詢與取數。
1.可視化取數現狀與痛點
業務人員借助可視化取數,無需自己配置數據模型,即可使用有相應查詢權限的模型進行自助查詢,通過雙擊/拖拽取數字段來一鍵篩選獲取想要的數據。釋放了數據分析師日常取數的人力的同時也降低了業務人員獲得取數結果的成本。
但擁有這些較為基礎的取數功能與固定的數據模型逐漸無法支撐日益發展、快速變化的業務需求。業務人員仍然面臨著以下的痛點:
很多情況下要用于篩選的數據在放置在不同模型的表中,市面上大多數可視化取數功能的數據篩選僅支持在同一模型內操作。在另一個模型中篩選后手動復制內容去另一個模型過于繁碎且支持的數據量有限。這些情況需要尋求技術人員幫忙;
模型內表關聯在取數中非常常用,但業務人員表示模型關聯在業務上看似好理解但真正寫起SQL來很容易出錯或寫出的代碼效率很低,還是需要尋求技術人員的幫助;
每次取數都需要從基礎模型中重新開始,無法在基于一定篩選條件的查詢結果之上分步做二次查詢。
2.解決方案
我們的目標是幫助業務人員在可視化取數內完成更多的取數需求,做出更優的業務決策,將一些SQL取數中相對重要、使用率很高、能夠在可視化取數中使用拖拉拽的方式完成的語句做成可視化樣式呈現出來。達成不需要懂代碼也能實現業務自助,提高可視化取數易用性的使命。
針對以上問題,我們在近幾個月的迭代中,新增了以下三個功能:
(1)查詢結果支持保存為取數模型
任意取數查詢結果可保存為取數模型,支持關聯其他模型、跨模型篩選字段、新建計算字段、保存、導出、分享等所有可視化取數功能。當數據團隊為業務準備好基礎取數模型后,業務人員可以基于這些模型實現分步驟查詢,即基于查詢結果再做二次查詢,能最大程度滿足靈活取數需求。
(2)當前模型篩選支持跨模型關聯字段
可以直接使用另一個模型內字段對當前模型字段做跨模型篩選,在先前手動復制維值基礎之上支持大數據量與動態篩選。業務人員只需在當前模型中選擇需要用哪個模型中的哪個字段來篩選就可以完成目標取數,實現了通過業務層面的邏輯含義操縱數據層面的取數。
(3)支持兩模型關聯(內關聯、左關聯、右關聯、完全外部關聯)
任意查詢結果可關聯其他模型(內關聯、左關聯、右關聯、完全外部關聯),支持一個或多個條件。數據團隊不再需要針對每個具體取數需求定制模型,只需要提供基礎模型即可,業務人員可以從中挑選需要的模型靈活組合取用,從而降低模型制作成本和需求反復溝通成本,提升業務人員取數效率。
3.應用案例
3.1 案例場景&目標
假設現在有兩張模擬表,分別為客戶貸款表、客戶存款表。
需要查詢貸款300萬以上的客戶中存款為800萬元以下的客戶名單,再保留一份此客戶名單對應的貸款數與存款數放在同一張表內以便后續業務工作。
3.2 取數前準備
前期技術人員完成數據模型的建立,為后續業務人員的取數分析做準備。
在數據源中建立連接:上傳客戶貸款表與客戶存款表
新建數據準備:完成清洗、聚合、等字段級處理,輸出,發布
數據落庫并建立數據模型:客戶貸款與客戶存款
3.3 具體操作步驟
(1)篩選客戶貸款模型
在用于當前取數的數據模型內選擇客戶貸款模型,拖入與貸款用戶相關的字段(貸款日期、客戶姓名、城市、貸款金額)放入列中,通過數據篩選貸款金額字段獲取貸款數大于300萬元的客戶,點擊查詢后,將這份查詢結果保存為取數模型。
(2)篩選客戶存款模型
與第一步相同的方式,在用于當前取數的數據模型內選擇客戶存款模型,拖入與貸款用戶相關的字段(存款日期、客戶姓名、城市、存款次數、存款金額)放入列中,通過數據篩選存款金額字段獲取貸款數小于800萬元的客戶,點擊查詢后,得到對應查詢結果。
(3)跨模型篩選字段
將客戶姓名字段放入數據篩選中,選擇用戶篩選的模型-先前保存的“貸款0824”取數模型,選擇客戶姓名為跨模型篩選匹配字段,選擇使用全部內容,配置完成后就將這份客戶名單作為條件來篩選當前存款客戶名單。
(4)得到最終查詢結果——符合需求的客戶名單
點擊上方查詢,會出現如下我們需要的最終查詢結果:貸款300萬以上的客戶中存款為800萬元以下的客戶名單(模擬表)。
如果僅需這批客戶的名單,復制[客戶姓名]單列即可,是以英文逗號隔開的一組值,復制后保存在粘貼板內,可以直接使用。
如果想要Excel名單,可直接將此查詢結果導出Excel,保留想要的字段即可。
如果想在可視化取數內保留此名單未來繼續使用,同之前的操作在更多處保存為新的取數模型,僅拉出其中的客戶姓名。
(5)關聯模型
如果我們還想保留一份此客名單戶對應的貸款數與存款數放在同一張表內以便后續業務工作,在剛才的查詢結果頁面,點擊更多圖標,選擇“創建關聯模型”。
左側當前取數結果為查詢1-貸款300萬以上的客戶中存款為800萬元以下的客戶名單,關聯模型選擇之前保存的取數模型“貸款0824”,選擇左關聯,條件為兩表之間客戶姓名相等后即成功新建了一個關聯取數模型。
在數據模型下選中取數模型 - 客戶貸存0824,可以看到模型信息已經是關聯后的表與字段了:
可以根據想要查看的內容拖入字段放進中,下方是客戶姓名、存款日期、存款金額(萬元)、貸款日期、貸款金額(萬元)在一張表內呈現,達成了最初的需求場景目標: