[ ibrkic @ 17.12.2007. 08:41 ] @
| Ako u okviru konsolidovanog racuna trezora zelim da pratim dnevno stanje podracuna budzetskih korisnika,kako da u queriju dobijem saldo kao izracunato polje iz tabele u kojoj imam polja pocetno stanje,duguje i potrazuje.Mislim da je u pitanju runningsum u kveriju. |
[ Getsbi @ 17.12.2007. 10:15 ] @
Najlakše pomoću dva query-ja. Ako je saldo pozitivan onda je na dugovnoj strani, ako je negativan onda je na potražnoj.
Izvinjavam se zbog zvezdica to generiše forumski kod. Ja sam tu reč napisao u najboljoj nameri. :-)
[Ovu poruku je menjao mmwc dana 17.12.2007. u 21:11 GMT+1]
[ ibrkic @ 17.12.2007. 10:54 ] @
Nisam bio dovoljno precizan pa cu pokusati sa dodatnim pojasnjenjima.Imamo sledecu situaciju:
datum naziv racuna poc st. duguje potrazuje saldo
15.01.07 budzet 100 50 20 130
16.01.07 budzet 70 80 120
15.01.07 uprava 50 20 10 60
16.01.07 uprava 20 50 30
Znaci imamo pocetno stanje na saldu koje unosimo u odredjenom trenutku kad pravimo presek i kasnije sukcesivno unosimo stanja sa izvoda prema vrsti racuna.Nije rec o kontima,mada to nije bitno,rec je o izvodima odgovarajucih budzetskih korisnika koji se unose prema nazivu izvoda.Mene interesuje samo ovaj racunski deo gde je saldo u startu jednak pocetno stanje +duguje -potrazuje a kasnije prethodni saldo + duguje - potrazuje.U reportu to moze sa running sum,ali mislim da treba i query uraditi sa runningsum.Query mi je potreban jer sve to prikazujem u pivottable koja ima dobru prezentaciju svega toga po danima,mesecima,kvartalima i godinama.Ako sam nesto objasnio molim da pokusate ponovo.
[ ibrkic @ 17.12.2007. 10:57 ] @
Vidim da je pomerilo kolone ali mislim da ce te se snaci.Znaci pocetno stanje je samo jedan unos.Kasnije je samo duguje i potrazuje.
[ ibrkic @ 17.12.2007. 11:15 ] @
Mislim da u sledeci izraz samo ugradite pocetno stanje SALDO: ((SELECT SUM(DUGUJE) FROM [stavke] as temp where [temp].[rbr]<=[stavke].[rbr]))-(SELECT SUM(POTRAZUJE) FROM [stavke] as temp where [temp].[rbr]<=[stavke].[rbr]).Normalno naziv tabele ce biti odgovarajuci.
[ Getsbi @ 17.12.2007. 11:47 ] @
Evo ti primer Query-RunningSumOverGroup.
[ ibrkic @ 17.12.2007. 12:20 ] @
To je resenje ukoliko se ja snadjem na svome primeru.U svakom slucaju zahvaljujem vam na pruzenoj pomoci.
[ ibrkic @ 17.12.2007. 13:20 ] @
Ipak evo mog primera koji me muci.
[ ibrkic @ 17.12.2007. 13:38 ] @
Nesto nije u redu.Evo zipovano.
[ Getsbi @ 17.12.2007. 14:42 ] @
Pogledao sam primer na brzinu. Prvo obezbedi da ti početno stanje bude u istoj tabeli sa ostalim promenama po budžetskim korisnicima. To se radi tako što se pod 01.01.2007 unesu početna stanja. Potom pogledaj queri QryRunningSumOverGroup u Design modu tako što ćeš u SQL View skinuti znak > iz (a.PrilivID>=b.PrilivID) i neka ostane
(a.PrilivID=b.PrilivID). Kad pogledaš query u Design modu vrati se u SQL View, vrati znak na staro i snimi ponovo upit.
[ Getsbi @ 17.12.2007. 20:58 ] @
Evo napisao sam ti upit za sumiranje po grupama budžetskih korisnika. Kao što sam i rekao početna stanja mora da idu kao prve stavke u knjigu promena. To konsultuj tvoje fin. knjigovođe. I te stavke mora da imaju takođe dugovnu i potražnu stranu, kao i sve druge. Pošto su u Tabela2 početna stanja bila pozitivna ja sam ih stavio na dugovnu stranu i time napravio osnovne uslove za dalji normalan rad. Dodao sam ti i polje OpisPromene u Tabela1 kako bi znao šta su početna stanja. Ostatak je u jednom jedinom Queriju koji mora posle dizajna da se dopiše u SQL-u zbog sintakse. Pogledaj i reci da li je to ono što si hteo.
[ ibrkic @ 18.12.2007. 06:08 ] @
Zaista vam najiskrenije zahvaljujem na pravom resenju.Pocetno stanje u mom primeru je uvek dugovno jer su u pitanju ziro racuni i logicno je da bude u istoj tabeli sa ostalim promenama pod odgovarajucim datumom.Nisam knjigovodja ali mi knjigovodstvo nije nepoznato,ali ja sam na konkretnom primeru nekako lutao.Jos jednom vam zahvaljujem na efikasnom resenju.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|