А вот скажите, если хайп предлагает некие условия, скажем 0,5% в день, по бизнес-дням, то как это считать? Надо учитывать из какой страны, и сколько уу них выходных, или это всегда одинаковое число, скажем 25 дней? Или как? Ну, чтбы понять сколько это в месяц обещается.
18.11.2013, 05:48
Специалист
Пол: Мужской
Адрес: далеко
Инвестирую в: Другое
Регистрация: 23.05.2012
Сообщений: 493
Благодарностей: 338
КП: 0.116
Re: Сколько бизнес дней в месяце работает хайп?
Выплаты по бизнес дням — значит как минимум не будет выплат в субботу и воскресенье. Возможно еще по каким-то праздникам, но тут зависит от конкретного проекта.
__________________
Who owns the information — owns the world
Nathan Mayer Rothschild
18.11.2013, 10:26
Профессионал
Пол: Мужской
Адрес: Germany
Инвестирую в: Свой бизнес
Регистрация: 16.10.2013
Сообщений: 1,890
Благодарностей: 572
КП: 0.176
Re: Сколько бизнес дней в месяце работает хайп?
Выплаты, по будням, то есть с Пн — пт
__________________
18.11.2013, 10:49
Имя: Сергей
Пол: Мужской
Инвестирую в: Доверительное управление
Регистрация: 18.10.2012
Сообщений: 10,546
Благодарностей: 3,000
КП: 0.251
Re: Сколько бизнес дней в месяце работает хайп?
КАК РАССЧИТАТЬ БЛАГОПРИЯТНУЮ ДАТУ ДЛЯ ОТКРЫТИЯ БИЗНЕСА?
Если по легенде хайп на форексе якобы зарабатывает, то выходными еще могут быть католическое рождество и НГ.
__________________
Инвестирую через MONHYIP — лучший рефбек
Сказали спасибо:
18.11.2013, 14:19
Топ Мастер
Имя: Оксана
Пол: Женский
Адрес: Город-миллионер))
Инвестирую в: HYIP
Регистрация: 27.11.2012
Сообщений: 7,720
Благодарностей: 13,181
КП: 0.178
Re: Сколько бизнес дней в месяце работает хайп?
22 рабочих дня в среднем в месяце, на это количество дней и нужно ориентироваться.
Сказали спасибо 2 раз(а):
EmiLieN (18.11.2013), lukoie (23.11.2013)
18.11.2013, 16:07
Специалист
Пол: Мужской
Регистрация: 10.07.2011
Сообщений: 936
Благодарностей: 117
КП: 0.000
Re: Сколько бизнес дней в месяце работает хайп?
А вот скажите, если хайп предлагает некие условия, скажем 0,5% в день, по бизнес-дням, то как это считать? Надо учитывать из какой страны, и сколько уу них выходных, или это всегда одинаковое число, скажем 25 дней? Или как? Ну, чтбы понять сколько это в месяц обещается.
у всех по разному.
кто просто календарные дни считает без всяких бизнес дней и выходных.
кто считает календарные рабочие дни.
кто бизнес дни и тут зависит еще сколько и какие праздники учитывает.
Был хайп который учитывал праздники РФ и США
Источник: mmgp.ru
Калькулятор дней
Калькулятор дней предназначен для вычисления количества дней между датами, а также для нахождения даты путем прибавления или вычитания определенного количества дней к известной дате.
Прибавить дни к дате, вычесть дни из даты
Для того, чтобы узнать какое число будет через определенное количество дней, воспользуйтесь этой опцией. Введите начальную дату и количество дней, которое нужно к ней прибавить. Для вычитания выберите минус в выпадающем списке. В калькуляторе также есть опция для прибавления только рабочих дней.
Как правильно считать деньги в бизнесе. Расчёт чистой прибыли 2019
Вычисление количества дней между датами
Этот метод расчета ответит на вопрос «сколько дней прошло с даты». Введите начальную дату и конечную дату и нажмите кнопку «рассчитать». Калькулятор покажет, сколько дней между введенными датами. Отдельно калькулятор покажет количество рабочих дней.
С помощью этой опции можно вычислить сколько дней осталось до определенного события, например до дня рождения или праздника. Для этого в поле начальной даты укажите сегодняшнее число, а в поле конечной даты — дату события.
Праздничные дни
Калькулятор может вычислять, прибавлять и вычитать как календарные дни, так и рабочие. Официальными нерабочими праздничными днями являются:
- 1,2,3,4,5,6,8 января — новогодние каникулы
- 7 января — православное Рождество
- 23 февраля — День защитника Отечества
- 8 марта — Международный женский день
- 1 мая — Праздник Весны и Труда
- 9 мая — День Победы
- 12 июня — День России
- 4 ноября — День народного единства
Если праздничный день выпал на субботу или воскресенье, его переносят на ближайший рабочий день. Но иногда выходные переносят совсем в другое место календаря. Например, субботу и воскресенье, выпавшие на новогодние праздники, могут перенести на май, чтобы продлить майские праздники.
Калькулятор при расчете дней учитывает как официальные праздничные даты, так и все переносы.
Источник: calcus.ru
Калькулятор рабочих дней в DAX
Как-то мне прилетела задача по расчету КПЭ (выполнение задач в срок) в рабочих днях. Посчитать количество дней можно стандартными операторами дат в DAX. С вычислением именно рабочих не так просто. На просторах интернета готового решения в DAX я найти не смогла. Поэтому делюсь своими наработками.
Для решения данной задачи необходим производственный календарь.
На просторах интернета есть идеи как можно спарсить производственный календарь, но источники данных не всегда официальные (что может отразиться на качестве отчета) + политика моей компании не позволяла использовать внешние источники данных для модели. Также в связи со случаями, введенными Правительством РФ, когда организации могут работать в нерабочие дни из-за производственной необходимостью, иметь персонализированный календарик – это хорошая затея. Поэтому я сделала свой производственный календарь для пятидневной рабочей недели на основе данных Консультанта (заняло это у меня минут 10 для данных 2018-2022 годов).
Файл с календарем размещен по ссылке.
Ниже описаны примеры калькуляторов в зависимости от имеющихся данных (Дата начала/окончания работы над задачи, нормативный срок).
Расчет кол-ва рабочих дней между датами
Пример: посчитать за сколько раб. дней была решена задача.
Дата начала 07.02.2022.
Дата окончания 15.02.2022.
Когда производственный календарь (Таблица ‘Calendar’ со столбцами [Дата] и бинарным признаком рабочих дней [рабдни]) загружен в модель данных и формат столбцов корректен, произведем расчет.
Для того, чтобы написать правильную формулу в DAX, попробуем составить логику вручную.
- Сделаем фильтрацию производственного календаря, чтобы в нем остались только необходимые даты [Дата начала; Дата окончания] и только рабочие дни (рабдни=1).
2. Посчитать сколько дней (строк в таблице) получилось – это и есть интересующая цифра. Количество строк/раб. дней=7.
Теперь напишем формулу расчета в DAX в таблице, где хранятся даты началаокончания задач.
CALCULATE (COUNTROWS (‘Calendar’), FILTER(‘Calendar’, ‘Calendar'[Дата].[Date]>=[Дата начала] ‘Calendar'[Дата].[Date]<=[Дата окончания] ‘Calendar'[рабдни]=1)).
Расчет прогнозного срока завершения задачи
Например, у нас есть данные, что задача начата 07.02.2022 и по плану должна быть завершена в срок 7 р.д.
Аналогично предыдущему примеру, сделаем действия компьютера руками.
- Отфильтруем производственный календарь, чтобы даты были не позднее чем 07.02.2022 и в нем остались только рабочие дни (Раб. Дни=1).
- Столбец «Дата» отфильтруем по возрастанию и оставим только первые 7 строк (т.к. задача по плану должна быть завершена в срок 7 р.д).
3. Самая поздняя дата (15.02.2022) и будет решением нашего вопроса.
Теперь напишем формулу расчета в DAX в таблице, где хранятся даты началаокончания задач.
CALCULATE (MAX(‘Calendar'[Дата].[Date]),TOPN (7, FILTER(‘Calendar’, ‘Calendar'[Дата].[Date]>=[Дата начала]’Calendar'[рабдни]=1),’Calendar'[Дата].[Date], ASC)).
Расчет даты начала работы над задачей
Например, у нас есть данные что сотрудник закончил задачу 07.02.2022 и работал над ней 7 р.д. Задача – вычислить дату, когда сотрудник начал работу над данной задачей.
- Отфильтруем производственный календарь, чтобы даты были не раньше чем 07.02.2022 и в нем остались только рабочие дни (Раб. Дни=1).
2. Столбец «Дата» отфильтруем по убыванию и оставим только первые 7 строк (т.к. задача завершена в срок 7 р.д).
3. Самая ранняя дата (28.01.2022) и будет решением нашего вопроса.
Теперь напишем формулу расчета в DAX в таблице, где хранятся даты началаокончания задач.
CALCULATE(MIN (‘Calendar'[Дата].[Date]), TOPN (7, FILTER(‘Calendar’, ‘Calendar'[Дата].[Date]>=[Дата окончания].[Date]’Calendar'[рабдни]=1),’Calendar'[Дата].[Date], DESC))
Также прилагаю модель данных в Power BI. Файл «Калькулятор рабочих дней в DAX» размещен по ссылке.
Калькулятор рабочих дней в DAX (с учетом времени)
Рассмотрим случай, когда необходимо рассчитать рабочие дни между датой поступления и датой выполнения запроса. Обычный подсчет рабочих дней в DAX мы рассмотрели в статье (ссылка на пред. статью). А если необходимо рассчитать рабочие дни, с учетом времени поступления/выполнения. Например, запрос пришел в четверг в 11.54 и выполнен в пятницу в 15.52.
Формула, не учитывающая время даст нам результат 2 рабочих дня. Однако, применяя в формуле данные времени мы получим 1,17 рабочих дней, что сделает данные более точными. Графиком работы сотрудников пока предлагаю пренебречь и условно считать, что они трудятся целые сутки без отдыха .
Разобьем задачу на несколько шагов.
Проверка полноты данных
Сделаем проверку данных, что дата поступления запроса есть и задача уже решена (есть дата решения запроса).
IF ([Дата поступления запроса].[Date]=BLANK()||[Дата решения запроса].[Date]=BLANK(),BLANK()
Случай 1: запрос обработан в день поступления
Например, Дата поступления запроса=07.02.2022 11:54, Дата решения запроса=07.02.2022 15:02
Введем переменную для упрощения визуализации формулы. Данные времени нужно перевести к единой единице измерения- часы и далее результат поделить на 24 часа для получения числа рабочих дней.
var x=(HOUR([Дата решения запроса])-HOUR([Дата поступления запроса])+MINUTE([Дата решения запроса])/60-MINUTE([Дата поступления запроса])/60)/24
Здесь переменная х будет равняться = ((15-11)+(2/60)-(54/60))/24=0,13 раб. дня.
Далее полная формула расчета при случае 1:
var x=(HOUR([Дата решения запроса])-HOUR([Дата поступления запроса])+MINUTE([Дата решения запроса])/60-MINUTE([Дата поступления запроса])/60)/24 return IF([Дата поступления запроса].[Date]=[Дата решения запроса].[Date],x)
Важно: при сверке не забывать добавлять к ссылке на столбцы.
Случай 2: запрос пришел в выходной день
Здесь необходимо посчитать рабочие дни после поступления запроса + часы в день выполнения запроса.
Для начала проверим, является ли дата поступления рабочим днем c помощью производственного календаря (Таблица ‘Calendar’) и переменной Y.
var y = LOOKUPVALUE(‘Calendar'[рабдни],’Calendar'[Дата],[Дата поступления запроса].[Date]) return
Далее получаем число полных рабочих дней между датой поступления запроса и датой выполнения с помощью переменной Z:
var z= CALCULATE(COUNTROWS(‘Calendar’),FILTER(‘Calendar’,’Calendar'[Дата].[Date]>[Дата поступления запроса].[Date]’Calendar'[Дата].[Date]<[Дата решения запроса] .[Date] ‘Calendar'[рабдни]=1)).
Итого расчет по случаю 2: запрос пришел в выходной день
//Проверка даты начала раб.дни
var y = LOOKUPVALUE(‘Calendar'[рабдни],’Calendar'[Дата],[Дата поступления запроса].[Date])
//полных рабочих дней между датами
var z= CALCULATE(COUNTROWS(‘Calendar’),FILTER(‘Calendar’,’Calendar'[Дата].[Date]>[Дата поступления запроса].[Date]’Calendar'[Дата].[Date]<[Дата решения запроса].[Date] ‘Calendar'[рабдни]=1)) return
//случай 2 — запрос пришел в выходной
IF(y=0,(HOUR([Обр. Дата закрытия])+MINUTE([Обр. Дата закрытия])/60)/24+z,x+z)))
В данном примере DAX должен возвратить число 2,48= (11+38/60)/24 + 2 полных рабочих дня (10.01.2022+11.01.2022).
И самый распространённый случай 3: запрос пришел в рабочий день и завершен в рабочий день
Здесь следует посчитать полные рабочие дни начиная с даты поступления запроса (включительно) и учесть время дат поступления/завершения запроса.
Посчитаем вручную: 2(полные рабочие дни с даты поступления:14.01.2022 + 16.01.2022 )+ (11-16+(38-38)/24)=2-0,21=1,79 рабочий день
var x=(HOUR([Дата решения запроса])-HOUR([Дата поступления запроса])+MINUTE([Дата решения запроса])/60-MINUTE([Дата поступления запроса])/60)/24
//Проверка дата начала рд
var y = LOOKUPVALUE(‘Calendar'[рабдни],’Calendar'[Дата],[Дата поступления запроса].[Date])
//полных рабочих дней между датами
var z= CALCULATE(COUNTROWS(‘Calendar’),FILTER(‘Calendar’,’Calendar'[Дата].[Date]>=[Дата поступления запроса].[Date] ‘Calendar'[Дата].[Date]<[Дата решения запроса].[Date] ‘Calendar'[рабдни]=1)) return IF(y<>0,x+z)
Теперь объединим все случаи в одну формулу для столбца расчета:
var x=(HOUR([Дата решения запроса])-HOUR([Дата поступления запроса])+MINUTE([Дата решения запроса])/60-MINUTE([Дата поступления запроса])/60)/24
//Проверка дата начала рд
var y = LOOKUPVALUE(‘Calendar'[рабдни],’Calendar'[Дата],[Дата поступления запроса].[Date])
//полных рабочих дней между датами
var z= CALCULATE(COUNTROWS(‘Calendar’),FILTER(‘Calendar’,’Calendar'[Дата].[Date]>=[Дата поступления запроса].[Date] ‘Calendar'[Дата].[Date]<[Дата решения запроса].[Date] ‘Calendar'[рабдни]=1)) return
//Если дата начала или дата конца отсутствует, то пусто
IF([Дата поступления запроса].[Date]=BLANK()||[Дата решения запроса].[Date]=BLANK(),BLANK(),
// случай 1- обработка запроса день в день
IF([Дата поступления запроса].[Date]=[ Дата решения запроса].[Date],x,
//случай 2 — запрос пришел в выходной
IF(y=0,(HOUR([Дата решения запроса])+MINUTE([Дата решения запроса])/60)/24+z,x+z)))
Итак, я рассказала какие манипуляции можно проводить в DAX для расчета рабочих дней. Далее эти данные можно применять в комбинации с условным оператором IF, чтобы сразу маркировать запросы («В срок»/ «Не в срок») или устанавливать контрольный срок в зависимости от типа задачи.
В заключении хотелось бы сказать, что данную логику расчета рабочих дней можно применять не только в DAX, но и в других языках программирования.
Источник: newtechaudit.ru