Поместить несколько результатов, возвращаемых из одного набора данных, в одно текстовое поле - PullRequest
0 голосов
/ 22 мая 2019

У меня есть набор данных, который возвращает результаты, как показано ниже:

   SELECT 
    [Name] 
     ,[Count]
   FROM [dbo].[TestTable1]

   ID           Name                    Count
   ------------------------------------------
    1           International school    100
    2           World school            200
    3           Universe school         400

У меня есть одно текстовое поле, в котором я хотел бы показать количество. enter image description here

            Here is the international school count: «Expr»
            Here is the world school count:    «Expr»
            Here is the Universe school count: «Expr»

Я ищу выражение, в котором результат должен возвращаться, как показано ниже:

            Here is the international school count: 100
            Here is the world school count:    200
            Here is the Universe school count: 400

Вот мой пример выражения:

            =IIF(First(Fields!Name.Value, "CountinOneBox")="International school",(Fields!Count.Value, "CountinOneBox"),"")

Примечание: сумма (Fields! Count.Value, "CountinOneBox") обеспечивает 700

Надеюсь, я все правильно объяснил. Как я могу получить этот результат? Благодаря.

Ответы [ 2 ]

1 голос
/ 23 мая 2019

Я бы сделал это в SQL.Я скопировал ваши примерные данные здесь, а затем просто удалил результирующее поле в простом отчете

DECLARE @t table(ID int, [Name] varchar(100), [Count] int)

INSERT INTO @t VALUES
    (1, 'International school', 100),
    (2, 'World school', 200),
    (3, 'Universe school', 400)

DECLARE @s nvarchar(max) = ''
DECLARe @crlf char(2) = char(13) + char(10)

SELECT @s = 
        @s + 'Here is the ' 
           + [Name] 
           + ' count: ' 
           + CAST([COUNT] as varchar(10)) 
           + @crlf
    FROM @t

SELECT @s as Result

Результаты выглядят следующим образом.(Я установил границу для текстового поля, чтобы вы могли видеть, что он не переносится, он использует добавленную нами CR / LF.

enter image description here

0 голосов
/ 22 мая 2019

Вам нужно написать все в одном выражении, если вы хотите, чтобы все это было в одном текстовом поле.Примерно так:

Допустим, следующее выражение возвращает 100, 200, 400.

=Sum(Fields!Result1.Value)  ' 100
=Sum(Fields!Result2.Value)  ' 200
=Sum(Fields!Result3.Value)  ' 400


="Here is the international school count: " & Sum(Fields!Result1.Value) & VbNewLine &
 "Here is the world school count: " & Sum(Fields!Result2.Value) & VbNeLine &
 "Here is the Universe school count: " & Sum(Fields!Result3.Value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...