Публикация - как выделить имя автора жирным шрифтом внутри строки? Было бы примерно так, если бы было возвращено 1 значение, но это строка (= iif (Fields! Author.Value = Parameters! 5aAuthor.Value, «Bold», «Normal»). Пример: Авторы + Год + Название + Журнал + PMCID. Авторы = Mitre, MH, Owens, R, Thompson и т. Д. Я хочу выделить автора жирным шрифтом, который соответствует значению параметра. Мне нужно разделить строку - найти автора - выделить его жирным шрифтом - и оставить остальные по умолчанию Как массив…

Проблемы:

Автор должен отображаться в определенном порядке. Это означает, что автор может отображаться 1-м, 3-м, 5-м или чем-то еще. Ниже приведено то, что требуется.

Я могу создать это как представление, но у меня все еще есть проблема с выделением автора жирным шрифтом.

Пример - Митр, М.Х., Оуэнс, Р., Томпсон, П. , и Берг, Л., 2004, "Лечение инсулином диабетических крыс", J. Comp. Neurol., 373: 350-378.

Коричневый, B . и Jones J., 2005, «Повторяющиеся последовательности у дрозофил», J. Mol. Biol., 242: 503-510. Корман Т., Уокер Дж. Д. и Браун Б., 2006, «Онтогенез толерантности к аллоантигенам», Am. Ж. Анатолий, 146: 156.

Сэмюэлс, Дж. . и Петерс М., 2009, «Молекулярный анализ РНК-вирусов», «Молекулярная биология клетки», Vol. 11, 12-18. PMCID: PMC2583929

Каждые 2 строки (пример) будут помещены в 1 текстовое поле ...

3
sjackson5280 4 Янв 2013 в 22:23

1 ответ

Лучший ответ

Вы совершенно правы со своим общим подходом:

Мне нужно разделить строку - найти автора - выделить жирным шрифтом - и оставить остальные по умолчанию. Как массив….

Похоже, вы хотите сделать это на уровне отчета, а не в SQL.

Если вы используете SSRS 2008 или новее, где вы можете использовать заполнители, я бы сделал это следующим образом:

  1. Создайте три вычисляемых поля в наборе данных в отчете.

    1. Левый автор:

      =LEFT( Fields!BigString.Value , Instr( Fields!BigString.Value , Parameters!5aAuthor.Value) - 1 )

    2. Автор:

      =Parameters!5aAuthor.Value

    3. Право автора:

      =RIGHT( Fields!BigString.Value , LEN(Fields!BigString.Value) - Instr( Fields!BigString.Value , Parameters!5aAuthor.Value) + LEN(Parameters!5aAuthor.Value) )

  2. Теперь поместите три заполнителя в текстовую ячейку, в которой вы хотите, чтобы это отображалось. Задайте для каждого ссылку на одно из этих вычисляемых полей по порядку.

  3. Выберите средний заполнитель (для автора) и выделите его полужирным шрифтом.

Формулы выше предполагают, что имя автора имеет точное совпадение где-то в поле. Вам нужно будет добавить обработку ошибок, если это не так. Они никак не тестировались, поэтому могут потребоваться некоторые настройки.


Некоторые альтернативные подходы включают разбиение строки на SQL и / или включение строки с тегами HTML <b></b> для отображения, а затем настройку SSRS для отображения ее как HTML.

2
Jamie F 5 Янв 2013 в 00:27
Спасибо, я попробую сегодня днем ​​... Проблема, с которой я столкнулся при использовании «альтернативных подходов (SQL)», заключается в следующем: мой набор навыков и создание перекрестного применения с параметром в SQL, и более запутанным является то, что это вспомогательный отчет и Я не очень знаком с SSRS. Спасибо еще раз..
 – 
sjackson5280
5 Янв 2013 в 00:57
Подотчет будет иметь вид столбца Табл. 6 «Публикации». grants.nih.gov/grants/funding/424/datatables_sampleall.pdf Еще раз спасибо ..
 – 
sjackson5280
5 Янв 2013 в 01:06