溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

發(fā)布時(shí)間:2022-01-15 16:18:47 來(lái)源:億速云 閱讀:260 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這篇文章的內(nèi)容主要圍繞數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過(guò)這篇文章有所收獲!

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)通常會(huì)有一些代碼值字段,如員工編號(hào)、部門(mén)代碼、類別 ID 等等,報(bào)表展示時(shí)如果直接展示代碼值形式,使用人員無(wú)法理解該值的具體含義,所以要求將編碼值轉(zhuǎn)換成對(duì)應(yīng)的使用人員能夠理解的中文形式,又或者數(shù)據(jù)庫(kù)中存儲(chǔ)的出生日期是 date 形式,展現(xiàn)時(shí)要將其轉(zhuǎn)換成標(biāo)準(zhǔn)的 2018 年 12 月 12 日這種形式。下面通過(guò)一個(gè)例子的實(shí)際操作來(lái)介紹下這種需求的實(shí)現(xiàn)方法。

首先連接 demo 數(shù)據(jù)源,從“員工”表中取數(shù)制作一個(gè)員工信息表,報(bào)表模板如下圖:

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

此時(shí)點(diǎn)擊預(yù)覽,報(bào)表結(jié)果如下:

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

要求

1、 將出生日期轉(zhuǎn)換成標(biāo)準(zhǔn)的 yyyy 年 MM 月 dd 日格式

2、 將性別、學(xué)歷轉(zhuǎn)換成對(duì)應(yīng)的中文形式

3、 將工資加上貨幣符號(hào)

日期格式設(shè)置

報(bào)表單元格中支持顯示格式設(shè)置,直接對(duì)數(shù)據(jù)進(jìn)行格式化操作,選中 C3 單元格,雙擊右側(cè)的顯示格式的值屬性,會(huì)彈出顯示格式設(shè)置對(duì)話框:

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

里邊有各類型格式設(shè)置,找到日期分類中的 yyyy 年 MM 月 dd 日,點(diǎn)擊確定,這樣,出生日期列就能按照想要的格式效果展示。

數(shù)值轉(zhuǎn)中文

接下來(lái)看下性別和學(xué)歷設(shè)置,性別比較固定,一般就是“男”或者“女”,針對(duì)此種比較固定的,可以在顯示值表達(dá)式中的 if 函數(shù)進(jìn)行控制,在 D4 單元格的顯示值表達(dá)式中寫(xiě)入:if(value()==1,“男”,“女”),value() 函數(shù)是報(bào)表自帶的一個(gè)函數(shù),用于獲取當(dāng)前單元格的真實(shí)值,通過(guò)判斷當(dāng)前單元格為 1 時(shí),返回顯示值“男”,否則顯示“女”,注意:value()==1,性別字段在數(shù)據(jù)庫(kù)中是整數(shù),所以此處直接寫(xiě) 1,如果是字符串,需要寫(xiě)成”1”,要注意數(shù)據(jù)類型,如果有多種類型,可以做 if 嵌套,具體可以參考報(bào)表函數(shù)說(shuō)明。針對(duì)此種數(shù)據(jù)比較固定的,還有一個(gè)函數(shù)可以實(shí)現(xiàn):map 函數(shù),也可以在 D4 單元格的顯示值表達(dá)式中寫(xiě)入:map(list(1,2),list(“男”,“女”)),第一個(gè) list 中列出的是單元格內(nèi)真實(shí)值的列表,第二個(gè) list 會(huì)進(jìn)行顯示值的映射。

學(xué)歷單元格設(shè)置和性別有些類似,都要通過(guò)顯示值表達(dá)式進(jìn)行設(shè)置,可以使用 if 或 map 函數(shù),但是學(xué)歷數(shù)據(jù)會(huì)較多,需要寫(xiě)入大量的表達(dá)式,并且學(xué)歷在數(shù)據(jù)庫(kù)中可能是會(huì)變化的,比如過(guò)段時(shí)間會(huì)增加個(gè)新學(xué)歷,還要再次修改報(bào)表,針對(duì)此種形式,數(shù)據(jù)庫(kù)中通常會(huì)有中文字典表。在報(bào)表中新增數(shù)據(jù)集,從“DEGREE”表中取數(shù),該表中數(shù)據(jù)如下:

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

可以看到,ID 中的數(shù)據(jù)就是員工表中學(xué)歷列的值,NAME 字段存儲(chǔ)的是對(duì)應(yīng)的中文,這樣可以根據(jù) ID 和 DEGREE 字段的關(guān)聯(lián),取出需要的中文進(jìn)行顯示,在 E3 單元格的顯示值表達(dá)式中寫(xiě)入:ds2.select(NAME,ID==value(),1),該表達(dá)式含義為從 ds2 數(shù)據(jù)集中取出 ID 等于當(dāng)前單元格值的 NAME 字段的值放到顯示值中顯示,注意后邊的 1 為取出滿足條件的第一條記錄,如果有滿足直接進(jìn)行返回不再向后判斷,所以為提高報(bào)表計(jì)算效率,需要增加“1”的設(shè)置。這里用到了從另外一個(gè)數(shù)據(jù)集中取出對(duì)應(yīng)的中文的寫(xiě)法,實(shí)際使用中,如果字典表和數(shù)據(jù)表在同一個(gè)庫(kù)中,建議通過(guò)一個(gè) sql 通過(guò) where 關(guān)聯(lián)方式直接取出中文,這樣當(dāng)數(shù)據(jù)量大時(shí)效率更高,如果數(shù)據(jù)來(lái)自不同庫(kù),數(shù)據(jù)量大時(shí)導(dǎo)致計(jì)算較慢,可以通過(guò)集算器將兩個(gè)數(shù)據(jù)集 join 在一起返回到報(bào)表是一個(gè)數(shù)據(jù)集,這樣效率更高,具體看實(shí)際需求。

貨幣格式

最后工資列設(shè)置顯示格式“¥#0.00”就行了,如圖:

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

最終報(bào)表展示效果如下:

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

本例中通過(guò)顯示格式和顯示值表達(dá)式的使用能夠控制單元格的顯示樣式,此時(shí)更改的只是單元格顯示效果,如果在其他單元格引用這些單元格的話,引用的還是報(bào)表單元格的原值,如果要引用顯示值,可以使用 disp() 函數(shù)。

顯示格式表達(dá)式控制

顯示格式目前用到最多的是直接在顯示格式中選擇,實(shí)際上顯示格式支持表達(dá)式對(duì)其進(jìn)行控制,比如某個(gè)單元格表達(dá)式為:=list(11,12.5345,14,15.66),這個(gè)單元格展示時(shí)既有浮點(diǎn)數(shù),又有整數(shù),好多客戶希望如果是整數(shù)則直接顯示整數(shù), 如果是浮點(diǎn)數(shù),則保留兩位小數(shù)顯示,這樣就用到了顯示格式表達(dá)式,如在該單元格的顯示格式表達(dá)式中寫(xiě)入:if(value()==int(value()),“#”,“#0.00”),判斷該單元格的數(shù)值是否是整數(shù),如果是則顯示格式為”#”, 否則顯示格式為”#0.00”, 該單元格預(yù)覽后效果如下:

數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么

可以看到報(bào)表屬性可以通過(guò)表達(dá)式進(jìn)行動(dòng)態(tài)控制,達(dá)到動(dòng)態(tài)的顯示效果。

顯示值實(shí)現(xiàn)特殊格式

潤(rùn)乾自帶了顯示格式,但有些格式可能無(wú)法滿足客戶的特殊需要,比如 2018-11-30 這種日期格式需要顯示成:30 Nov. 2018,此時(shí)可以使用顯示值表達(dá)式進(jìn)行特殊設(shè)置,比如 B2 單元格為日期,則在 B2 單元格顯示值表達(dá)式中寫(xiě)入:

string(day(value()))+" 
 "+case(string(month(value())),"1":"Jan.";"2":"Feb.";"3":"Mar.";"4":"Apr.";"5":" May.";"6":"Jun.";"7":"Jul.";"8":"Aug.";"9":"Sept.";"10":"Oct.";"11":"Nov.";"12":"Dec.")+" "+string(year(value()))

該表達(dá)式先通過(guò)函數(shù)分別截取日期中的日、月、年,然后通過(guò) case 函數(shù)將月轉(zhuǎn)換成想要的格式再拼接在一起,這樣就能夠?qū)崿F(xiàn)特殊顯示格式的控制。

通過(guò)顯示格式能將數(shù)據(jù)進(jìn)行格式化操作,通過(guò)顯示值能夠?qū)卧駜?nèi)的值換成其他值進(jìn)行顯示而不影響原單元格的真實(shí)值,并且兩個(gè)屬性都可以通過(guò)表達(dá)式靈活設(shè)置,使得數(shù)據(jù)顯示設(shè)置真的靈活運(yùn)用于各種需求之中。

感謝你的閱讀,相信你對(duì)“數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)顯示設(shè)置攻略是什么”這一問(wèn)題有一定的了解,快去動(dòng)手實(shí)踐吧,如果想了解更多相關(guān)知識(shí)點(diǎn),可以關(guān)注億速云網(wǎng)站!小編會(huì)繼續(xù)為大家?guī)?lái)更好的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI