Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Klasifikacija kupaca po ukupnom prometu

[es] :: Access :: Klasifikacija kupaca po ukupnom prometu

[ Pregleda: 4056 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darkog
Obrenovac

Član broj: 82291
Poruke: 147
*.yubc.net.



+1 Profil

icon Klasifikacija kupaca po ukupnom prometu13.06.2007. u 13:14 - pre 205 meseci
Imam tabelu "Fakture" (datumFakture, KupacID, IznosFakture)

Za proteklih godinu dana ako je kupac kupio u vrednosti od 50% od ukupnog prometa u proteklih 12 meseci onda pripada Klasi A. Ako je zajedno sa kupcima iz klase A ostvario promet od 75% od ukupnog prometa u datom periodu onda je on pripada Klasi B.

Klasa C :klasa A+Klasa B = 90% ukupnog prometa

Klasa D: klasa A + Klasa B + Klasa C = 95% ukupnog prometa

... itd to klase G: klasa A + Klasa B + Klasa C + Klasa D + Klasa E + Klasa F = 100% ukupnog prometa.

Napravio sam upite:
1. Racuna ukupan promet u zadatom periodu (TotalPromet)
2. Racuna koliko je svaki kupac ostvario prometa u zadatom periodu (KupacID, SumOfPromet).

Treba da napravim izvestaj koji ce prikazivati kojoj klasi pripada koji kupac.

- Da li bih mogao nekako da resim problem upitom tj. da napravim napravim upit koji ce sadrzati, pored polja "KupacID" i "SumOfPromet" , jos polje Klasa sa podacima A, B, C, D, E, F ili G?
U SQL-u mogu pomocu funkcije IIF da biram izmedju dve vrednosti, a ovde to nije dovoljno jer se bira izmedju vise vrednosti.

Nadam se da sam dobro objasnio problem.

Rekao sam bice jos problematicnih :)




 
Odgovor na temu

darkog
Obrenovac

Član broj: 82291
Poruke: 147
*.beogrid.net.



+1 Profil

icon Re: Klasifikacija kupaca po ukupnom prometu13.06.2007. u 18:03 - pre 205 meseci
Nesto sam razmisljao.
1. QrySumOfPrometKupaca --> promet kupaca za poslednjih 12 meseci ("KupacID", "SumOfPromet")
2. QryUkupanPromet --> Ukupan promet za poslednjih 12 meseci ("TotalSum"), sadrzi samo jedan podatak - ukupan promet

Ako bih dodao jedno polje prvom upitu tako da sadrzi sledeca polja --> "KupacID", "SumOfPromet","Klasa"


Code:

Dim db as database
Dim rs as Recordset
Dim SQL as string
Dim KlasaA as Double
Dim KlasaB as Double
Dim KlasaC as Double
Dim KlasaD as Double
Dim KlasaE as Double
Dim KlasaF as Double
Dim KlasaG as Double
Dim UkupanPromet as Double

Set DB=CurrentDB

SQL = "Select * From QryPrometKupacaZa12Meseci"

Set RS = DB.OpenRecordSet(SQL)

Do While not RS.EOF

RS.edit
If Rs.fields("SumOfPrometKupca") >= UkupanPromet*0.5 Then
    rs.fields("Klasa") = 'A'
    KlasaA = Rs.fields("SumOfPrometKupca")
end if

If Rs.fields("SumOfPrometKupca") >= KlasaA + UkupanPromet*0.75 Then
    rs.fields("Klasa") = 'B'
    KlasaB = Rs.fields("SumOfPrometKupca")
end if

If Rs.fields("SumOfPrometKupca") >= KlasaB + UkupanPromet*0.9 Then
    rs.fields("Klasa") = 'C'
    KlasaC = Rs.fields("SumOfPrometKupca")
end if

If Rs.fields("SumOfPrometKupca") >= KlasaC + UkupanPromet*0.95 Then
    rs.fields("Klasa") = 'D'
    KlasaD = Rs.fields("SumOfPrometKupca")
end if

If Rs.fields("SumOfPrometKupca") >= KlasaD + UkupanPromet*0.97 Then
    rs.fields("Klasa") = 'E'
    KlasaE = Rs.fields("SumOfPrometKupca")
end if

If Rs.fields("SumOfPrometKupca") >= KlasaE + UkupanPromet*0.99 Then
    rs.fields("Klasa") = 'F'
    KlasaF = Rs.fields("SumOfPrometKupca")
end if

If Rs.fields("SumOfPrometKupca") >= KlasaF + UkupanPromet Then
    rs.fields("Klasa") = 'G'
    KlasaG = Rs.fields("SumOfPrometKupca")
end if

Rs.moveNext
Loop

Rs.Close

Set DB= Nothing


Sad se pitam kako da dodam polje "Klasa" upitu broj 1 , a da ne menjam tabelu?
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Klasifikacija kupaca po ukupnom prometu13.06.2007. u 20:59 - pre 205 meseci
Ako ti je ovo novi zadatak za vezbu, ponovo nije dobro definisan, ili nisi razumeo sta se trazi. Proveri malo matematiku sa klasama.
Ovo ni najmanje ne daje ideju sta u stvari hoces:
Citat:
Za proteklih godinu dana ako je kupac kupio u vrednosti od 50% od ukupnog prometa u proteklih 12 meseci onda pripada Klasi A. Ako je zajedno sa kupcima iz klase A ostvario promet od 75% od ukupnog prometa u datom periodu onda je on pripada Klasi B.

Klasa C :klasa A+Klasa B = 90% ukupnog prometa

Klasa D: klasa A + Klasa B + Klasa C = 95% ukupnog prometa

... itd to klase G: klasa A + Klasa B + Klasa C + Klasa D + Klasa E + Klasa F = 100% ukupnog prometa.

Ovo
Citat:
ako je kupac kupio u vrednosti od 50% od ukupnog prometa u proteklih 12 meseci onda pripada Klasi A
znaci da postoji tacno jedan kupac koji je kupio 50% od ukupnog prometa i taj jedan jedini pripada klasi A. Sta ako ni jedan kupac nije ostvario sam 50% prometa? Sta ako su dvojica, jedan sa 30% i jedan 22%? U koju klasu oni spadaju? Gde je granica izmedju ostalih klasa?
Citat:
klasa A + Klasa B + Klasa C = 95% ukupnog prometa

Gde ce da se uguraju klase D,E i F? Izmedju 95 i 100%? Gde su granice izmedju klasa?

Ako vec pokusavas da nam poturis skolski zadatak, onda se potrudi da ga lepo objasnis. Mi generalno nismo radionica za izradu skolskih zadataka, iako je Getsbi bio velikodusan i pomogao da LuyLuk dobije maximalnu ocenu na seminarskom radu. Ako je zadatak interesantan za siri krug na forumu, rado cemo prodiskutovati moguca resenja. Ali sve uz uslov da je zadatk jasno postavljen.

Tvoj zadatak nije postavljen jasno. Pokusaj da razumes sta se trazi, pa nam se javi. Mislim da znam sta se u stvari tarzi, ali ti necu reci , jer ti treba da to zakljucis i shvatis. A mi cemo ti pomoci da sastavis kveri koji ti daje odgovor. Znaci, daj dobro objasnjenje sta se trazi, ponudi tabelu sa test podacima. Test podaci treba da pokriju nekoliko razlicitih slucajeva, da ti ne bismo ponudili pojednostavljena resenja. Na posao.


 
Odgovor na temu

darkog
Obrenovac

Član broj: 82291
Poruke: 147
*.yubc.net.



+1 Profil

icon Re: Klasifikacija kupaca po ukupnom prometu15.06.2007. u 13:31 - pre 205 meseci
Zakacio sam test tabelu a evo i taxta zadatka:

-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

Da zenemarim tabelu i probam da uprostim (svi podaci su za poslednjih 12 meseci, znaci i datum nije bitan):

Ukupan promet = 1000,00 din
Postoji 8 kupaca (sa siframaORDERACCOUNT = 1 do 8) koji su ostvarili ukupan promet od 900,00 ; 50,00 ; 20,00 ; 10,00 ; 5,00 ; 5,00 ; 5,00 ; 5,00 ; respektivno. Znaci kupac sa sifrom 1 = 900,00 itd.

Kupac sa sifrom 1 obelezavam kao Kupac 1 itd.

Kupac 1 je Klasa A - ostvario promet koji pokriva 50% ukupnog prometa (pokriva 90 % ali klasa A je najvisa klasa).

Kupac 2 je ostvario promet od 5 %
Kupac 3 je ostvario promet od 2 %
Kupac 4 je ostvario promet od 1 %
Kupac 5 je ostvario promet od 0.5 %
Kupac 6 je ostvario promet od 0.5 %
Kupac 7 je ostvario promet od 0.5 %
Kupac 8 je ostvario promet od 0.5 %

Granice:
A>=Ukupan promet * 0.5
Ukupan promet * 0.25 <=B<Ukupan promet * 0.5
Ukupan promet * 0.23 <=C<Ukupan promet * 0.25
Ukupan promet * 0.1 <=D<Ukupan promet * 0.23
Ukupan promet * 0.05 <=E<Ukupan promet * 0.1
Ukupan promet * 0.01 <=F<Ukupan promet * 0.05
Ostali su G klasa.
Prikačeni fajlovi
 
Odgovor na temu

darkog
Obrenovac

Član broj: 82291
Poruke: 147
*.beogrid.net.



+1 Profil

icon Re: Klasifikacija kupaca po ukupnom prometu15.06.2007. u 15:07 - pre 205 meseci
Ocigledno granice nisam dobro napravio, jer po tim granicama imam sledece:

Kupac 1 = 900,00 = 90% --> Klasa A

Kupac 2 = 50,00 = 5% --> Klasa E

Kupac 3 = 20,00 = 2% --> Klasa F

Kupac 4 = 10,00 = 1% --> Klasa F

Kupci 5,6,7, 8 = 5,00 = 0.5% --> Klasa G

Klasa F + E + D + C + B + A --> 10,00 + 20,00 + 50,00 + 900,00 = 980,00 = 98 % od Ukupnog prometa |
|
Po postavci zadatka: | --> 98 % <> 99.9 %
|
Klasa F + E + D + C + B + A --> 99.9 % od Ukupnog prometa |

Nijedan kupac nije klasa B, C ili D jer je Kupac 1 pokrio 90 % od ukupnog prometa.
Ocigledno ne shvatam zadatak.
Ima komentar?

 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Klasifikacija kupaca po ukupnom prometu15.06.2007. u 16:19 - pre 205 meseci
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

Prikačeni fajlovi
 
Odgovor na temu

darkog
Obrenovac

Član broj: 82291
Poruke: 147
*.beogrid.net.



+1 Profil

icon Re: Klasifikacija kupaca po ukupnom prometu18.06.2007. u 15:30 - pre 205 meseci
@Zidar. Nisam razumeo zadatak ali sada je sve jasno.
Mislim da je lakse sa kreiranjem tabele granica kao u tvom primeru.
Hvala jos jednom na odradjenom poslu
 
Odgovor na temu

[es] :: Access :: Klasifikacija kupaca po ukupnom prometu

[ Pregleda: 4056 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.