Advertisement
dondonondon

memanggilParam

Jan 13th, 2019
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. procedure ThreadLearning.MemanggilDataPredNormalisasi;
  2. var Baris, Kolom, i: integer;
  3. x1 : double;
  4. SQLAdd, Range : string;
  5. begin
  6. with FMain do
  7. begin
  8. try
  9. if FMain.lblRangeWaktu.Text = 'Mingguan' then
  10. Range := 'WEEK'
  11. else if FMain.lblRangeWaktu.Text = 'Bulanan' then
  12. Range := 'MONTH'
  13. else if FMain.lblRangeWaktu.Text = 'Tahunan' then
  14. Range := 'YEAR';
  15.  
  16. SQLAdd := 'left join tbl_region re ON re.id_region = t.id_region '#13 +
  17. 'left join tbl_jenis je ON re.id_jenis = je.id_jenis '#13 +
  18. 'where '#13 +
  19. 'je.id_jenis = ''1'' and '#13 +
  20. 're.id_region = ''1'' ';
  21.  
  22. {fnSQLAdd(DM.Qtemp1, 'Select * from tbl_hargaemas order by tgl_hargaemas desc limit 7', True);
  23. fnSQLOpen(DM.Qtemp1);
  24.  
  25. fnSQLAdd(DM.Qtemp2, 'Select (harga / '+ FloatToStr(MaxFix) +') as harga from tbl_hargaemas order by tgl_hargaemas desc limit 7', True);
  26. fnSQLOpen(DM.Qtemp2);}
  27.  
  28. fnSQLAdd(DM.Qtemp2, 'SELECT (harga/(select MAX(harga + 1) as max from tbl_hargaemas he '#13 +
  29. 'LEFT JOIN tbl_region re ON re.id_region = he.id_region '#13 +
  30. 'LEFT JOIN tbl_jenis je ON re.id_jenis = je.id_jenis '#13 +
  31. 'WHERE '#13 +
  32. 'je.id_jenis = ''1'' and '#13 +
  33. 're.id_region = ''1'')) as harga '#13 +
  34. 'FROM ( '#13 +
  35. ' SELECT MAX(tgl_hargaemas) AS maxdate '#13 +
  36. ' FROM tbl_hargaemas t '#13 + SQLAdd +
  37. ' GROUP BY YEAR(tgl_hargaemas), '+ Range +'(tgl_hargaemas) '#13 +
  38. ') AS g '#13 +
  39. 'INNER JOIN tbl_hargaemas t ON g.maxdate = t.tgl_hargaemas '#13 + SQLAdd +
  40. 'order by tgl_hargaemas desc limit 7', True);
  41. //FMain.Memo1.Lines.Add(DM.Qtemp2.SQL.Text);
  42. //FMain.Memo1.Lines.Add('');
  43. //FMain.Memo1.Lines.Add('');
  44. fnSQLOpen(DM.Qtemp2);
  45.  
  46. SetLength(DtPredNorm, 1, InputLayer+1);
  47. with DM.QTemp2 do
  48. begin
  49. First;
  50. begin
  51. for Baris:= 0 to 0 do
  52. begin
  53. for Kolom:= 0 to (InputLayer) do
  54. begin
  55. if Baris + Kolom <= DM.QTemp2.RecordCount then
  56. begin
  57. DtPredNorm[Baris, Kolom]:= FieldByName('harga').AsFloat;
  58. //FMain.Memo1.Lines.Add(FloatToStr(DtPredNorm[Baris, Kolom]) + '('+IntToStr(Baris) +',' +IntToStr(Kolom) +')' );
  59. DM.QTemp2.Next;
  60. end
  61. else
  62. DtPredNorm[Baris, Kolom]:= 0;
  63. end;
  64. First;
  65. for i:= 0 to Baris do
  66. DM.QTemp2.Next;
  67. end;
  68. end;
  69. end;
  70. with FMain do
  71. begin
  72. edX1.Text := FormatFloat('###,###.##',DtPredNorm[0, 0] * MaxFix);
  73. edX2.Text := FormatFloat('###,###.##',DtPredNorm[0, 1] * MaxFix);
  74. edX3.Text := FormatFloat('###,###.##',DtPredNorm[0, 2] * MaxFix);
  75. edX4.Text := FormatFloat('###,###.##',DtPredNorm[0, 3] * MaxFix);
  76. edX5.Text := FormatFloat('###,###.##',DtPredNorm[0, 4] * MaxFix);
  77. edX6.Text := FormatFloat('###,###.##',DtPredNorm[0, 5] * MaxFix);
  78. edX7.Text := FormatFloat('###,###.##',DtPredNorm[0, 6] * MaxFix);
  79. end;
  80. Except
  81. FMain.lblStatusKoneksi.Text := 'Error';
  82. end;
  83. end;
  84. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement