Создайте показатель в Power Pivot / DAX, который рассчитывает доступное оборудование на основе диапазонов дат - PullRequest
0 голосов
/ 15 ноября 2018

Я ищу количество единиц, когда оборудование не находится в диапазоне дат (даты начала и окончания).

Как мне сделать меру «Свободный счет», чтобы подсчитать количество единиц по категориям в измерении временной шкалы (скажем, 11 ноября 2018 года)?

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

Моя мера гласит:

AvailUnitCount := CALCULATE( DISTINCTCOUNT( EquipUsage[EquipmentNo] ) )

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

См. Набор данных и желаемый результат ниже. Я очень ценю ваш совет по этому поводу.

Таблица 1: EquipUsage

EquipNo     CategoryNo  UsageStartDate  UsageEndDate
----------------------------------------------------
10005164    A020004004  5-Nov-18        5-Dec-18
10005167    A020004004  24-Oct-18       10-Nov-18
10005176    A020004005  9-Oct-18        5-Dec-18
10015982    A020004006  18-Feb-18       5-Sep-18
10019170    A020004006  16-Aug-18       30-Mar-19
10019551    A020004006  2-May-17        10-Nov-18
10005178    A020004007  20-Sep-18       15-Jan-19

Таблица 2: EquipCategories (Пример желаемого результата на 11 ноября 2018 г.)

CategoryNo  AllUnits    AvailableUnits
--------------------------------------
A020004004  2           1
A020004005  1           0
A020004006  3           2
A020004007  1           0

1 Ответ

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

Мера AllUnits проста:

AllUnits = COUNTROWS(EquipUsage)

Для доступности прочитайте желаемую дату и суммируйте строки, в которых эта дата не попадает в указанный диапазон дат:

AvailableUnits = 
VAR CheckDate = SELECTEDVALUE(DateTable[Date])
RETURN SUMX(EquipUsage,
           IF(
               EquipUsage[UsageStartDate] <= CheckDate &&
               EquipUsage[UsageEndDate]   >= CheckDate,
               0,
               1
           )
       )
...