002 - Crearea cross-intabulare în Delfi, bestprog

Utilizarea instrumentelor de sistem de programare Delphi-7 pentru a face masa de cruce pe următoarele două dimensiuni: numele produsului și prețul unitar. De asemenea, efectuează însumarea pe coloane și rânduri într-un tabel.

Crearea unei baze de date cu mydb alias. Crearea unei baze de date tabel numit «tovar.db» având structura în funcție de starea problemei.

  1. Componentele pentru a crea un tabel transversală.

Pentru a crea o componente transversală tabelare folosite în Delphi fila sistem de programare «Decizia Cubul» paleta componente (fig. 1).

Fig. 1. Tab „Decizia Cube“ din paleta de componente

Pentru a începe, scoate forma din următoarele patru componente la fila «Decizie Cube»:

- componenta de tip TDecisionCube (implicit este numele DecisionCube1);

- componenta de tip TDecisionQuery (implicit este numele DecisionQuery1);

- componenta de tip TDecisionSource (implicit este numele DecisionSource1);

- componenta de tip TDecisionGrid (nume implicit DecisionGrid1).

Dintre aceste patru componente numai TDecisionGrid pentru afișarea tabel de date.

Forma cu plasarea componentelor este (figura 2)

002 - Crearea cross-intabulare în Delfi, bestprog

Fig. 2. Forma principală a componentelor aplicației DecisionCube1, DecisionQuery1, DecisionSource1, DecisionGrid1

Folosind Object Inspector stabilit următoarele proprietăți pentru componentele:

- în componenta DataSet DecisionCube1 proprietate este setat egal cu DecisionQuery1;

- componenta DecisionQuery1 databasename proprietatea este setată la «mydb»;

- componenta proprietatea DecisionSource1 DecisionCube este setată la DecisionCube1;

- în DecisionGrid1 proprietate DecisionSource încă DecisionSource1.

Tuning de masă direct perehrestnoy făcut componentă DecisionQuery1. Pentru a accesa fereastra de configurare trebuie să faceți clic pe butonul din dreapta al mouse-ului și selectați «Decizia de interogare Editor ...» din meniul contextual. O altă metodă de apel - dublu click în componenta DecisionQuery1 (figura 3).

002 - Crearea cross-intabulare în Delfi, bestprog

Ca rezultat, deschis «Decizia de interogare Editor» fereastră (fig. 4).

002 - Crearea cross-intabulare în Delfi, bestprog

După cum se vede din figură, fereastra are două file:

- fila «Dimensiuni / Rezumate» permite câmpuri de masă setare și funcția de agregare (suma suma totală, etc.) pe baza cărora se efectuează calculele;

- Tab «SQL Query» permite să descrie interogarea tabelul în limba SQL.

În această fereastră, următoarele domenii sunt disponibile:

- zona «Lista de câmpuri disponibile» afișează informații despre câmpurile tabelului selectat din listă (câmp) de masă;

- zona Dimensiuni afișează informații despre câmpurile de masă, care au dimensiuni pe baza cărora funcțiile agregate calculate (suma medie și așa mai departe);

- Zona Rezumate afișează toate funcțiile agregate sunt aplicate la masa;

- Câmpul Tabelul prezintă tabelul bazei de date pentru care calculele sunt efectuate;

- câmp Baza de date specifică baza de date la care sunt calculele efectuate tabele.

În acest caz, selectați tabelul «tovar.db» Bazi danih «mydb».

002 - Crearea cross-intabulare în Delfi, bestprog

002 - Crearea cross-intabulare în Delfi, bestprog

Fig. 6. Adăugarea funcțiilor agregate

002 - Crearea cross-intabulare în Delfi, bestprog

După setarea componentelor TDecisionQuery mozhna pentru a gestiona setările componentelor TDecisionCube.

002 - Crearea cross-intabulare în Delfi, bestprog

Aceasta deschide "Decizia Cube Editor" (fig. 9).

002 - Crearea cross-intabulare în Delfi, bestprog

Fereastra conține două file: «Dimensiune Setări» și «Memorie control».

În prima filă «Setări Dimension» puteți defini un număr de setări pentru dimensiunile cub. Tab include următoarele câmpuri:

- câmpul «Numele de afișare» specifică numele care va apărea în TDecitionGrid componentei de date;

- «tip» listă care specifică tipul de câmp. În cazul nostru, lista nu este disponibilă, deoarece informațiile sunt extrase din componenta TDecisionQuery;

- lista «Tip active» setează timpul de încărcare într-o bază de date de memorie ( «după cum este necesar» - acolo unde este cazul, «activ» - întotdeauna, «Inactiv» - niciodată);

- o linie de «Format» vă permite să setați formatul valorilor afișate;

- O listă derulantă «Gruparea» vă permite să grupați datele în funcție de timp.

În acest caz, lăsați-o așa, fără modificări.

Dacă pașii anteriori au fost efectuate corect, este posibil să se afișeze tabel încrucișat. Pentru a face acest lucru, DecisionQuery1 proprietatea activă componentă este setată la true.

Ca urmare, forma programului va fi după cum urmează (Fig. 10).

002 - Crearea cross-intabulare în Delfi, bestprog

Fig. 10. Vezi formulare după efectuarea setărilor

După pornirea programului pentru a efectua eco-get masă (fig. 11).

002 - Crearea cross-intabulare în Delfi, bestprog

Fig. 11. Ieșirea programului

În această lucrare vom studia crearea de bază eco-intabulare în Delphi-7 Programarea sistemului.

Pentru organizarea de tabele încrucișate, următoarele componente din paleta «Decizie Cube»:

- componenta de afișare TDecisionGrid.

Pre-baze de date și tabel trebuie să fie creată prin intermediul bazei de date de utilitate desktop care ruleaza ca un instrument pentru lucrul cu baze de date în sistemul Delphi -7 programare.

În acest exemplu, creați un tabel în două dimensiuni. Utilizatorul poate, la discreția sa, de a crea tabele încrucișate cu un număr mare de măsurători. Creșterea de măsurare complică percepția generate datele din tabel. Prin urmare, se recomandă ca numărul de dimensiuni a variat între 2 și 4.