Продолжительность.

В Power BI с отображением на дашборде продолжительности какого-либо действия возникают некоторые проблемы.

Если в Power Query вы зададите для столбца тип данных «продолжительность», то в редакторе запросов всё будет выглядеть красиво: 11:07:00

Однако, при загрузке в модель данных эстетика сломается и мы увидим значение в секундах: «87120».

Чтобы вернуть удобочитаемый вид, придётся использовать DAX.

Продолжительность для требуемого параметра необходимо рассчитать с помощью меры:

Продолжительность = 
// Duration formatting 
// We start with a duration in number of seconds
VAR Duration = SUM('Таблица'[колонка с периодом])
// There are 3;600 seconds in an hour
VAR Hours =
    INT ( Duration / 3600)
// There are 60 seconds in a minute
VAR Minutes =
    INT ( MOD( Duration - ( Hours * 3600 ),3600 ) / 60)
// Remaining seconds are the remainder of the seconds divided by 60 after subtracting out the hours 
VAR Seconds =
    ROUNDUP(MOD ( MOD( Duration - ( Hours * 3600 ),3600 ), 60 ),0) // We round up here to get a whole number
// These intermediate variables ensure that we have leading zero's concatenated onto single digits
// Hours with leading zeros
VAR H =
    IF ( LEN ( Hours ) = 1, 
        CONCATENATE ( "0", Hours ),
        CONCATENATE ( "", Hours )
      )
// Minutes with leading zeros
VAR M =
    IF (
        LEN ( Minutes ) = 1,
        CONCATENATE ( "0", Minutes ),
        CONCATENATE ( "", Minutes )
    )
// Seconds with leading zeros
VAR S =
    IF (
        LEN ( Seconds ) = 1,
        CONCATENATE ( "0", Seconds ),
        CONCATENATE ( "", Seconds )
    )
// Now return hours; minutes and seconds with leading zeros in the proper format "hh:mm:ss"
RETURN
    IF(H=BLANK()||S=BLANK()||M=BLANK(),BLANK(),
    CONCATENATE (
        H,
        CONCATENATE ( ":", CONCATENATE ( M, CONCATENATE ( ":", S ) ) )
    ))

Именно эту меру надо использовать на диаграммах, графиках, в таблицах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *