SSRS повторяющийся текст в выражении текстового поля - PullRequest
0 голосов
/ 03 октября 2018

Можно ли написать выражение, которое будет повторять некоторый текст снова и снова, либо для указанного числа повторений, либо до тех пор, пока в текстовом поле не останется свободное место?

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

То, что мне нужно зациклить, это

="~~"&First(Fields!SchemaText.Value,"Selection") &"~~"

То, что я хотел бы в качестве выводаесли возможно

~~Text~~~~Text~~~~Text~~~~Text~~~~Text~~

В принципе возможно ли зацикливание выражений в SSRS?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Я не вижу способа написать в выражении.

Я думаю, что самый простой способ - создать функцию в VB.

Function RepeatText(ByVal Text As String, ByVal Loops AS Integer) As String 

Dim F AS Integer

RepeatText = ""

For F = 1 to Loops 

    RepeatText = RepeatText & "~~" & Text  & "~~"

Next F

End Function

Выражение вашего текстового поля будет выглядеть примерно так:

=CODE.RepeatText(Fields!SchemaText.Value, 4) 

You 'Я хочу заменить 4 на некоторый код, чтобы определить, сколько раз вы хотите, чтобы текст повторялся, или вы можете изменить код, чтобы он вычислял, сколько на основе другого поля.

=CODE.RepeatText(Fields!SchemaText.Value, Fields!SOME_OTHER_FIELD.Value)

А затем выясните код:

Function RepeatText(ByVal Text As String, ByVal Type AS String) As String 

Dim F AS Integer
Dim END AS Integer

If Type = "DB1" then END = 1 
If Type = "DB2" then END = 2 
If Type = "DB3" then END = 3 

RepeatText = ""

For F = 1 to END

    RepeatText = RepeatText & "~~" & Text  & "~~"

Next F

End Function
0 голосов
/ 03 октября 2018

Я не уверен, что вы можете записать его непосредственно в выражение ..

На вашем месте я бы попытался написать новый набор данных из 1 столбца с номером строки, которую вы хотите, содержащей текстзначение.Затем в текстовом выражении я попытаюсь получить результат с помощью join ().

Я не проверял его, извините, может быть, я ошибаюсь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...