【问题标题】:SSRS limit length of text but keep full wordsSSRS 限制文本长度但保留完整的单词
【发布时间】:2013-01-17 18:17:03
【问题描述】:

在我的表格中,我基本上有 2 列(更多,但有明显的左侧和右侧)。左侧的一个字段 FIELD1 来自 LookupSet(),每个 ID 可以有来自 FIELD1 的两个项目。使用 join(lookupset(), vbcrlf) 我可以获取 ID 的两个值并将其放入表中的一个单元格中。这可行,但使用 vbcrlf 时,行高会增加。这会导致问题,因为右侧的数据之间不能有额外的空间。

我对第一行做了一个 split(join(lookupset())).getValue(0),然后在它下面的行的值 1。用一些 iif 语句来检查错误等,这是可行的。

我解决的一个问题是 FIELD1 的值可以比单元格的宽度长,但不会超过两个。我能够在 oracle 中做一些子字符串魔术,例如:

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

使用排序,每个 ID 最多可以获取 4 行数据,我将能够拆分查找集并将每个值放入表中。

我的最后一个问题,希望有人能提供帮助是,当我获取子字符串时,它可以切断单词,下一行将从单词的其余部分开始。 有没有办法,可能使用正则表达式来确保单词保持完整,但也可以确保返回的总长度

【问题讨论】:

    标签: oracle reporting-services plsql


    【解决方案1】:

    我能够通过使用
    来解决这个问题(在一些帮助下) 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 ...
    

    【讨论】:

      猜你喜欢
      • 2015-10-25
      • 2015-05-12
      • 2018-10-19
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2015-09-13
      相关资源
      最近更新 更多