Страницы: 1
RSS
Power BI, Power pivot расчет времени ожидания, Нужно рассчитать время ожидания талона
 
Подскажите пожалуйста есть такая таблица
Номер   талонаДатаВремяРез. Меры
118.08.20188:00пусто
218.08.20188:00пусто
118.08.20188:2525 мин
218.08.20188:3030 мин
118.08.20188:5025 мин
118.08.20189:1020 мин
319.08.20188:00пусто
419.08.20188:05пусто
319.08.20188:2525 мин
319.08.20188:3535 мин
419.08.20188:5045 мин
зна

Тут есть номер талона дата и время. Мне нужно придумать какую-то меру, чтобы получить значения как в последнем столбце (рез. меры)
Получается я беру номер талона, потом дату и отнимаю от времени талона предыдущее время. Не подскажите как можно это сделать ?
 
Доброго дня,
Честно говоря времени сейчас нет возиться с вашим примером, поищите по форуму слово EARLIER вам насыпятся темы с подобными проблемами и решениями.
Вот горшок пустой, он предмет простой...
 
для Excel так:
Длительность
Код
=
     IF (
         ISBLANK (   [Предыдущее время] );
         BLANK ();
         CALCULATE ( MAX ( 'Таблица1'[Время] ) ) - [Предыдущее время]
     )
Предыдущее время
Код
=
     CALCULATE (
         MAX (   'Таблица1'[Время] );
         FILTER (
             ALLEXCEPT (   'Таблица1'; 'Таблица1'[Дата]; 'Таблица1'[Номер   талона] );
             'Таблица1'[Время] < MAX (   'Таблица1'[Время] )
         )
     )
Для Power BI можно покороче:
Длительность
Код
=
     VAR CurrentTime =
         MAX ( 'Таблица1'[Время] )
     VAR PrevTime =
         CALCULATE (
             MAX ( 'Таблица1'[Время]   );
             FILTER (
                 ALLEXCEPT ( 'Таблица1';   'Таблица1'[Дата]; 'Таблица1'[Номер     талона] );
                 'Таблица1'[Время] <   CurrentTime
             )
         )
     RETURN
         IF ( ISBLANK ( PrevTime ); BLANK   (); CurrentTime - PrevTime )
F1 творит чудеса
 
Цитата
Максим Зеленский написал:
  ALLEXCEPT (   'Таблица1'; 'Таблица1'[Дата]; 'Таблица1'[Номер   талона] );
Максим здравствуйте ! Спасибо большое за объяснение, а можете пожалуйста объяснить
этот момент :
'Таблица1'[Время] <  MAX('Таблица1'[Время]
Если я заменяю мах на min то результат такой же.
Это происходит потому что МАХ передается одно единственное значение ?
 
Korochaboy, да, в этом конкретном случае именно так, потому что мы берем текущее время для одной строки (если используем формулы в вычисляемом столбце)
уже точно не помню, но примерно так:
Код
// в рамках текущей даты-времени-талона мы считаем предыдущее время.
=     CALCULATE (
         MAX (   'Таблица1'[Время] );
// здесь считаем максимальное время из тех, что отбираем далее
         FILTER (
             ALLEXCEPT (   'Таблица1'; 'Таблица1'[Дата]; 'Таблица1'[Номер   талона] );
// это таблица, содержащая все строки с текущим фильтром по дате и номеру талона, то есть, фактически, все "времена" по текущему талону за день
             'Таблица1'[Время] < MAX (   'Таблица1'[Время] )
// в этой таблице отбираем строки, которые меньше или равны времени, указанному в текущей строке
         )
     )

А вот если мы будем использовать меру в сводной, то тогда будет разница.
F1 творит чудеса
Страницы: 1
Наверх