Dax Поиск даты на основе рассчитанных критериев Столбец - PullRequest
0 голосов
/ 01 июня 2019

Я не мог найти ответ на свой вопрос в другом месте, поэтому попытал счастья здесь.

У меня есть таблица продаж, и мой окончательный результат должен определить, были ли продажи, сделанные для того же человека в определенный период времениНапример, в течение 7 рабочих дней.например: sales table

Для идентификатора 123 я должен отметить, что продажа для продуктов A, B, C, где в течение указанного периода.

Только для идентификатора 1234Продажи продуктов A и B соответствуют критериям. Продукт C был продан в несоответствующие сроки.

Я создал таблицу дат с индикаторами, которые определяют для каждой даты, является ли дата рабочим днем, но я изо всех силдля вычисления соответствующего последнего рабочего дня Date Table

Например: мне нужно, чтобы на 01.01.2009 я получил дату 01.10.2009, основываясь на NUMOFDAYS и FinalWorkday =ИСТИНА, что в основном означает, что я должен посчитать NUMOFDAYS умножить значение ИСТИНА на каждую дату и вернуть соответствующую дату.

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

Если кто-то может дать мне указание за это очень ценится

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 01 июня 2019

Эта проблема может быть решена следующим образом, поскольку три нерабочих дня / праздника мы можем отфильтровать через POWERQUERY, а затем добавить столбец индекса и другой столбец, который в основном является столбцом индекса + требуемое количество дней, а затем просто объединить дубликат запроса даты по индексу + столбец количества разыскиваемых дней в столбце индекса. И мы получаем правильную дату

0 голосов
/ 01 июня 2019

Вы можете использовать DateTable, как этот:

enter image description here

Я использовал следующие DAX-выражения для вычисляемых столбцов:

nrDays = 7

isWorkDay = WEEKDAY('DateTable'[Date],2) < 6

rankWorkingDays =  RANKX ( FILTER ( DateTable, DateTable[isWorkDay] = TRUE () ),
    DateTable[Date] , , ASC )

LastWorkDay = LOOKUPVALUE ( DateTable[Date],
    DateTable[isWorkDay], TRUE (),
    DateTable[rankWorkingDays], DateTable[rankWorkingDays] + DateTable[nrDays])
...