Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Calcule statistice cu datele din bazele de date

fox pro



+ Font mai mare | - Font mai mic



Calcule statistice cu datele din bazele de date

Scopul principal pentru care sunt create bazele de date il reprezinta obtinerea intr-un timp cat mai scurt, a unor informatii cu privire la datele continute in bazele de date. Aceste informatii pot fi de natura diferita, mai detaliate, sau mai sintetizate, sub forma de liste, tabele, sau simple valori, informatii statistice, totalizatoare.



Comanda COUNT numara inregistrarile din domeniul specificat prin < domeniu >, FOR si WHILE, depunand rezultatul in variabila < var >, care va fi creata in cazul cand nu exista anterior executiei comenzii.

COUNT [TO <var>] [<domeniu>][FOR <cond>][WHILE <cond>]

Exemplu: numararea mijloacelor fixe a caror valoare depaseste 10000000 se face prin urmatoarea secventa de comenzi:

CLOSE ALL

USE mijloacef

COUNT FOR valoare > 10000000 TO nrmijloacef

? " In vaza de date avem " , nrmijloacef, " mijloace fixe "

? " cu valoare mai mare decat 10000000 "

In baza de date avem 3 mijloace fixe

Cu valoare mai mare decat 10000000

USE

Comanda numara articolele din baza de date activa si, daca este prezenta clauza TO <var>, depune rezultatul in variabila specificata.

Clauzele <domeniu>, FOR, WHILE limiteaza actiunea comenzii.

Observatie: Afisarea pe ecran a rezultatelor diferitelor comenzi dBASE (FoxPro) depinde de comutatorul SET TALK ON/OFF. Pentru valoarea OFF se inhiba afisarea rezultatelor.

Un alt tip de calcul ce se poate efectua asupra unei baze de date este sumarea valorii unor campuri numerice, din inregistrarile selectate. Comanda folosita este SUM si are sintaxa:

SUM [<lista-exp>] [TO <lista-var>/TO ARRAY <tablou>]

[<domeniu>][FOR <cond>][WHILE <cond>]

Comanda permite insumarea valorilor fiecarei expresii in parte pentru toate articolelel bazei de date active din domeniul precizat in <domeniu>, care verifica conditia din FOR si/sau conditia din clauza WHILE.

Clauza <lista-exp> contine expresii cu campuri ale bazei de date active.

Rezultatul poate fi afisat direct pe ecran (! atentie la starea comenzii SET TALK!), depus intr-o lista de variabile sau intr-un tablou (clauza TO ARRAY).

Implicit se vor insuma toate campurile numerice ale bazei de date si rezultatele se vor afisa pe ecran.

Exemplu: avand baza de date mijloacef.dbf, sa se calculeze procentul valoric al amortizarii relativ la valoarea totala a mijloacelor fixe:

USE mijloacef

SUM amortizare TO val_am

SUM VALOARE to val_tot

? " S-a amortizat " , val_am / val_tot * 100, " % "

? " din valoarea totala a mijloacelor fixe "

S-a amortizat 42.33 %

din valoarea totala a mijloacelor fixe

USE

O comanda asemanatoare cu comanda SUM este AVERAGE

AVERAGE [<lista-exp>] [TO <lista-var>/TO ARRAY <tablou>][<domeniu>][FOR <cond>][WHILE <cond>]

Comanda permite calculul mediei aritmetice a valorilor expresiilor din <lista-exp>, pentru articolele din baza de date activa care se incadreaza in domeniul precizat si verifica conditiile din FOR si WHILE.

Clauza <lista-expr> contine expresii avand campuri ale bazei de date. Parametrul TO <lista-var> contine lista de variabile in care se depun valorile mediilor calculate. Rezultatele pot fi depuse si intr-un tablou (clauza TO ARRAY).

Daca lipsesc toate clauzele, se va face media tuturor valorilor campurilor numerice, iar rezultatul se va afisa pe ecran (daca SET TALK este ON).

Exemplu: sa se calculeze valoarea medie a unui automobil folosind datele din baza de date mijloacef.

USE MIJLOACEF

AVERAGE VALOARE FOR UPPER ( SUBSTR ( cod, 1 ,1 )) = " A " TO medie

? " Valoarea medie a unui automobil: " , medie

Valoarea medie a unui automobil: 5432000

USE

Acelasi lucru se poate realiza si folosind comenzile SUM si COUNT, cu ajutorul carora se poate simula comanda AVERAGE:

USE MIJLOACEF

SUM VALOARE FOR UPPER ( SUBSTR ( cod, 1 ,1 )) = " A " TO val_tot

COUNT FOR UPPER ( SUBSTR ( cod, 1 ,1 )) = " A " TO nr_auto

medie = val_tot / nr_auto

? " Valoarea medie a unui automobil: " , medie

Valoarea medie a unui automobil: 5432000

USE

Pentru o serie de calcule financiare si statistice asupra campurilor bazei de date se foloseste comanda CALCULATE, cu urmatoarea sintaxa:

CALCULATE [<lista-exp>] [TO <lista-var>/TO ARRAY

<tablou>][<domeniu>][FOR <cond>][WHILE <cond>]

Comanda poate calcula valorile mai multor expresii, pe care le depune intr-o lista de variabile sau intr-un tablou. Diferenta fata de comenzile anterioare consta in continutul expresiilor din <lista-exp>.

In alcatuirea unei expresii pot intra urmatoarele functii:

1. AVG(<expn>): permite calculul mediei aritmetice a expresiei <expn> ce poate contine campuri numerile ale bazei de date active;

2. CNT(): permite numararea articolelor selectate din baza de date activa;

3. SUM(<expn>): permite insumarea valorilor expresiei <expn> ce contine campuri numerice a bazei de date;

4. MAX(<exp>): extrage cea mai mare valoare a expresiei <expn> calculata pentru fiecare articol selectat al bazei de date active;

5. MIN(<exp>): extrage cea mai mica valoare a expresiei calculata pentru fiecare articol selectat al bazei de date active.

Exemplu: sa presupunem ca avem o baza de date in care am stocat rezultatele unei experiente, valori numerice. Vom lua spre exemplu urmatoarea serie de valori: 13, 47, 35, 9, 89, 123, 75, depozitate in campul numar al bazei de date NUMERE.DBF

USE numere

CALCULATE avg ( numar ) TO media

? " Media numerelor este : " , media

CALCULATE cnt ( ) TO nr_inreg

? " Numarul de valori este : " , nr_inreg

CALCULATE max ( numar ) , min ( numar ) , sum ( numar ) ;

TO maxim, minim, suma

? " Valoarea maxima este : " , maxim

? " Valoarea minima este : " , minim

? " Suma numerelor : " , suma

CALCULATE npv ( 0.1, numar, 100 ) TO val_p

? " Valoarea prezenta este : " , val_p

CALCULATE std ( numar ) TO dev_std,

? " Deviatia standard este : " , dev_std

? " Abaterea patratica medie este " , ab_patr

USE

Un alt tip de rapoarte obtinute dintr-o baza de date este reprezentat de listele totalizatoare. Comnda care realizeaza acest total este urmatoarea:

TOTAL ON <cheie> TO <fis.dbf> [FIELDS <lista-camp>]

[<domeniu>][FOR <cond>][WHILE <cond>]

TOTAL creaza o noua baza de date numita <fis.dbf> cu aceeasi structura ca a bazei de date active. Baza de date activa este parcursa in intregime si pentru fiecare grup de articole care au aceeasi valoare a expresiei <cheie>, se adauga in baza de date <fis.dbf> cate un articol cu cheia unica a grupului si avand in campurile numerice specificate in clauza FIELDS (sau toate campurile numerice daca lipseste clauza FIELDS) valoarea insumata a valorilor fiecarui articol din grup in campul respectiv.

Exemplu: pentru a afla suma de bani platita de fiecare persoana din baza de date PLATI .DBF, se foloseste programul:

CLOSE ALL

USE plati

INDEX ON platitor TAG platitor ORDER 1

TOTAL TO totplati ON platitor

SELECT 2

USE totplati

LIST

SELECT 1

CLOSE ALL

Pentru cele trei inregistrari din baza de date, se va genera in baza de date totalizatoare TOTPLATI.DBF inregistrarea care va contine suma totalizatoare.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1338
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved