powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Определение количества кварталов
4 сообщений из 4, страница 1 из 1
Определение количества кварталов
    #37521546
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть 2 даты: дата начала 01.01.2011 и дата окончания -01.12.2011.
Как программно определить сколько кварталов входит этот диапазон дат?

Как получить номер квартала я знаю
datepart1=QUARTER(01.01.2011 )
datepart2=QUARTER(01.12.2011 )

Квартал это 3 месяца:

Квартал 1: январь - февраль - март
Квартал 2: апрель -май - июнь
Квартал 3: июль - август - сентябрь
Квартал 4: октябрь - ноябрь - декабрь
...
Рейтинг: 0 / 0
Определение количества кварталов
    #37521662
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие месяцы относятся к кварталу, мы представляем

Но вопрос странный:
Код: plaintext
NumQ=Quarter2-Quarter1+ 1 
...
Рейтинг: 0 / 0
Определение количества кварталов
    #37521737
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос не странный, вопрос бессмысленный, поскльку нет четкого алгоритма описывающего что считать "кварталом". Вот есть между датами разница в 90 дней - это сколько кварталов?

Может быть несколько алгоритмов, каждый из которых будет давать разные значения. Причем, все они будут "правильными". Просто разными. Предназначенные для решения разных задач.
...
Рейтинг: 0 / 0
Определение количества кварталов
    #37525549
SSn888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМ,

Даты старта-финиша получены с интерфейса или лежат в БД?
База - фоксовая или что иное?

Если (а вдруг...) инфа берется из SQL - то у Вас есть шанс оперативно это решить - смотрите в сторону функции dateif(имяпериода, начдата, концдата)

Если иное - попробуйте (ща меня тут начнут кусать что неизящно и криво ;)... но - как быстрый вариант)
1) Создаете курсорчик с диапазонами кварталов (начало и конец определите примерно)
st fin
01.01.2009 31.03.2009
....
01.10.2011 31.12.2011
2) Определяете принадлежность дат
SELECT ;
IIF(startdate >= st, .T., .F.) AS startIn;
IIF(finishdate <= fin, .T., .F.) AS finishIn;
FROM....
3) Считаете количество записей, где startIn и finishIn - Федя...
SELECT COUNT(...
это и будет количество полных кварталов в указанном Вами диапазоне
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Определение количества кварталов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]