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

Rang lista i poredjenje

[es] :: Access :: Rang lista i poredjenje

[ Pregleda: 2285 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Gomatami
Goran Markovic

Član broj: 33496
Poruke: 163



+2 Profil

icon Rang lista i poredjenje21.08.2012. u 11:56 - pre 141 meseci
Pozdrav svima!

Posle duze pauze, ustrebao mi je Access i pokusavam da preko njega resim jedan problem, koji mi naoko deluje jednostavan.

Radi se o obradi rezultata takmicenja i formiranju rang liste. Nikakav problem, to je rutinski posao. Medjutim, radi nekih daljih analiza, ukazala se potreba da se uporedjuje osvojeni broj bodova izmedju svakog od rangiranih kandidata.

U praksi, to bi izgledalo ovako:

1. Pera-------------------15 bodova --------Max
2. Laza-------------------10 bodova-------- (Pera-Laza)
3. Zika -------------------9 bodova---------(Laza - Zika)

Medjutim, kada sam krenuo u realizaciju ove price o racunanju razlike u plasmanu, nisam uspeo da odmaknem ni pedalj. Pa, ako neko ugrabi slobodnog vremena, bar da me uputi kako da krenem sa ovim.

Hvala unapred!
I tako ...
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Rang lista i poredjenje21.08.2012. u 13:58 - pre 141 meseci
Napravi tabelu koja ima tacno one kolone koje si naveo u postu : {Pozicija (int), Takmicar (text), BrojBodova (int)}. Onda cemo ti pomoci da nparavis kveri koji izracunava razliku u bodovima izmedju dva takmicara.

Znaci, napravi tabelu sa tets podacima i zakaci Access fajl na poruku, pa cemo odatle dalje.
 
Odgovor na temu

Gomatami
Goran Markovic

Član broj: 33496
Poruke: 163



+2 Profil

icon Re: Rang lista i poredjenje21.08.2012. u 22:11 - pre 141 meseci
Moje izvinjenje jer nisam zakacio test bazu.

U prilogu je baza sa jednom tabelom, koja ima kolone koje sam i opisao u prvom postu. ZIvo me interesuje kako ovo moze da se resi preko upita, stvarno nemam ideju. :(



[Ovu poruku je menjao Getsbi dana 22.08.2012. u 06:53 GMT+1]
I tako ...
Prikačeni fajlovi
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 06:28 - pre 141 meseci
Moze li u 2003-ci? :)
Jednog dana...
 
Odgovor na temu

Gomatami
Goran Markovic

Član broj: 33496
Poruke: 163



+2 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 06:40 - pre 141 meseci
Sad jos da pronadjem dugme za dodavanje fajla ... :)
I tako ...
Prikačeni fajlovi
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 11:57 - pre 141 meseci
Nisam uspeo kroz upite da odradim,ali sam pomocu koda odradio.Probaj.Pozdrav.
Jednog dana...
Prikačeni fajlovi
 
Odgovor na temu

Gomatami
Goran Markovic

Član broj: 33496
Poruke: 163



+2 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 12:30 - pre 141 meseci
Sta cu, kad moram da budem bezobrazan...

Zainteresovao sam se za resenje koriscenjem upita jer bi te podatke mogao da spakujem u izvestaj, sto mi je i krajnji cilj.

Ne znam da li je moguce u varijanti sa kodom, da se klikom na taster izvrsi upis rezultata oduzimanja u odgovarajuca polja u tabeli? U tabelu sam dodao jos jednu kolonu [rezultati] koja bi trebala da pokupi rezultate uporedjivanja. Pa ako je to ikako moguce, bio bih zahvalan... :)
I tako ...
Prikačeni fajlovi
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 16:56 - pre 141 meseci
Probaj ovo.Pozdrav.
Jednog dana...
Prikačeni fajlovi
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 17:05 - pre 141 meseci
Verovatno će ti smetati poruka izvršavanja upita,pa evo verzije bez nje.
Jednog dana...
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 17:53 - pre 141 meseci
Za resenje ovog problema najvaznije je nekako dodeliti takmicarima njihov Rang - poziciju, mesto na tabeli. To je lako ako svi takmicari imaju razlicit broj bodova. Medjutim, ako dva ili vise takmicara imaju isti broj bodova, kako njih rangirati?

Opcija 1:

1. Pera 18
2. Laza 16
3. Mika 16
4. Boba 12

ili Opcija 2:

1. Pera 18
2. Laza 16
2. Mika 16
4. Boba 12

ili Opcija 3:

1. Pera 18
2. Laza 16
2. Mika 16
3. Boba 12

Zato je tesko napisato kveri u Accesu. tesko, ali moguce. Najlakse se pise kveri za opciju 2:
Code:
 QUery qryRazlika u zkacenom primeru:
SELECT A.Sifra, A.Ime, A.Bodovi, A.Bodovi - ( SELECT TOP 1
                B.Bodovi
            FROM   Tbl_takMicari AS B
            WHERE  A.Bodovi > B.Bodovi
                 AND A.sifra <> B.Sifra
            ORDER  BY B.Bodovi DESC,B.Sifra ASC ) AS Razlika
FROM Tbl_takMicari AS A
ORDER BY A.Bodovi DESC , A.Sifra;


Za Opciju 2 stvari se komplikuju i resenje ide u pravcu u kom je krenuo Sloj.1973. Kod mene za to resenje postoji fiksna tabela, tbl_takmicari_Sort, koju makro mcrRazlika_SORT svaki put isprazni (qryDelete_SORT) i popuni potrebne podatke (qryAppendTo_SORT). Zatim se krajnji rezultat pokaze kverijem qryRazlika_SORT_A.

Upit qryRazlika pokazuje razliku bodova u odnosu na prvog takmicara sa mnje bodova nego posmatrani.
Upit qryRazlika_SORT_A pokazuje razliku bodova u odnosu na takmicara koji je na prvoj nizoj poziciji, pa makar imao i isti broj bodova (tada je razlika nula, zero). Kad dva takmicara imaju siti brij bodova, ja sam uzeo da onaj sa manjom sifrom ide na visu poziciju. Ovaj redosled se kontrolis u ORDER BY delu kverija qryAppendTo_SORT.

Moguce je da postoji i resenje koje ne trazi pomocne tabele i akcione kverije, pogledacu pa cu javiti.

Ovo je ispalo teze nego sto sam ocekivao, zasluzuje cak da bude mozgalica: "Napisati SQL upit u Accessu, ili MS SQL 2000 i nizim verzijama, koji dodeljuje redne brojeve takmicarima u tabeli, vodeci racune o jednakom broju bodova". Zasluzuje, ali necemo da to pitamo.

:-)

Prikačeni fajlovi
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 19:18 - pre 141 meseci
Za Zidara:
Citat:
Gomatami



U praksi, to bi izgledalo ovako:

1. Pera-------------------15 bodova --------Max
2. Laza-------------------10 bodova-------- (Pera-Laza)
3. Zika -------------------9 bodova---------(Laza - Zika)

Mislim da je kolega Gomatami tražio da se prikaže razlika bodova prethodne osobe(osobe sa većim brojem bodova) i osobe,pored koje stoji rezultat.
U svakom slučaju opširan i odličan odgovor.
Jednog dana...
 
Odgovor na temu

Gomatami
Goran Markovic

Član broj: 33496
Poruke: 163



+2 Profil

icon Re: Rang lista i poredjenje22.08.2012. u 23:14 - pre 141 meseci
Auuu, ljudi, sa kakvim se predznanjem dolazi na forum ... :)

Salu na stranu, nisam mogao da pretpostavim koliko je ovo kompleksan problem. Resenje koje je ponudio SLOJ.1973 radi upravo ono sto sam zeleo: prikazuje koliko je bodova u zaostatku takmicar u odnosu na svog prethodnika na tabeli.

Siguran sam da je i Zidarevo resenje dobar put, ali mi u ovom trenutku ipak deluje malo komplikovanije za primenu. Sada sam apsolutno siguran da bilo koje od resenja ni teoretski ne bih uspeo da realizujem sam. Zato vam se iskreno zahvaljujem na pomoci!

Pozdrav,
Goran
I tako ...
 
Odgovor na temu

[es] :: Access :: Rang lista i poredjenje

[ Pregleda: 2285 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

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