2014-12-24 31 views
1

隨着我正在使用和編寫報告的應用程序,用戶以全部大寫形式輸入位置。我的報告要求那些位置適當的人已經提出要求。這很好,直到我意識到適當的情況下不能識別縮寫。有沒有辦法在SSDT中編寫一個表達式,在將街道名稱轉換爲適當的情況下,還會使用諸如「SE」或「DR」等縮寫詞作爲大寫字母嗎?SSRS中的正確殼體街道名稱

+1

與論壇網站不同,我們不使用「謝謝」或「任何幫助表示讚賞」,或在[so]上簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be - 刪除 - 從帖子) –

+0

你的問題是什麼? –

+0

我更新了我的問題,我很抱歉混淆了 –

回答

0

約翰桑德斯是正確的,這不是簡單的,它會更好,如果你可以修復數據源。但是你可以將你的Proper Case函數包裝在一系列外部REPLACE函數中。這並不簡單,因爲您必須分析數據並找出要處理的所有縮寫,並手動編碼每個縮寫。它會變得很大,所以你可能會考慮在SSRS自定義代碼中創建這個函數,所以它在表達式構建器中看起來並不那麼混亂。

的僞代碼將是這個樣子:

REPLACE(
    REPLACE(
    ProperCase(MyFieldName) 
    ,"Se","SE") 
,"Dr","DR") 

添加要處理每一個人縮寫一個REPLACE(InnerExpression,ProperCaseExpression,UpperCaseExpression)。這不會很有趣,但它會起作用。

相關問題