數據可視化工具FineBI如何讀取數據庫轉義?

數據可視化工具FineBI的數據庫中存放的數據是從實際業務的發生過程中產生的,但是數據在存儲過程中,存儲的字段名和表名卻不一定是實際業務過程或業務名稱,一般都需要轉換為縮寫的英文,而在使用數據可視化工具FineBI數據庫中的數據時,這些縮寫的字段名和表名的可讀性就非常差,所以數據庫管理員在建立數據表的時候就會建立一種註釋來轉義數據,註釋中描述了字段名和表名的實際名稱等等信息。

工具/原料

數據可視化工具FineBI

方法/步驟

1. 描述

數據可視化工具FineBI的數據庫中存放的數據是從實際業務的發生過程中產生的,但是數據在存儲過程中,存儲的字段名和表名卻不一定是實際業務過程或業務名稱,一般都需要轉換為縮寫的英文,而在使用數據可視化工具FineBI數據庫中的數據時,這些縮寫的字段名和表名的可讀性就非常差,所以數據庫管理員在建立數據表的時候就會建立一種註釋來轉義數據,註釋中描述了字段名和表名的實際名稱等等信息。

數據可視化工具FineBI在業務包從數據庫中取數時,為了增強數據的可讀性,將數據轉換為業務人員能夠理解的含義,提供了讀取數據錶轉義功能,能夠將註釋轉義數據讀取出來,並作用在Cube的數據上,提升數據的可讀性,能夠一目瞭然的知道該數據表和字段中存儲了什麼數據。

在數據可視化工具FineBI中,註釋轉義數據一般都放在數據庫的註釋中,但是有些數據的註釋轉義數據卻是存在數據庫表中或者excel中,所以數據可視化工具FineBI提供兩種不同的方法來讀取兩種不同存儲位置的註釋轉義數據。數據庫中的註釋可通過業務包管理界面的讀取數據庫轉義功能直接讀取,而存在數據庫表中或者excel中的註釋則通過服務器數據集實現,下面詳細介紹:

2. 直接讀取數據庫轉義

單擊BIdemo業務包,進入數據可視化工具FineBI的數據表管理界面,可以看到數據表名稱均為英文名,如下圖:

點擊右下角的讀取數據庫轉義按鈕,業務包就會從數據庫中讀取轉義註釋,如下圖,BIdemo業務包中的9個表中,有18個列名有轉義:

點擊分公司信息(region)則會看到該表中所屬辦事處字段名添加了一個轉義,如下圖:

注:讀取數據庫轉義後,其對應數據保存在%BI_HOME%\WEB-INF\resources\bi_connection.xml文件夾中,如果要刪除轉義數據,直接刪除xml文件即可。

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

3. 讀取數據庫表或excel中註釋轉義數據

如果數據可視化工具FineBI的註釋轉義數據並不直接存在數據表的註釋裡面,而是單獨的放置在某一個數據表或者excel中,如下圖,在mysql數據庫中有2張表,transfer和transferfield表,裡面分別存著oracl數據庫中的幾個表名的註釋轉義和SALES1K表字段名稱的註釋轉義:

· transfer:

· transferfield:

3.1 新建數據連接

上圖中的兩張表分別是oracle數據庫中某些表名稱的轉義和sales1K表中字段名的轉義,首先在BI屬性配置中添加2個數據連接,一個註釋轉義表所在數據庫mysql,另一個是被轉義數據所在的oracle數據數據庫。

點擊數據配置>數據連接管理,進入數據可視化工具FineBI的數據連接管理界面,點擊新建數據連接,建立2個數據連接,一個oracle數據連接,與oracle數據庫相連接,另一個mysqltest,與mysql數據庫相連接,如下圖:

建立數據連接詳細請查看數據可視化工具FineBI的配置數據連接。

3.2 數據表名稱轉義

打開%BI_HOME%/WEB-INF/resources/datasource.xml,手動在xml中為工程添加一個服務器數據集,名字為__bi_translated_table_names__,該數據集有四個固定字段:

connection_name:被註釋轉義的數據表所在的數據連接;

schema_name:被註釋轉義數據所在數據庫的模式,針對於oracle數據庫,如果數據庫沒有模式選項,使用NULL代替;

table_name:存儲在數據庫中表的名稱,一般為英文;

translated_table_name:註釋轉義數據中對數據庫中表的轉義名稱,一般為中文。

注:數據集名稱,字段名稱均不可改變。

將上面mysql數據連接中的transfer表的註釋轉義數據添加到__bi_translated_table_names__數據集中,其中被轉義數據所在的數據連接名為oracle,數據庫模式為scott。SQL語句如下:

select 'oracle' as connection_name, 'scott' as schema_name, table_en as table_name, table_ch as translated_table_name from transfer

在xml文件的 標籤中添加一個__bi_translated_table_names__服務器數據集的xml語句,語句如下:

注:由於transfer表中沒有connection_name和schema_name對應的註釋,所以往這兩個字段中添加常量,要注意使用單引號,如果不是被轉義數據所在數據庫中沒有模式選項,schema_name常量使用NULL。

另:如果xml中沒有 標籤,則手動添加即可

3.3 數據表字段名稱轉義

類似於數據可視化工具FineBI的數據表名稱轉義,字段名稱轉義也需要添加一個服務器數據集,名稱為__bi_translated_field_names__,該數據集有五個固定字段:

connection_name:同數據表名稱轉義;

schema_name:同數據表名稱轉義;

table_name:同數據表名稱轉義;

field_name:存在數據庫中數據實際的字段名稱,一般為英文;

translated_field_name:註釋轉義數據對數據庫中字段名的轉義名稱,一般為中文。

注:數據集名稱,字段名稱均不可改變。

將上面mysql數據庫中的transferfield表的註釋轉義數據添加到__bi_translated_field_names__數據集中,SQL語句如下:

select 'oracle' as connection_name, 'scott' as schema_name, table_field as table_name, field_name_en as field_name, field_name_ch as translated_field_name from transferfield

類似於數據表名稱轉義的xml語句,數據表字段名轉義也需要在datasource.xml中的 標籤中添加一段xml語句,如下:

添加完成之後,重啟服務器,datasource.xml才能生效。

3.4 業務包讀取轉義數據

點擊數據配置>業務包管理,在數據可視化工具FineBI中新增一個業務包,選中oracle數據連接,將上述transfer表中的table_en字段中涉及到的表以及transferfield表中table_field字段中涉及到的表均添加至業務包中,業務包命名為BIdemo2,如下圖:

注:選擇oracle數據庫添加數據表時,首先要先選擇好模式,這裡全部是scott模式。

點擊讀取數據庫轉義,頁面會彈出如下提示框提示用戶是否從服務器數據集中讀取轉義:

點擊確定,外部數據表中的轉義通過2個服務器數據集讀取進BIdemo2業務包中。

注:上圖的提示框,點擊確定,FineBI業務包就去服務器數據集中讀取外部數據表中的轉義數據,那麼數據表內部的轉義數據就不會讀取,如果點擊取消,那麼就會去讀取數據表內部的轉義數據,所以如果既要讀取內部轉義數據,又要讀取外部轉義數據,操作兩次即可。

3.5 效果查看

點擊確定之後,數據表名稱和字段名稱轉義都已經被讀取進來,如下圖:

注:數據表名稱和字段名稱的轉義既可以直接從數據庫中讀取,也可以手動添加,詳細請查看數據可視化工具FineBI手動設置表和字段的轉

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

數據可視化工具FineBI如何讀取數據庫轉義

相關問題答案