Могу ли я создать X номеров Series с помощью Chart Control для линейного графика на основе данных, возвращаемых Asp.net vb

Я буду разрабатывать некоторые схемы для проекта... в данный момент я просто создаю документ спецификации для хранимых процедур, и некоторые биты кажутся мне загадкой...

Я буду использовать ASP.net Chart Control. Диаграмма будет представлять собой линейный график и отображает показатели продаж для продукта за год. Показатели продаж могут составлять в квартал года до 3 показателей в год, но могут составлять всего один или два квартала для некоторых продуктов или несколько лет. Работа с базой данных будет выполняться разработчиком базы данных. Мне потребуется запросить к нему интерфейс хранимой процедуры. Итак, я буду передавать ProductID и год, когда я хочу найти цифры продаж.

Что было бы проще всего разработать на стороне.net (включая разработку Chart Control), если бы я запросил хранимую процедуру для возврата данных о продажах из базы данных либо - -

Могу ли я попросить вернуть набор данных, содержащий таблицы, которые представляют цифры продаж за кварталы? Одна таблица в наборе данных представляет один показатель продаж за квартал. Я не знаю, сколько таблиц будет в наборе данных.

Или я могу попросить вернуть большую таблицу данных, которая содержит все данные о продажах за год для продукта. И нужно ли фильтровать себя в коде и заполнять диаграмму? Если бы мне пришлось отфильтровать себя, что было бы лучше всего сделать?

Диаграмма должна быть достаточно гибкой, чтобы отображать 1, 2 или 3 серии линейных графиков на основе данных, возвращаемых любым из вышеперечисленных.

Спасибо,

L

1 ответ

Насколько я понимаю, вам нужно добавить диаграмму с диапазоном дат (недели, месяцы или кварталы) в качестве оси X и SaleData на оси Y. Лучший способ - получить данные в одной таблице, сгруппированной по дате продажи.

На основании минимальной даты продажи и максимальной даты продажи, доступных в вашей таблице, вы можете установить тип x-AxisInterval

int dateDifference = EndDate.Value.Subtract(StartDate.Value).Days;

            if (dateDifference <= 15)
            {
                chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days;

            }
            else if (dateDifference > 15 && dateDifference <= 60)
            {
                chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Weeks;

            }
            else if (dateDifference > 60)
            {
                chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Months;

            }
Другие вопросы по тегам