SSRS IIF для преобразования данных в целое число - PullRequest
1 голос
/ 01 июля 2019

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

=IIF(IsNumeric(Fields!Answer.Value),CInt(Fields!Answer.Value),Fields!Answer.Value)

Но это дало мне ошибку для некоторых столбцов, где некоторые данные строки содержат только целое число, в то время как другие строки содержат микс. Поэтому я попробовал следующее выражение, но все равно не повезло!

=IIF(Fields!Question.Value = "Amount:", CInt(Fields!Answer.Value), Fields!Answer.Value)

Таким образом, только столбец Amount: имеет истинные целочисленные значения, в то время как все остальные столбцы содержат либо весь текст, либо смесь текстовых и целочисленных данных. Таким образом, для всех столбцов с данными в виде текста и целых чисел, я получаю ошибку.

Пример данных:

+------+--------------+-----------+
|Name: |Phone Number: |Emp Number |
+------+--------------+-----------+
|Alice |123-456-7890  | 123       |
|Bob   |2345678901    | 12345     |
+------+--------------+-----------+

В приведенных выше примерах данных Amount: содержит все целочисленные значения, тогда как Name - весь текст, а номер телефона - текст и целое число. Используя выражение IIF (...), я получаю следующий результат.

Результат:

+--------+--------------+-----------+
|Name:   |Phone Number: |Emp Number |
+--------+--------------+-----------+
|#Error  |#Error        | 123       |
|#Error  |2345678901    | 12345     |
+--------+--------------+-----------+

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

1 Ответ

1 голос
/ 01 июля 2019

Разобрался с решением этого справочного поста.

=IIF(IsNumeric(Fields!Answer_Question.Value), CLng(Val(Fields!Answer_Text.Value)), Fields!Answer_Text.Value)

Я использовал CLng() вместо CInt(), так как поле столбца Phone Number содержало длинные значения.

...