問(wèn)題描述:
模型共包含29個(gè)節(jié)點(diǎn),分別使用快速過(guò)濾和高級(jí)過(guò)濾依據(jù)節(jié)點(diǎn)標(biāo)簽進(jìn)行篩選,快速過(guò)濾只篩選了節(jié)點(diǎn)標(biāo)簽6-9的行數(shù)據(jù),如圖1所示;而高級(jí)過(guò)濾篩選了所有節(jié)點(diǎn)標(biāo)簽大于5的行數(shù)據(jù),如圖2所示。請(qǐng)問(wèn)為什么篩選的結(jié)果不一致?
圖1:快速過(guò)濾篩選結(jié)果
圖2:高級(jí)過(guò)濾篩選結(jié)果
解答:
每個(gè)表格的數(shù)據(jù)列包含文本數(shù)據(jù)或數(shù)字?jǐn)?shù)據(jù),二者的排序方式是不同的:文本數(shù)據(jù)按字母順序排列,數(shù)字?jǐn)?shù)據(jù)按數(shù)字順序排列。假設(shè)數(shù)據(jù)列包含的數(shù)值是2、5和10。按文本排序(字母順序)會(huì)得到10、2、5,按數(shù)字排序會(huì)得到2、5、10。SAP2000中的“節(jié)點(diǎn)”屬于文本數(shù)據(jù),因?yàn)楣?jié)點(diǎn)標(biāo)簽實(shí)際上是文本,而不是數(shù)字;即使所有節(jié)點(diǎn)標(biāo)簽為數(shù)字也是如此。因此,當(dāng)對(duì)“節(jié)點(diǎn)”進(jìn)行排序或者使用“比較類”操作符(例如>或<)對(duì)其進(jìn)行篩選時(shí),程序?qū)⒒谧帜疙樞颍ǘ皇菙?shù)字順序)對(duì)其進(jìn)行排序或篩選。
當(dāng)對(duì)文本數(shù)據(jù)進(jìn)行篩選時(shí),過(guò)濾器字符串中引用的文本數(shù)據(jù)需要括在單引號(hào)中。對(duì)于快速過(guò)濾和基礎(chǔ)過(guò)濾,程序會(huì)自動(dòng)為用戶添加單引號(hào),因此在填寫(xiě)數(shù)值時(shí)無(wú)需添加單引號(hào)即可進(jìn)行篩選,添加反而會(huì)提示錯(cuò)誤。對(duì)于高級(jí)過(guò)濾,用戶必須自行為文本數(shù)據(jù)添加單引號(hào),否則會(huì)提示錯(cuò)誤。
由此,對(duì)于問(wèn)題描述中圖1的篩選結(jié)果解讀如下:Joint屬于文本數(shù)據(jù),使用“>”操作符對(duì)其進(jìn)行篩選時(shí),程序首先對(duì)節(jié)點(diǎn)標(biāo)簽按字母順序排列,排列的結(jié)果如圖3所示,然后進(jìn)行篩選,所以節(jié)點(diǎn)“大于5”的只有6、7、8、9。
圖3:“節(jié)點(diǎn)”按字母順序排列結(jié)果(升序)
當(dāng)文本數(shù)據(jù)的數(shù)值均為數(shù)字時(shí),存在一種特殊情況:用戶可以在不使用單引號(hào)的情況下應(yīng)用高級(jí)過(guò)濾,程序?qū)⑵湟暈閿?shù)字?jǐn)?shù)據(jù)進(jìn)行排序和篩選。因此,對(duì)于問(wèn)題描述中圖2的篩選結(jié)果,程序最終使用的過(guò)濾器字符串為:Joint > 5,數(shù)值5沒(méi)有括在單引號(hào)中,過(guò)濾結(jié)果與對(duì)數(shù)字?jǐn)?shù)據(jù)的篩選相同。但是需要注意的是,對(duì)于快速過(guò)濾和基礎(chǔ)過(guò)濾,程序始終將文本數(shù)據(jù)視為文本,也就是說(shuō),程序最終使用的過(guò)濾器字符串中始終包含單引號(hào)。