Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure ThreadLearning.MemanggilDataPredNormalisasi;
- var Baris, Kolom, i: integer;
- x1 : double;
- SQLAdd, Range : string;
- begin
- with FMain do
- begin
- try
- if FMain.lblRangeWaktu.Text = 'Mingguan' then
- Range := 'WEEK'
- else if FMain.lblRangeWaktu.Text = 'Bulanan' then
- Range := 'MONTH'
- else if FMain.lblRangeWaktu.Text = 'Tahunan' then
- Range := 'YEAR';
- SQLAdd := 'left join tbl_region re ON re.id_region = t.id_region '#13 +
- 'left join tbl_jenis je ON re.id_jenis = je.id_jenis '#13 +
- 'where '#13 +
- 'je.id_jenis = ''1'' and '#13 +
- 're.id_region = ''1'' ';
- {fnSQLAdd(DM.Qtemp1, 'Select * from tbl_hargaemas order by tgl_hargaemas desc limit 7', True);
- fnSQLOpen(DM.Qtemp1);
- fnSQLAdd(DM.Qtemp2, 'Select (harga / '+ FloatToStr(MaxFix) +') as harga from tbl_hargaemas order by tgl_hargaemas desc limit 7', True);
- fnSQLOpen(DM.Qtemp2);}
- fnSQLAdd(DM.Qtemp2, 'SELECT (harga/(select MAX(harga + 1) as max from tbl_hargaemas he '#13 +
- 'LEFT JOIN tbl_region re ON re.id_region = he.id_region '#13 +
- 'LEFT JOIN tbl_jenis je ON re.id_jenis = je.id_jenis '#13 +
- 'WHERE '#13 +
- 'je.id_jenis = ''1'' and '#13 +
- 're.id_region = ''1'')) as harga '#13 +
- 'FROM ( '#13 +
- ' SELECT MAX(tgl_hargaemas) AS maxdate '#13 +
- ' FROM tbl_hargaemas t '#13 + SQLAdd +
- ' GROUP BY YEAR(tgl_hargaemas), '+ Range +'(tgl_hargaemas) '#13 +
- ') AS g '#13 +
- 'INNER JOIN tbl_hargaemas t ON g.maxdate = t.tgl_hargaemas '#13 + SQLAdd +
- 'order by tgl_hargaemas desc limit 7', True);
- //FMain.Memo1.Lines.Add(DM.Qtemp2.SQL.Text);
- //FMain.Memo1.Lines.Add('');
- //FMain.Memo1.Lines.Add('');
- fnSQLOpen(DM.Qtemp2);
- SetLength(DtPredNorm, 1, InputLayer+1);
- with DM.QTemp2 do
- begin
- First;
- begin
- for Baris:= 0 to 0 do
- begin
- for Kolom:= 0 to (InputLayer) do
- begin
- if Baris + Kolom <= DM.QTemp2.RecordCount then
- begin
- DtPredNorm[Baris, Kolom]:= FieldByName('harga').AsFloat;
- //FMain.Memo1.Lines.Add(FloatToStr(DtPredNorm[Baris, Kolom]) + '('+IntToStr(Baris) +',' +IntToStr(Kolom) +')' );
- DM.QTemp2.Next;
- end
- else
- DtPredNorm[Baris, Kolom]:= 0;
- end;
- First;
- for i:= 0 to Baris do
- DM.QTemp2.Next;
- end;
- end;
- end;
- with FMain do
- begin
- edX1.Text := FormatFloat('###,###.##',DtPredNorm[0, 0] * MaxFix);
- edX2.Text := FormatFloat('###,###.##',DtPredNorm[0, 1] * MaxFix);
- edX3.Text := FormatFloat('###,###.##',DtPredNorm[0, 2] * MaxFix);
- edX4.Text := FormatFloat('###,###.##',DtPredNorm[0, 3] * MaxFix);
- edX5.Text := FormatFloat('###,###.##',DtPredNorm[0, 4] * MaxFix);
- edX6.Text := FormatFloat('###,###.##',DtPredNorm[0, 5] * MaxFix);
- edX7.Text := FormatFloat('###,###.##',DtPredNorm[0, 6] * MaxFix);
- end;
- Except
- FMain.lblStatusKoneksi.Text := 'Error';
- end;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement