Оформление
Часто используемые формулы даты
1. Обзор
В операциях с данными типа дата часто встречаются операции получения текущей даты, получения текущего времени, получения даты года, месяца и дня и так далее.
Эта статья знакомит с общими функциями обработки даты в FineBI.
Примечание: Одно из полей даты должно быть выбрано из полей в левой части окна редактирования функции и не может быть введено вручную.
2. Получение указанной даты и времени
| Содержание реализации | формулы | в конце концов | |
|---|---|---|---|
| Получить текущее время | |||
| Получение текущей даты (месяц и год) | =today() | Если системная дата равна 11 ноября 2011 года, возвращаемое значение будет 2011-11-11 | |
| Получение текущего времени (часы, минуты, секунды) | =now() | Если формат ячейки обычный, а системная дата - 20 июня 2012 года, то возвращается значение 2012-06-20 14:55:57 | |
| Получение года, месяца и дня даты | |||
| Получить год | =year("2011-11-11") | Возвращаемое значение - 2011 | |
| Получить месяц | =month("2011-11-11") | Возвращаемое значение равно 11 | |
| Получить дату | =day("2011-11-11") | Возвращаемое значение равно 11 | |
| Получите день года/квартала/месяца/недели. | |||
| вчера | NOW()-1 | Если системное время равно 2021-11-09 11:43:53, вернитесь к 2021-11-08 11:43:53 | |
| Первый день года | DATE(YEAR(NOW()),01,01) | Если системное время равно 2011-11-11, то верните 2011-01-01 | |
| Последний день месяца | DATE(YEAR(TODAY()),MONTH(TODAY()),DAYSOFMONTH(TODAY())) | Если системное время 2021-11-11, вернитесь к 2021-11-30 | |
| Количество дней в месяце | DAYSOFMONTH(now()) | Еслисистемное время равно 2021-11-11, верните 30 | |
| Сколько дней прошло с тех пор? | DATEDIF(date(year(date),month(date),DAY(date)),today(), "D") | Если дата равна 2021-10-10, а системное время - 2021-11-09, верните 29 | |
| Неделя в году | week(today()) | Если дата равна 2021-10-10, верните 41 | |
| Получить время относительно текущего месяца | |||
| в том же месяце | =MONTH(today()) | Если системная дата равна 2011-11-11, возвращаемое значение равно 11 | |
| за аналогичный период прошлого года | =YEARDELTA(today(),-1) | Если системная дата равна 2011-11-11, возвращаемое значение будет 2010-11-11 | |
| ultimo | =date(year(today()),MONTH(today())-2,day(today())) | Если системная дата равна 2011-11-11, возвращаемое значение будет 2011-09-11 | |
| ultimo | =date(year(today()),MONTH(today())-1,day(today())) | Если системная дата равна 2011-11-11, возвращаемое значение будет 2011-10-11 | |
| За тот же период прошлого года За последний месяц | =date(year(today())-1,MONTH(today())-1,day(today())) | Если системная дата равна 2011-11-11, возвращаемое значение будет 2010-10-11 | |
| Конец текущего месяца | = DATEDELTA(дата(год(MONTHDELTA(дата,1)),месяц(MONTHDELTA(дата,1)),1),-1)или DATE(YEAR(date),MONTH(date)+1,1-1) | Если системная дата равна 2011-11-11, возвращаемое значение будет 2011-11-30 | |
| Возьмите максимальное время в текущем измеренииПримечание: Применимо только к приборной панели. | FORMAT(TODATE(MAX_AGG(DATETONUMBER(DATE))), "YYYY-MM-dd HH:mm:ss") | ![]() |
3. Перевод времени
| Содержание реализации | формулы | в конце концов | |
|---|---|---|---|
| Преобразование типов данных | |||
| Преобразует строку даты в строку времени.todate() может преобразовать любые данные в форме даты в тип времени, то есть: yyyy-MM-dd. | =todate("2011/11/11") | Если системная дата равна 11 ноября 2011 года, возвращаемое значение будет 2011-11-11 | |
| Преобразование данных, основанных на времени, в форму даты в других форматахformat() | =format("2/15/2011", "dd/MM/yyyy") | Возвращаемое значение - 15/02/2011 | |
| Переход от солнечного календаря к лунному | |||
| Преобразование солнечного календаря в лунный | = лунный (2011, 10, 11) | Возвращаемое значение - дата по лунному календарю 11 октября 2011 года, то есть 15 сентября в год Синь Мао. | |
| = lunar(2011,10,1) | Возвращаемое значение - дата по лунному календарю, соответствующая 1 октября 2011 года, т.е. возвращаемое значение - пятый день девятого месяца года xinmao. |
4. Сложение и вычитание дат
Вы можете складывать или вычитать даты с помощью трех функций datedelta(),monthdelta() иyardelta() .
| Содержание реализации | формулы | в конце концов | |
|---|---|---|---|
| Преобразование типов данных | |||
| Сложение и вычитание дат | =datedelta(today(),-1)Примечание: -1 в формуле означает минус один день или плюс соответствующее количество дней, если это положительное число. | Возвращает дату дня, предшествующего текущей дате, если системная дата 2011-11-11, то возвращаемое значение будет 2011-11-10 | |
| Сложение и вычитание месяцев | =monthdelta(today(),-1) | Возвращает дату месяца, предшествующего текущей дате. Если системное время 2011-11-11, возвращаемое значение будет 2011-10-11 | |
| Сложение и вычитание лет | =yeardelta(today(),-1) | Возвращает дату года, предшествующего текущей дате. Если системная дата 2011-11-11, возвращаемое значение будет 2010-11-11 |
