Выражение SSRS повторно не форматируется как число при экспорте в Excel - PullRequest
1 голос
/ 17 апреля 2019

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

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

=IIF(Fields!Duration.Value > 0, Floor(Fields!Duration.Value / 3600) & ":" & Format(CDate(DateAdd("s", Fields!Duration.Value, "00:00")), "mm:ss"), IIF(Fields!LastTime.Value = Fields!FirstTime.Value, "Passing by", "Still Occupied"))

Требуется ячейка 2 столбцов (FirstTime и LastTime),вычисляет разницу между ними и переводит ее в формат ч: мм: сс.Если FirstTime и LastTime совпадают, вместо этого будет указано «Passing by».В противном случае будет поставлено «Все еще занято».

Все в порядке, но если отчет экспортируется в Excel, столбец нельзя ни подсчитать, ни вычислить, и я даже не могу отформатировать столбец как числа, чтобы это сделать.

Есть идеи, почему это может происходить?Спасибо!

1 Ответ

0 голосов
/ 17 апреля 2019

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

Вместо преобразования ваших секунд в мм: сс, вы должны добавить секунды к дате, а затем отобразить ее в формате мм: сс.

Если вы хотите добавитьраз в Excel вам нужно будет отформатировать текстовое поле со свойством FORMAT мм: сс вместо использования функции форматирования.

=IIF(Fields!Duration.Value > 0, DATEADD("s", Fields!Duration.Value, CDATE("1899-12-31")), 
 IIF(Fields!LastTime.Value = Fields!FirstTime.Value, "Passing by", "Still Occupied"))

12/31/1899 - это день 0 окон, поэтому вы можете добавлять время вместе, не добавляя дни в СУММЕ и Среднее в строке состояния Excel.Обратите внимание, что Excel не показывает дату на панели формул.

enter image description here

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