Мегаобучалка Главная | О нас | Обратная связь


Операторы и наиболее употребительные функции, используемые в формулах расчёта значений полей, определяемых пользователем



2015-11-08 972 Обсуждений (0)
Операторы и наиболее употребительные функции, используемые в формулах расчёта значений полей, определяемых пользователем 0.00 из 5.00 0 оценок




 

Поля таблицы работ с именами Число1Число20, Дата1Дата10,

 

Начало1Начало10,Окончание1Окончание10,Длитель-ность1Длительность10,Затраты1Затраты10,Код структуры1Код структуры10,Текст1Текст30,Флаг1Флаг20предназначены для данных,

 

произвольно вводимых менеджером проекта для его собственных целей либо автоматически вычисляемых согласно заданным формулам или правилам. Ана-логичные поля предусмотрены и в таблице ресурсов. Они часто используются для автоматизации аналитических расчётов на основе плана и данных монито-ринга. В данном приложении приведён список операторов и наиболее употре-бительных функций, используемых в формулах. При назначении формул следу-ет заботиться о том, чтобы тип данных результата соответствовал типу данных выбранного поля.

 

Операторы

 

+,–,*,/,^ — арифметические операторы: сложение, вычита-  
\ ние, умножение, деление, возведение в степень.  
— целочисленное деление (остаток отбрасывается).  
МОД — остаток от деления. Например, значение выраже-  
& ния 8 MOD 3 равно 2.    
— конкатенация (объединение) двух текстовых  
=,<>,<,>,>=,<= строк.    
— операторы сравнения (результат имеет значения  
И,ИЛИ,НЕ «истина» или «ложь»)1.    
— логические операции "и", "или", "не".  
Математические функции    
sqr(x),log(x),exp(x) x, ln(x), ex.    
sin(x),cos(x),tan(x),atn(x) — sin(x), cos(x), tg(x), arctg(x).    
abs(x) — |x|.    
fix(x) — округление отбрасыванием дробной части.  
sgn(x) — 1, если x > 0; 0, если x = 0; –1, если x < 0.  

 

 

1 Эти операторы могут использоваться для сравнения не только чисел и дат, но и текстовых строк (в лексикографическом порядке). Регистр символов учитывается.


rnd() — равномерно распределённая случайная величина  
  в интервале [0; 1). Значение обновляется при ка-  
  ждом пересчёте модели проекта.  
Логические функции  
isnumeric(x) — «истина», если аргумент числовой; иначе «ложь».  
isdate(x) — «истина», если аргумент — дата; иначе «ложь»1.  
isnull(x) — «истина», если аргументу не присвоено никакое  
iif(x,y,z) значение; иначе «ложь».  
y, если x имеет значение «истина»; в противном  
  случае — z.  
choose(i,x1,x2…) — возвращает значение xi.  
switch(c1,x1,c2,x2…) — аргументы ci содержат логические условия, xi  
  некоторые значения. Результат — первое слева  

значение xi, для которого соответствующее ci принимает значение «истина».

 

Функции даты и времени

 

К календарным значениям можно прибавлять и вычитать вещественные числа, трактуемые в этом случае как число дней (возможно, дробное) согласно астрономическому времени.

 

В столбцах для представления календарных значений могут отображать-  
ся только даты в интервале с 1 января 1984 г. по 31 декабря 2049 г.    
now() — текущие дата и время по системным часам ком-  
  пьютера (обновляются при каждом пересчёте  
date() модели проекта).      
— текущая дата по системным часам компьютера.  
cdate(x) — преобразование текстового значения к типу «да-  
  та».        
dateserial(y,mn,d),timeserial(h,m,s) — формирование календарного значе-  
  ния из номеров года y, месяца mn и числа d; но-  
  меров часа h, минуты m и секунды s. Например,  
  чтобы сформировать календарное значение, со-  
  ответствующее моменту h часов 15 минут  
  30 секунд 17 июня y-го г., можно записать  
  dateserial(y,6,17) + time-  
  serial(h,15,30).      

 

 

1 В справочной системе программы Microsoft Project эта функция отнесена к числу функций даты и времени.


dateadd(u,n,d) — дата, отстоящая от даты d (возможно её задание в  
  форме текста) на n периодов, специфицирован-  
  ных аргументом u. Последняя может принимать  
  одно из следующих значений: "h", "d", "m",  
  "y", что означает соответственно часы, дни, ме-  
  сяцы и годы. Время астрономическое. Например,  
  результат вычисления функции  
  dateadd("m",1,"23.05.2006") — 23 ию-  
datediff(u,d1,d2) ня 2006 г.      
— число полных и неполных периодов заданной  
  продолжительности между двумя указанными  
  датами d1 и d2 (возможно их задание в форме  
  текста по образцу "23.05.2006 23:59"). Пе-  
  риод задаётся аргументом u, который может  
  принимать значения "h", "d", "w", "m" (часы,  
  дни, недели, месяцы). Если d1 > d2, результат от-  
datepart(u,d,f) рицательный.      
— в зависимости от значения аргумента u выдаёт:  
  "h" — час, "d" — календарное число, "m" —  
  номер месяца, "w" — номер дня недели, "y" —  
  номер дня в году, соответствующие дате d (дата  
  может задаваться как календарным значением,  
  так и текстом по образцу "23.05.2006  
  23:59"). Аргумент f используется только при  
  u ="w":если он равен0,первым днём недели  
  считается понедельник, если 1 — воскресенье.  
  В других случаях он игнорируется и может быть  
  опущен.      

 

Замечание . Результат вычислений функций datediff и date-partявляется числом,а не календарным значением(датой).Попытка ото-бражения числового значения в календарных столбцах, определяемых пользователем, вызовет сообщение об ошибке.

 

year(d) — номер года, соответствующий дате d.

 

month(d) — равносильно datepart("m",d).

 

weekday(d,f) — равносильно datepart("w",d,f).

 

day(d) — равносильно datepart("d",d).

 

hour(d) — равносильно datepart("h",d).


 

minute(d)

 

projdateadd(d,n,c)

 

 

projdatesub(d,n,c)projdurvalue(n)

 

projdatediff(d1,d2,c)

 

projdurconv(n,f)


— минута, соответствующая дате d (например, для даты "17.06.2006 9:15" результат равен

 

15).

 

— дата, отстоящая от даты d на период рабочего

 

времени n согласно календарю c. Дата задаётся календарным или текстовым (например,

 

"17.06.2006 9:15") значением. Кален-

 

дарь — именем. Период может задаваться чис-лом (обозначающим число минут) или текстовой строкой со спецификацией периода: например,

"3m" — 3 минуты; "4h" — 4 часа; "5d" —
рабочих дней; "6w" — 6 рабочих недель;
"7mon" — 7 рабочих месяцев; "8ed" —
24-часовых периодов рабочего времени;
           

"9ew" — 9 168-часовых периодов рабочего вре-мени; "10emon" — 10 720-часовых периодов рабочего времени. Продолжительность рабочего дня, рабочей недели и рабочего месяца устанав-ливается параметрами текущего проекта (Сервис

 

Параметры…Календарь). Если агру-

 

мент c опущен, используются календари, назна-ченные текущей строке таблицы работ или ре-сурсов, а при отсутствии таковых — календарь проекта.

 

— функция аналогична projdateadd, но вычисляется дата, предшествующая d на период n.

 

— вычисляет продолжительность периода n, задан-

 

ного так же, как в функции projdateadd, — в минутах.

 

— количество минут рабочего времени между дата-ми d1 и d2 согласно календарю c. Если аргумент c опущен, используются календари, назначенные текущей строке таблицы работ или ресурсов, а при отсутствии таковых — календарь проекта.

 

— вычисляет продолжительность периода n, задан-

 

ного так же, как в функции projdateadd, в еди-ницы, заданные флагом f. Флаг должен содер-жать целое значение. Нечётные значения от 3 до 11 обозначают единицы рабочего времени —


  минуты, часы, дни, недели, месяцы. Чётные от  
  4 до 12 — соответствующие единицы астроно-  
  мического времени.    
Текстовые функции    
format(x,f) — отображение числа или даты x по формату f.  
Например: format(cdate("15.1.04 10:30"), "hh ч. mm  
♦ функция  

мин. d mmmm yyyy г.") выдаст текст "10 ч. 30 мин. 15 января 2006 г.";

 

♦ функция format(cdate("5.1.06 10:30"), "dd mmm yyг. в hh:mm") выдаст текст "05 янв 04г. в 10:30";

 

♦ функция format(3.14159, "#.###") выдаст текст "3.142";

 

♦ функция format(0.14159, "#.###") выдаст текст ".142";

 

♦ функция format(3.14, "000.000") выдаст текст "003.140".

 

instr(n,b,s,c) — номер символа, начиная с которого в строке b со-  
  держится строка s, или 0. Аргумент c определяет  
  правила сравнения: с учётом регистра (0) или без  
len(s) учёта (4).  
— число символов в строке s.  
lcase(s),ucase(s), — перевод текста s в строчной и заглавный регистры  
ltrim(s),rtrim(s) соответственно.  
— возвращают исходный текст (s), удалив соответ-  
  ственно начальные или конечные пробелы (если  
space(n) имелись).  
— возвращает строку, состоящую из n пробелов.  
mid(s,i,l) — возвращает подстроку строки s, начинающуюся с  
  i-го символа и имеющую длину l (если аргумент l  
  опущен — до конца строки).  



2015-11-08 972 Обсуждений (0)
Операторы и наиболее употребительные функции, используемые в формулах расчёта значений полей, определяемых пользователем 0.00 из 5.00 0 оценок









Обсуждение в статье: Операторы и наиболее употребительные функции, используемые в формулах расчёта значений полей, определяемых пользователем

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (972)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)