Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
LordXaosa
34 / 21 / 2
Регистрация: 31.03.2009
Сообщений: 362
1

Рисование графика с "дырками" в датах

12.04.2011, 00:00. Просмотров 829. Ответов 2
Метки нет (Все метки)

есть бд, в колонке одной таблицы пишутся какие либо даты, есть выборка которая выбирает даты за последние 3 месяца (90 дней) даты могут быть 1,2,3,5,10,11,12,20,30 и т.д. то есть не по порядку, с пропусками, как мне можно последовательно записать все даты по порядку, и там где даты не существует, проставить "дырку" то есть ноль, делаю график, и смотрится некрасиво когда идет, скажем, первое, второе, третье и сразу десятое апреля...
выборка идет так:
SQL
1
2
SELECT SUM(profit) AS summa, DATE_FORMAT(DATE,'%Y-%m-%d') AS dt FROM profits 
        WHERE DATE >= '"+tma+"' AND DATE < NOW() AND struct_id="+s+" GROUP BY dt
и результат может быть таким:
"summa" "dt"
"45.13" "2011-03-14"
"4.97" "2011-03-15"
"5.16" "2011-03-16"
"54.43" "2011-03-18"
"20.46" "2011-03-19"
"-37.77" "2011-04-03"
"10.28" "2011-04-11"

соответственно и график покажет все по порядку, а хочется сделать авто заполнение нулей на пропущенные даты, тоесть чтото вроде

"5.16" "2011-03-16"
"0.00" "2011-03-17"
"54.43" "2011-03-18"
"20.46" "2011-03-19"
"0.00" "2011-03-20"
...
"0.00" "2011-04-10"
"10.28" "2011-04-11"

как это можно сделать грамотно на C#? с перебором не хотелось бы мараться... ожидается много запросов на эту часть, поэтому перебор может быть долго...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 00:00
Ответы с готовыми решениями:

Как "Истина"/"Ложь" переделать в "True"/"False"?
собснно сабж. есть w2000 server. русский IE. где-то в скрипте на сервере (VB) выдает CStr(True) =...

Загрузка nuget пакета. У "Newtonsoft.Json" уже есть зависимость, определенная для "Microsoft.CSharp"
Пытаюсь подключить пакет для работы с telegram api но постоянно выпадает ошибка: Install-Package...

При вызове метода sqlDataAdapter.Fill(dataSet, "T_Vhod_doc") происходит ошибка "Login failed for user"
Доброго времени суток! При вызове метода sqlDataAdapter.Fill(dataSet, &quot;T_Vhod_doc&quot;) происходит...

Переход с помощью кнопок "назад"/"вперед" с востановлением значений полей
Есть небольшая поисковая система на основе АСП... работает один файл result.asp c параметром text...

Как вызвать что-то типа MsgBox-а с кнопками "Да" и "Нет" ?
И чтоб при нажатии на 'Да' переходила на указанную ссылку, а при нажатии на 'Нет' ничего не...

2
Johnny_D
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,842
12.04.2011, 12:13 2
LordXaosa, поделюсь своим опытом, я заводил в базе таблицу - календарик. И все таки события делал через left join.
0
miko77
2 / 2 / 0
Регистрация: 04.05.2011
Сообщений: 5
04.05.2011, 21:01 3
На вскидку:

1. Вытаскиваешь данные из базы в коллекцию, сортируешь по дате.
2. Делаешь цикл по дням от самой старой до самой последней даты (можно через TimeSpan.TotalDay, получаешь ее как разницу ст. и мл. дат в твоей коллекции)
3. Делаем цикл for от 0 до i < TotalDays
4. В цикле к начальной дате прибавляем i дней (date = date.AddDays(i)
5. Проверяем, если такой даты в твоей коллекции нет, то вставляем в нее новый элемент с date и 0.00 в качестве значения
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2011, 21:01

<input type="file" name="fileImported"> с заведомым путем открытия.
Zdorovo narod! Nado otkrit 'Choose File' okoshko. Ya ispolzuyu &lt;input type='file'...

web.config, <customErrors mode="On" defaultRedirect="~/error.aspx" />
у меня на локальном сервере IIS, лежит папка website12, а в ней файлы aspx и aspx.cs , когда...

Манипуляции с данными: "Неправильный синтаксис около конструкции "nvarchar""
На странице сайта у меня есть таблица которая взята из базы данных таблиц несколько и все связанны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru