cboard使用方法以及用戶交互的兩種方式

原文地址

代碼倉庫

cboard github地址
cboard 中文文檔


cboard安裝

包括數據庫表的創建,配置文件修改

數據庫mysql

進入到項目根目錄,登陸到mysql

 mysql > create database cboard;
 mysql > use cboard;
 mysql > source sql/mysql/mysql.sql;
修改配置文件

配置文件src/main/resources/config.properties

validationQuery=SELECT 1
jdbc_url=jdbc:\mysql://localhost:3306/cboard # 數據庫地址
jdbc_username=root # 用戶名
jdbc_password=111111 # 密碼

修改好後啓動項目,訪問localhost:8080進入登陸界面,初始用戶名:admin,初始密碼:root123


cboard構成

由數據源(DataSource)、數據集(DataSet)、圖表(Widget)、看板(DashBoard)這四部分構成;其中看板由多個圖表拼接而成,圖表顯示的數據是數據集中的數據,數據集中的數據從數據源中獲得,就mysql來說,數據源即代表一個數據庫,數據集則是用sql語句從數據庫查出來的數據。

cboard使用

cboard構成可知,爲了最終生成一個用於顯示各種數據的看板,應該從Datasource->DataSet->Widget->DashBoard這種順序依次構建。

構建數據源

打開左側的Configration->DataSource,點擊+按鈕

對於mysql數據源,填好對應參數,點擊test測試是否連接成功

若測試連接成功,點擊save保存該數據源。

構建數據集

假設有一張名爲billing_detail的表,用於記錄個人每一筆錢的支出,總共有id,name,amount,category,create_at5個字段,如下表所示:

id name amout category create_at
1 喫飯 20.2 餐飲 2020-02-01 13:10
2 火車票 170.5 出行 2020-02-01 15:00

依次打開Configration->DataSet,點擊添加按鈕,新建一個數據集:

在上圖中,Name選項填寫數據集的名稱,格式爲:數據集類別/數據集名稱;Datasource選擇之前創建的數據源;Sql Text即一個sql表達式,用於從數據源中取出數據。填好上面三項後,點擊Load Data按鈕,若sql表達式正確無誤,就會出現下半部分:左側是數據集中的字段值,這些字段可以用拖拽的方式拖到右側的欄目下面:Dimension即數據的維度,Measure是度量,Caculated Measure是聚合表達式,Filter Group是過濾器。填好後點擊save就成功創建了一個數據集。

創建圖表

有了數據集後就可以進行圖表的創建,依次點擊Configration->Widget,點擊添加按鈕+,就會出現下圖的彈出框

在圖中,點擊Cube可以下拉選擇數據集,Widget Name是圖表的名稱,命名方式爲category/name,選好數據集之後就會出現下圖,通過拖動左側的參數到右側合適的位置,就可以設計圖表了


圖表設計

在此,以之前創建好的數據集爲基礎,通過幾個例子來演示圖表的設計

1,按年月分類,用曲線顯示每個月的總消費


在這個例子中,將左側維度項(Dimension)下year,month的參數拖到右側的Row欄目中,將左側度量項(Measure)下的amount參數拖入到Value Axis這個欄目中,選擇Widget Type欄目中的線型圖表,點擊Preview,可以看到,最終生成的圖形中,橫軸是Row欄目中兩個參數yearmonth的組合,縱軸是Value Axis欄目中的amount的求和值,即sum(amount),也就是說,Measure下的參數拖動到Value Axis欄目時,系統會自動爲其添加sum聚合函數。點擊View Query可以看到它生成的sql語句正是如此。

SELECT year, month ,SUM(amount) 
FROM
(
	select 
		1 as `count`,name,`amount`,category,left(create_at,4)as `year`,substring(create_at,6,2)as `month` 
	from
		billing_detail
)
cb_view GROUP BY year, month

2,對比每個年份相同月份下的總消費

這個例子中,唯一與例1不同的地方就是把例1中的year這一項從Row這一欄拖到了Column這一欄。這樣便每個年份顯示一條曲線,橫軸就是每年下的每個月份。Column這欄能分成幾類,結果就有幾條曲線。可以查看它生成的sql和例1完全相同,對比可發現加到ColumnRow這兩個欄目下的所有參數都會在生成sql語句時加入到group by後面進行聚合。

SELECT year, month ,SUM(amount) 
FROM
(
	select 
		1 as `count`,name,`amount`,category,left(create_at,4)as `year`,substring(create_at,6,2)as `month` 
	from
		billing_detail
)
cb_view GROUP BY year, month

3,按年月分類,用線型圖顯示平均消費,用柱狀圖顯示總消費

在這個例子中,同時存在柱狀圖和線形圖。Value Axis這一欄比前兩個例子多了一行,且這一行是將左側Caculated Measure這一項下的avgAmount,這是之前提前定義的計算平均值的聚合表達式參數。

4,統計每個年份的消費佔比,按餅圖顯示

這個例子中,按年份統計消費佔比,只需將year這個變量拖到Row這一欄中

5,統計每個消費類別的佔比

這個例子中,按年份統計消費佔比,只需將category這個變量拖到Row這一欄中


看板設計

設計看板時先添加一個看板分類,否則只能選擇默認(default)的分類。依次選擇Configuration->DashBoard Category進行添加

創建好自己的看板分類後就可以添加看板了,依次選擇Configration->DashBoard,對於網格佈局來說,在看板中首先要添加行,即Add Row,每行又可添加多個列。列寬總和爲12。添加列時可以選擇已經創建好的圖表於該列中。如下圖

將之前示例中的幾個圖都添加到看板中,點擊save,保存後就可以在看板選項中查看自己的看板了,如下圖:


用戶交互

cboard中,用戶交互的方式有兩種,一種是添加看板參數,另一種是圖表之間的關聯

利用看板參數進行交互

編輯看板,點擊添加看板參數(Add Param Row)按鈕,就會出現下圖


點擊添加參數(Add Param)按鈕就會彈出可以選擇添加的參數選項,選擇自己需要添加的參數

這個參數是我們之前定義好的數據集中的參數,它的變化將影響所有依賴於該數據集的圖表。參數添加成功後點擊保存,查看看板

可以通過修改看板參數的值來使圖形發生變化。

利用圖表關聯進行交互

在前面提到的例4,例5兩個例子中,例4展示了每個年份的消費佔比,例5展示了每個消費類別的佔比。如果需求是點擊例4餅圖中不同年份對應的位置,例5則相應的切換到統計該年份下的各類消費的佔比,這就用到圖表之間的關聯。


如上圖所示,例4和例5兩個圖表已加入到看板中,點擊例4上的鏈接按鈕,就會出現一個關聯圖表的選項

第一個參數Widget Fields表示當前圖表要關聯的變量,按要求選擇年份year,第二個參數Correlation Widget表示要關聯的目的圖表,第三個參數Correlation Widget Fields表示關聯目的圖表的變量。填好後點擊Save保存。查看看板是否正確。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章