2013-01-17 40 views
0

在我的表中,我基本上有2列(更多,但有一個明顯的左側和右側)。其中一個字段FIELD1在左側來自LookupSet(),每個ID可以有兩個來自FIELD1的項目。使用連接(lookupset(),vbcrlf)我能夠獲得這兩個值的ID並將其放入表中的一個單元格。這可以工作,但用vbcrlf,行高會增加。這會導致問題,因爲右側有數據,它之間不能有額外的空間。SSRS限制長度的文本,但保留全文

我做了一個拆分(join(lookupset()))。getValue(0)爲第一行,然後在它下面的行爲值1.用一些iif語句來檢查錯誤等。

我解決的一個問題是,FIELD1的值可能比單元的寬度更長,但不會佔用兩個以上。我能夠做一些串魔像Oracle:使用排序

SELECT ID, SUBSTR(FIELD1, 1, 70) FROM.... 
UNION 
SELECT ID, SUBSTR(FIELD1, 70) FROM ... 

,我能夠獲得高達4行每個ID的數據,我將能夠拆分lookupset並獲得每個值進入表。

我最後的問題,並希望有人可以幫助的是,當我的子字符串,它可以切斷單詞,下一行將開始與該詞的其餘部分。 有沒有辦法,可能使用正則表達式來確保保持文字的完整性,還要確保返回的總長度是<的某些字符數?如果我脫離軌道,我很高興放棄我目前採取的任何方法。

回答

0

我是能夠通過使用
SUBSTR解決這個(有一些幫助)(FIELD1,1,REGEXP_INSTR(FIELD1, '[]',70))

SELECT ID, SUBSTR(FIELD1,1, regexp_instr(FIELD1, '[ ]', 70)) FROM.... 
UNION 
SELECT ID, SUBSTR(FIELD1, regexp_instr(FIELD1, '[ ]', 70)) FROM ...