Общее количество минут в формате SSRS: ЧЧ: ММ: СС - PullRequest
0 голосов
/ 06 ноября 2018

В текущем выражении отчета данные представлены в днях: часы: минуты: секунды

=cstr(floor((sum(Fields!phoneInOutbound.Value) / 86400))) & " days " & 
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 86400) / 3600))) & ":" & 
cstr(floor((((sum(Fields!phoneInOutbound.Value) Mod 86400) Mod 3600) / 60))) & ":" & 
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 86400) Mod 3600) Mod 60))

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

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

=cstr(floor((sum(Fields!phoneInOutbound.Value) / 60))) & " : " & 
cstr(floor(((sum(Fields!phoneInOutbound.Value) Mod 60))))

Любая идея, как перенастроить, чтобы я мог получить общее количество часов: минут: секунд?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Хорошо, так что в основном вам нужно будет добавить первый оператор (где он изначально получает дни) плюс второй оператор (где он изначально был часами). Вы можете изменить первый оператор, чтобы получить дни, а не дни * 24, чтобы получить дни назад к часам, чем + 2-й оператор. Вероятно, есть более простой способ, не уверенный, как выглядит ваш набор данных или даже из какой базы данных вы читаете. Просто пытаюсь заставить вас думать в правильном направлении.

0 голосов
/ 06 ноября 2018

Если бы я был тобой, я бы обработал это на стороне sql и просто использовал ssrs как место для хранения данных. Вы можете сделать это так легко или сложно, как вы хотите. Когда я имею в виду комплекс, я имею в виду, что вы получаете данные из поданных минут, а затем добавляете к ним «мин» + значение секунд + «сек». Оборачивая все это в другой именованный запрос и создавая вычисляемое поле. Лично я не большой поклонник использования SSRS для выполнения вычислений, так как вы используете для этого память сервера отчетов (которую следует использовать для создания отчетов, а не для обработки вычислений), НО, если этот метод прост для вас, тогда больше возможностей для вас. Ниже приведен пример кода для обработки этого на стороне SQL.

create table #temp_time_test (
    phoneInOutbound_IN datetime
    ,phoneInOutbound_OUT datetime
    )

    insert into #temp_time_test values 
    ('11/06/2018 12:24:13.790','11/06/2018 12:34:13.790')



    select DATEDIFF(MINUTE,phoneInOutbound_IN,phoneInOutbound_OUT) from #temp_time_test
...