2016-02-17 3 views
4

мне нужна помощь в этом моем случае являетсясчета SSRS рабочих дней только

1-два параметра датированы, даты,

2-число параметров команды, которые вручную ввести пользователем для последующего использования на использовать в некоторых вычислениях

rquirement

количества только рабочих дней (6days в неделю) без пятницы на основе отфильтрованного периода (дата от даты и к)

Код

=(COUNT(IIF(Fields!Job_Status.Value="Closed",1,Nothing)))/
((DateDiff(DateInterval.day,Parameters!DateFrom.Value,Parameters!ToDate.Value 
)) * (Parameters!Number_of_teams.Value)) 

Примечание

этот код работает отлично, но вычислить все дни

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

ответ

1

Попробуйте это:

=(DATEDIFF(DateInterval.Day, CDATE("2016-02-14"), CDATE("2016-02-17")) + 1) 
-(DATEDIFF(DateInterval.WeekOfYear, CDATE("2016-02-14"), CDATE("2016-02-17")) * 2) 
-(IIF(WeekdayName(DatePart(DateInterval.Weekday,CDATE("2016-02-14"),FirstDayOfWeek.System))="sunday",1,0) 
-(IIF(WeekdayName(DatePart(DateInterval.Weekday,CDATE("2016-02-17"),FirstDayOfWeek.System))="saturday",1,0) 
)) 

Это будет Ruturn отсчет понедельника по пятницу с данного диапазона в приведенном выше случае она возвращает 3. Для StartDate = 2016-02-14 и EndDate = 2016-02-21 возвращает 5.

UPDATE: Выражение для исключения пятницы из счета.

=(DATEDIFF(DateInterval.Day, Parameters!DateFrom.Value, Parameters!ToDate.Value) + 1) 
-(DATEDIFF(DateInterval.WeekOfYear, Parameters!DateFrom.Value, Parameters!ToDate.Value) * 1) 
-(IIF(WeekdayName(DatePart(DateInterval.Weekday,Parameters!ToDate.Value,FirstDayOfWeek.System))="friday",1,0)) 

Протестировано:

DateFrom  ToDate  Result 
2016-02-12 2016-02-19  6 
2016-02-12 2016-02-18  6 
2016-02-12 2016-02-15  3 

Это очень странно мне видеть субботу и воскресенье, как рабочие дни вместо пятницы.

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

+0

Спасибо за ответ. Я проверю его, как только я вернусь к работе. –

+0

он не работает в моем случае. Рабочие дни - все дни недели, кроме пятницы. –

+0

также примечание. Я использую дату и дату в качестве параметров, показанных в коде, который я отправлял ранее. –

0

Наиболее устойчивым решением для такого рода вопросов в долгосрочной перспективе является создание «date dimension« aka »таблицы календаря». Таким образом, любые причуды в классификации дат, которые не соответствуют какой-либо аккуратной математической схеме, могут быть размещены. Если ваше правительство решит объявить дату X государственным праздником, начиная со следующего года, просто добавьте его в столбец ваших официальных праздников (атрибут). Если вы хотите сгруппировать, скажем, «рабочие дни, выходные и праздничные дни», нет необходимости изобретать колесо, просто добавьте эту классификацию в таблицу календаря, и каждый из вас имеет преимущество, и вам не нужно беспокоиться о несогласованности в расчет/классификация. Возможно, вам понадобится первый или последний рабочий день месяца. Легко, отфильтруйте этот столбец в таблице календаря.

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