Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Анализ работы фирмы.






Анализ работы фирмы включает две возможности: расчет динамики доходов фирмы и анализ продаж. Вкладка для расчета динамики доходов имеет следующий вид:

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

//процедура главной формы

procedure TForm2.btOKanalisClick(Sender: TObject);

begin

with Chart1.Series[0] do

begin

clear;

DataModule1.ProfitDinamic(edYear.text);

DataModule1.qProfitDinamic.First;

while not (DataModule1.qProfitDinamic.Eof) do

begin

AddY(StrToFloat(DataModule1.qProfitDinamic.FieldValues['profit'],

DataModule1.qProfitDinamic.FieldValues['mesyac']);

DataModule1.qProfitDinamic.Next;

end;

end;

end;

 

//процедура модуля данных

procedure TDataModule1.ProfitDinamic (yearAnalysis: string);

begin

qProfitDinamic.Active: =False;

qProfitDinamic.ParamByName ('YearAnalysis').AsInteger: = StrToInt(yearAnalysis);

DataModule1.qProfitDinamic.Active: =True;

end;

 

Код SQL-запроса:

select extract(month from DATEOFSAIL) mesyac, sum (Profit) profit

from PROFIT

where extract (year from dateofsail)=: yearAnalysis

group by extract(month from DATEOFSAIL)

 

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

//процедура главной формы

procedure TForm2.btOKanalisClick(Sender: TObject);

begin

with Chart1.Series[0] do

begin

clear;

DataModule1.ProfitDinamic(edYear.text);

DataModule1.qProfitDinamic.First;

while not (DataModule1.qProfitDinamic.Eof) do

begin

AddY(StrToFloat(DataModule1.qProfitDinamic.FieldValues['profit'],

DataModule1.qProfitDinamic.FieldValues['mesyac']);

DataModule1.qProfitDinamic.Next;

end;

end;

end;

 

//процедура модуля данных

procedure TDataModule1.ProfitDinamic (yearAnalysis: string);

begin

qProfitDinamic.Active: =False;

qProfitDinamic.ParamByName ('YearAnalysis').AsInteger: = StrToInt(yearAnalysis);

DataModule1.qProfitDinamic.Active: =True;

end;

 

Код SQL-запроса:

select extract(month from DATEOFSAIL) mesyac, sum (Profit) profit

from PROFIT

where extract (year from dateofsail)=: yearAnalysis

group by extract(month from DATEOFSAIL)

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

 

В текстовом поле нужно задать год, за который будут выведены продажи. При нажатии на кнопку ОК полученные данные будут сформированы в таблицу, при нажатии на кнопку Напечатать отчет данные будут выведены в виде отчета.

//процедура главной формы для кнопки ОК

procedure TForm2.btOKReportClick(Sender: TObject);

begin

DataModule1.SailAnalysis(edYearReport.Text);

end;

//процедура главной формы для кнопки Напечатать отчет

procedure TForm2.btPrintReportClick(Sender: TObject);

begin

DataModule1.SailAnalysis(edYearReport.Text);

Form1.QRLabel3.Caption: = edYearReport.Text;

Form1.QuickRep1.Preview;

end;

//процедура модуля данных

procedure TDataModule1.SailAnalysis (YearCode: string);

begin

qSailAnalysis.Active: = False;

qSailAnalysis.ParamByName('YearCode').AsInteger: = StrToInt(YearCode);

DataModule1.qSailAnalysis.Active: = True;

end;

Код SQL-запроса:

select FIO, sum(QUANTITY)quantity, sum(COST)cost

from PASS join client on pass.CLIENTCODE=client.CLIENTCODE

join profit on pass.CODEOFPASS=profit.CODEOFPASS

where extract(year from DATEOFSAIL) =: YearCode

group by fio

 

Запрос позволяет выбрать данные для построения отчета: ФИО клиента, количество купленных этим клиентом путевок и их общая стоимость. Анализ данных производится за год. Анализируемый год: YearCode запрос получает из приложения.

Вид отчета в режиме конструктора:

Результат выполнения:

Пример построения отчета:






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.