您好,登錄后才能下訂單哦!
開發圖表最關鍵的點在于選擇準確的圖表類型展示準確的數據,而準確的數據往往依賴于一個強大的取數模型,因此設計一個好的取數模型不僅可以解決數據安全的問題,更可以幫助每個訪問者高效觸達自己想要的數據,開發者可以通過使用Quick BI建立起多層次多粒度的取數模型。
在構建取數模型前,簡單介紹一下數據集的概念。Quick BI 目前已經支持為20多種數據庫建立連接,建立連接后我們會在系統內為每個連接生成一個邏輯實體稱之為數據源。通過預覽數據源可以查看對應數據庫下面的物理表信息,并能夠基于這些物理表創建數據集, 每個數據集都是基于物理表加工和建模后的標準OLAP模型。在Quick BI 中, 對用戶表數據的讀取和加工一般都是基于數據集模型的。
目前,Quick BI中的取數模型包括如圖1所示的兩層:
圖1 Quick BI中的取數模型
第一層:
數據集過濾器,在Quick BI中數據集可以被多個儀表板的多個圖表所引用,通過將過濾器設置在某個數據集上,空間內的數據開發人員可以確保所有引用該數據集的圖表分析人員訪問到的數據都受到范圍限制。
根據過濾器的作用范圍可以劃分為全局過濾器和行級權限過濾器。
1、 全局過濾器
顧名思義是會影響到所有引用該數據集的圖表和用戶,設置定后可以通過刷新預覽功能來核對過濾后的數據,通過圖2的方式可以設置全局過濾器。
圖2 數據集全局過濾器
2、 行級權限
可以讓數據開發人員根據圖表訪問者的賬號、標簽或所屬的用戶組來定制其可以訪問的數據范圍,設置在用戶級的過濾器會以“or”的方式繼承其所屬用戶組的過濾器,通過圖3的方式在數據集列表上可以設置行級權限過濾器。注意,使用這兩種方式設置在度量上的過濾器都是明細級的過濾器,未做任何聚合。
圖3 行集權限過濾器
第二層:
圖表級過濾器,這類過濾器在設定時會指定作用的圖表范圍,只有選中的圖表顯示數據時才會受到影響。在此基礎上,還可以根據作用的方式分為設定式和觸發式。
1、 設定式過濾器
由儀表板開發者在編輯模式下設置,預覽模式下用戶無法改變過濾器的設置,作用范圍內的圖表也會一直受到過濾器的限制,設定式過濾器包含了內部過濾器和全局參數。
1.1內部過濾器
只會作用于當前圖表,當被設置成度量過濾器時還可以選擇聚合方式,聚合方式支持sum、 cnt、max、min、avg、cntd, 它的設定方式是在儀表板編輯模式下通過拖拽數據集字段來設定如圖4所示。
圖4 內置過濾器
1.2全局參數
需要生成參數名并設置作用范圍,其作用機制是通過拼接url參數來完成條件的注入的,拼接格式如下:
param=[{"paramKey":"moci","joinType":"and","conditionList":[{"operate":"=","value":"華北"}]}]
,用戶可以直接修改url參數內容來達到數據控制,也可以在郵件訂閱和圖表跳轉功能中快捷引用, 它的設定方式是在頂部菜單中選擇全局參數來設定如圖5所示。
圖5 內置過濾器
2、 觸發式過濾器
能夠在編輯模式設置初始值,在預覽模式下也可以通過特定的操作來改變關聯圖表的顯示數據,查詢條件和聯動參數屬于觸發式過濾器。
2.1查詢條件功能非常強大,它支持讓報表開發者自由的選擇字段,選擇聚合方式,設置作用圖表,設置過濾初始值以及設置待選范圍,而預覽者可以在開發者限定的范圍內自由切換過濾條件,其設定方式如圖6所示。
圖6 查詢條件
2.2聯動參數是建立在圖表之間的一種作用關系,在可配置聯動圖表上配置了聯動字段和作用圖表后,預覽者可以通過點擊聯動圖表的某些區塊來達到為被聯動圖表同步注入過濾條件的目的,其設定方式是先選擇要聯動的圖表,然后在高級區域進行配置,如圖7所示。
圖7 聯動參數
上述幾種過濾器應用的場景各不相同,他們是通過AND的方式相互疊加的,儀表板編輯模式下圖表菜單里有一個強大的查看SQL功能,可以看到當前取數模型生成的SQL語句,方便開發者對當前的取數模型進行調整。在真實的業務場景中的往往要組合他們中的一到多種才能建立起完成的取數模型,以一家銷售公司為例,通過使用全局過濾器過濾掉無效數據,通過使用行級權限來控制每個銷售團隊只能看到自己轄區的銷售結果匯總,通過使用全局參數來生成不同的鏈接給每個預覽者看到關注產品的銷售匯總,通過查詢條件和過濾器來控制和切換不同客戶的銷售數據,通過聯動參數來方便預覽者直接關聯其他圖表查看某個客戶的具體信息。
圖8 查詢條件
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。