powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS2012 строковое поле и импорте в Excel
10 сообщений из 10, страница 1 из 1
SSRS2012 строковое поле и импорте в Excel
    #39084570
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
SSRS2012
Из dataset (хранимка MS SQL) возвращается поле типа varchar в котором может лежать в 99% числовое поле и в оставшихся случаях какой нибудь левый символ , к примеру #
Хотелось бы, что бы при импорте в Excel из SSRS число воспринималось Excel как число (т е над ним можно было оперировать простейшими мат операциями) А так (как бы не шаманил форматом в SSRS ) оно ложится в Excel в формате General
Понятно, что можно поменять формат в самом Excel уже постфактумом (после выгрузки) - но это не устраивает
Подскажите пожалуйста, есть ли способ победить проблему ?

Спасибо!
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39084667
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Render2Excel,

попробуйте, может и для 2012 прокатит (у нас 2008)
В Visual Studio жмем F4 и выбираем объект "Report", в свойстве LANGUAGE выбираем ru-RU
Далее ставим формат ячейки, к примеру, два знака после запятой + разделитель (пробел) тысячей, миллионов
Код: sql
1.
#,0.00

Округление до целого
Код: sql
1.
#,0


При выгрузке в Excel всё ОК, можно выполнять математические операции.
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39084749
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смог добиться того , что при задании выражения
Код: sql
1.
=IIF(IsNumeric(Fields!FLD.Value),CDec(Fields!FLD.Value),Fields!FLD.Value)


поле в Excel'e имеет формат, как General, но с ним можно произвоить мат действия
Но самое главное, что СDec как бы заставляет Excel воспринимать "число" и если попадается "нечислвой" символ например "!!!"., то в ячейке Excel будет проставится не ожидаемое !!!
Код: sql
1.
2.
 
        а #VALUE! 


То есть как бы ошибка "конвертации"


Если сделать немного по другому
Код: sql
1.
=IIF(IsNumeric(Fields!FLD.Value),Format(CDec(Fields!FLD.Value),"### ### ### ##0.00"),Fields!FLD.Value)


форматирование Ok, в Excel'e все (и символы и числа) будут отображаться корректно, но возвращаемся к первонач проблеме - отсутствие математики
Вообщем не совсем понимаю, как быть
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39084764
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89 спасибо, но не получилось (((
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39084821
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Render2Excel,

а если в выражении
Код: sql
1.
=IIF(IsNumeric(Fields!FLD.Value),Format(CDec(Fields!FLD.Value),"### ### ### ##0.00"),Fields!FLD.Value)

вместо ### ### ### ##0.00 использовать #,0.00 ? Может математика в Excel`e заработает?

Код: sql
1.
=IIF(IsNumeric(Fields!FLD.Value),Format(CDec(Fields!FLD.Value),"#,0.00"),Fields!FLD.Value)
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39084911
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89
Cпасибо , но получилось аналогично
Смог добиться того , что при задании выражения

=IIF(IsNumeric(Fields!FLD.Value),CDec(Fields!FLD.Value),Fields!FLD.Value)

поле в Excel'e имеет формат, как General, но с ним можно произвоить мат действия
Но самое главное, что СDec как бы заставляет Excel воспринимать "число" и если попадается "нечислвой" символ например "!!!"., то в ячейке Excel будет проставится не ожидаемое !!!


а #VALUE!


То есть математика работает на числах , но при получении любой нечисловой величины в ячейке отображается ерунда (((
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39084927
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такое впечатление что
Код: sql
1.
CDec


заставляет Excel воспринимать величину как число
Если на входе получаем число - все ok, если символьная строка - то она не отображается "как есть" и возникает ошибка
Но это мое предположение
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39084943
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже при получении отчета в IE такого плана iif вызывает в соотв ячейке надпись
Код: sql
1.
Код ошибки
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39086996
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
От ошибки избавился таким способом (два раза проверка IsNumeric)
Код: sql
1.
=IIF(IsNumeric(Fields!FLD.Value),CDec(IIF(IsNumeric(Fields!FLD.Value),Fields!FLD.Value,0)),Fields!FLD.Value)


При этом получается рандомично форматированные ячейки с возможностью выполнять мат действия (строковые величины отображаются "как есть" и без ошибки)
Если сверху СDec обернуть каким либо Format ов , то форматирование восстановится, но при этом математика станет недоступной
Вообщем и так и так не есть good .....
...
Рейтинг: 0 / 0
SSRS2012 строковое поле и импорте в Excel
    #39087804
Render2Excel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось так:
1) Установить экспрешн
Код: sql
1.
=IIF(IsNumeric(Fields!FLD.Value),CDec(IIF(IsNumeric(Fields!FLD.Value),Fields!FLD.Value,0)),Fields!FLD.Value)


2) В пропертях FLD в св ве Format установить нумерический формат НЕ ИСПОЛЬЗУЯ ф-ции Format и ее производных , а например так N2

В итоге:
1)Отображаются и численные и строковые значения в нормальном формате
2)В Excel возможны операции над числовыми значениями
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS2012 строковое поле и импорте в Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]