2017-01-26 12 views
1

Я пытаюсь создать линейный график в PowerBI. То, что я пытаюсь построить, несколько сложнее.Работа с длительностью (доступность) в PowerBi

У меня есть следующие таблицы:

Кадровая - это таблица описывает штатное расписание для каждого сотрудника в компании. Под «укомплектованием персоналом» я имею в виду, как распределяется их время. Например, работник # 7 работают в «Куриное Производство» с StartDate из 1/1/2016 и EndDate из 1/10/2016

EmployeeID Project     StartDate  EndDate 
5   Cutting Lemons   12/1/2015  12/31/2015 
5   Chicken Manufacturing 1/1/2016  1/10/2016 
6   Fishing Lobsters   1/2/2016  1/5/2016 
7   Chicken Manufacturing 1/5/2016  2/1/2016 
8   Drinking     2/1/2016  null 

У меня также есть стандартное измерение Date, а также сотрудников таблицу и таблицу проекта. Таблица Employees имеет строку для каждого сотрудника, а в проекте есть строка для каждого вида деятельности.

Я пытаюсь создать линейный график, который имеет даты на оси х, и строка покажет мне, сколько сотрудников активно в данную дату. Так что для дат 12/1/2015 - 1/10/2016 Сотрудник 5 должен считаться «укомплектованным персоналом», но 1/11/2016 он не должен быть включен в общую сумму.

Что я на самом деле пытается вычислить доступность, и я имею в виду, сколько часов работы доступно в каждый день (у меня есть проект «Доступно»), поэтому в конечном счете мне нужно будет подсчитать количество Часами, а не сотрудниками, но я думаю, что если я смогу работать с подсчетом сотрудников, я не должен испытывать слишком много проблем, умножая количество сотрудников на 8 часов в день.

+0

Ну, у меня есть около 6 мер, ни одна из которых не работает. В прошлом, когда я делал кумулятивные итоговые значения, я всегда делал что-то вроде CALCULATE (Staffing, DATESMTD ('Date')), но поскольку мне нужны ежедневные итоговые значения, я пытаюсь использовать такие переменные, как Measure = CALCULATE (sum (Staffing) [Точка доступности часов]), DATESINPERIOD (Staffing [StartDate], MAX (Staffing [StartDate]), 1000, DAY)) – james5

ответ

1

попробовать что-то вроде этого:

Count of Emp = 
CALCULATE (
    DISTINCTCOUNT (Employee[EmployeeID]), 
    FILTER (
     Staffing, 
     [StartDate] <= MAX ('Date'[Date]) 
      && (
       [EndDate] >= MAX ('Date'[Date]) 
        || ISBLANK ([EndDate]) 
      ) 
    ) 
) 

Он не проверял, но должно работать до тех пор, пока у вас есть relatinship между работником - Кадровое. Также не забудьте использовать столбец даты в настройке оси.

Сообщите мне, если это поможет.

+0

Это помогает, но он по-прежнему не работает :( Линия измерения совпадает с строкой это просто простой счет employeeID – james5

+0

@ john5, что вы имеете в виду? Каким должен быть ваш ожидаемый результат на основе данных, опубликованных в OP? –

+1

Хорошо, основываясь на вашей формуле, вот что, я думаю, происходит: I подумайте, что ваша формула пересчитывает каждую строку за каждую дату. Поэтому, когда у меня есть Employee 5 начиная с 1 января 2012 года, а Employee 7, начиная проект с 1 января 2012 года, он подсчитывает на 4, когда он должен считать это как 2 - потому что он выполняет счет за 1/1/2016 для Employee 5, а затем делает еще один счет для 1/1/2016 для Employee 7 – james5

 Смежные вопросы

  • Нет связанных вопросов^_^