tekst zdatka je dobar, ali primer koji si dao da bi objasnio ne valja.
Ovo je dobro:
Citat:
-Data je tabela tblFakture u kojoj se nalaze fakture kupaca. Potrebno je napraviti izveštaj koji kategorizuje kupce prema ukupnom prometu u proteklih 12 meseci.
Klasa kupaca Promet
A A 50%
B A+B 75%
C A+B+C 90%
D A+B+C+D 97%
E A+B+C+D+E 99%
F A+B+C+D+E+F 99,90%
G A+B+C+D+E+F+G 100%
Znači, u klasu A spadaju kupci čiji promet čini 50% ukupnog prometa u zadatom periodu; kada se uzmu u obzir klase A i B oni pokrivaju 75% ukupnog prometa, itd.
Polja tabele su: INVOICEDATE-datum fakture; ORDERACCOUNT-šifra kupca; INVOICEAMOUNT-iznos fakture
Nije dobro kako si razumeo zadatak, jer si morao da promenis granice. to ti niko nije dozvolio. A morao si da promenis granice jer ili nisi razumeo sta se trazi ili ne umes da objasnis.
Prime u Accessu koji si zakacio je mnogo bolji. Tvoj zadatka trazi sledece:
1. napravi ZbirPoKupcu = SUM(INVOICEAMOUNT) po svakom kupcu i te zbirove sortiraj po velicini, najveci na prvom nestu, najmanji na poslednjem. To izgleda ovako u Access primeru koji si dao:
Kupac ZbirPoKupcu
8 172,930.23
15 122,683.50
4 114,386.80
14 56,859.10
10 51,449.54
....
....
polsednjih nekoliko redova:
Kupac ZbirPoKupcu
6 24,020.60
5 21,940.45
11 21,115.30
16 14,116.36
Kveri kojim sam ovo dobio je qryZbirPoKupcu
2. Izracunaj procente od ukupne sume, to izgleda ovako:
Kupac ZbirPoKupcu Total ProcentaPoKupcu
8 172,930.23 1,035,798.32 16.70%
15 122,683.50 1,035,798.32 11.84%
4 114,386.80 1,035,798.32 11.04%
14 56,859.10 1,035,798.32 5.49%
10 51,449.54 1,035,798.32 4.97%
....
....
nekoliko poslednjih redova:
Kupac ZbirPoKupcu Total ProcentaPoKupcu
6 24,020.60 1,035,798.32 2.32%
5 21,940.45 1,035,798.32 2.12%
11 21,115.30 1,035,798.32 2.04%
16 14,116.36 1,035,798.32 1.36%
Ovo je odradio qryZBirPoKupcu_Procenti.
3. Napravi kumulativni zbir ProcenataPoKupcu, running sum. Vidi qryKumulativPct.
Ovo zasluzje da se pokaze celo:
Kupac ProcentaPoKupcu KmulatilPct
8 16.70% 16.70%
15 11.84% 28.54%
4 11.04% 39.58%
14 5.49% 45.07%
10 4.97% 50.04%
21 4.77% 54.81%
13 4.71% 59.52%
3 4.59% 64.11%
18 4.19% 68.30%
19 4.00% 72.30%
2 3.20% 75.51%
9 3.02% 78.53%
17 2.88% 81.41%
20 2.84% 84.24%
12 2.83% 87.08%
7 2.64% 89.72%
1 2.44% 92.16%
6 2.32% 94.48%
5 2.12% 96.60%
11 2.04% 98.64%
16 1.36% 100.00%
Sad vidis da kupci 8,15,14,4 zajedno cine skoro 45.7% od ukupne prodaje. Eto tvoje klase A : 0< kumulativ <=50
Klasu B cine kupci u grupi sa vise od 50 a manje od 75%, dakle 50< KumulativPct <=75, a to su 10,21,13,3,18 i 19.
Klasu C cine kupci gde je 75< KumulativPct <=90 a to su 2,9,17,20,12, i 7
Klasu D cine kupci ciji su kumulativi 90< Kumulativ <=95, a to su 1 i 6
Klasu E cine oni gde je 95< KumulativPct <=97 a to je kupac 5
Kupac 11 je ocigledno u klasi F i kupac 16 u klasi G.
Klase naravno moze da izracuna i kveri. Umesto monster IIF, mozemo da kreiramo tabelicu koja pamti opsege za klase i onda sve postaje trivijalno lako - vidi kveri qryKlase:
Kupac ProcentaPoKupcu KmulatilPct Klasa
8 16.70% 16.70% A
15 11.84% 28.54% A
4 11.04% 39.58% A
14 5.49% 45.07% A
10 4.97% 50.04% B
21 4.77% 54.81% B
13 4.71% 59.52% B
3 4.59% 64.11% B
18 4.19% 68.30% B
19 4.00% 72.30% B
2 3.20% 75.51% C
9 3.02% 78.53% C
17 2.88% 81.41% C
20 2.84% 84.24% C
12 2.83% 87.08% C
7 2.64% 89.72% C
1 2.44% 92.16% D
6 2.32% 94.48% D
5 2.12% 96.60% E
11 2.04% 98.64% F
16 1.36% 100.00% H
AKo koristis MS QL server, ovo sve naravno moze da se strpa u jedan kveri. teorijski, moze i u Accessu jedan kveri, ali sus anse da ce ti pucati program zbog 'query too complex'. Verujem da je sistem kvarija jednostavniji za razumevanje.
Verujm da sad razumes zasto tvoji podaci koje si naveo u poruci nisu dobri i mogu da zbune resavaca zadatka. Ovo sto smo odradili ima svoje ime, u statistici se to zove 'percentiles' ili slicno