Как рассчитать конфликтную встречу с использованием данных с сервера Exchange в PowerBI

Я пытаюсь получить представление о данных моего календаря с помощью визуализаций в PowerBI. Я могу получить почти все данные из своего календаря Outlook, используя собственный API в PowerBI. Я собираюсь узнать, сколько у меня конфликтующих встреч в неделю, но я не смог найти для этого ни одной колонки с флажками. Я пытаюсь использовать срезы времени для создания параметра «что, если» для вычисления флага, но это не работает. Есть ли способ отследить конфликтующие встречи?

Данные, которые у меня есть относительно встреч, следующие:

Все данные, которые я получил с сервера обмена, здесь

введите здесь описание изображения


person Sushruth    schedule 30.03.2018    source источник


Ответы (1)


Вы можете добавить вычисляемый столбец в набор данных с помощью такой формулы:

Conflicting = 
VAR StartDate = 'Calendar'[Start]
VAR EndDate = 'Calendar'[End]
VAR IDCurrent= 'Calendar'[Id]
RETURN
IF ( 
COUNTROWS( 
    FILTER (
        ALL('Calendar');
        'Calendar'[Start] < EndDate &&
        'Calendar'[End] > StartDate &&
        'Calendar'[Id] <> IDCurrent
    )
) > 0; TRUE(); FALSE())

Эта формула проверяет наличие разных строк в одном диапазоне дат.

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

Столбец Id - это уникальный идентификатор (например, уникальный первичный ключ), автоматически предоставляемый Exchange Online. Фильтр Id ‹> IDCurrent гарантирует, что вы не помечаете текущую строку как перекрывающуюся, например ищет все строки, кроме текущей:

Набор данных столбца идентификатора

Результат:

Outlook  PowerBI

Изменить: приведенная выше формула дает значение истина / ложь. Вы можете легко удалить оператор if, чтобы подсчитать конфликтующие назначения, но помните, что значение будет подсчитано дважды (или больше); для каждого противоречивого назначения.

person TJ_    schedule 30.03.2018
comment
Спасибо, это именно то, что я ищу. Мне нужно было значение флага, подобное тому, которое предоставляет мне ваш код. У меня просто небольшое сомнение. Относится ли идентификатор в коде к теме в tr - person Sushruth; 31.03.2018
comment
Нет, id был уникальным идентификатором, который я получил вместе с данными из Exchange Online. А у тебя этого нет? Чем, возможно, вам следует создать свой собственный ключ, например, с datetime + subject. - person TJ_; 31.03.2018
comment
Если вы имеете в виду последний столбец данных, которые мы получаем от обмена, то вы правы. У меня это уже есть. Спасибо за внимание. - person Sushruth; 01.04.2018
comment
Да, столбец Id действительно является последним столбцом в наборе данных. Добавлю к ответу. Удачи! - person TJ_; 01.04.2018