[ salvatore. @ 04.05.2022. 10:54 ] @
Poštovane kolege,


Godinama nisam imao potrebe da čaprkam po accessu pa se svašta zaboravilo. Imam sledeći problem:


U bazi imam query koji treba dodatno da obradim,

potrebne kolone su:

Datum i VrstaRadaID


Pravim izveštaj u kom treba da vidim koliko puta se ponavlja svaka pojedinačna VrstaRadaID u jednom mesecu a sve koje se ne ponavljaju (koje su samo po 1 da se ne vide u izveštaju već da budu grupisane kao (Ostalo).

Na primer (u jednom mesecu):

VrstaRadaID 1 se ponavlja 5 puta, VrstaRadaID 2 se ponavlja 8 puta, a VrstaRadaID 2, 4, i 6 po jednom

rezultat koji mi treba je:

Mesec (april):
VrstaRadaID 1; 5
VrstaRadaID 2; 8
Ostalo; 3 (prebroji i grupiše one sa samo 1 ponavljanjem)




Ima li leka za moj slučaj?
[ bokinet @ 04.05.2022. 14:43 ] @
Mala pomoc i podsetnik

GROUP BY
www.w3schools.com/sql/sql_groupby.asp

SQL COUNT(), AVG() and SUM() Functions
www.w3schools.com/sql/sql_count_avg_sum.asp
[ Getsbi @ 04.05.2022. 17:06 ] @
Evo otprilike ovako kao u zakačenom primeru.
[ salvatore. @ 05.05.2022. 07:08 ] @
Hvala na pomoći Getsbi.

Bojim se da se nismo najbolje razumeli. Meni je jasno kako da prebrojim i grupišem istu VrstaradaID koja se ponavlja. Problem mi je što one koje se ne ponavljaju treba da prebrojim i da mi to bude ostalo.

Na primer:

1.2.2022 4
3.2.2022 8
4.2.2022 7
5.2.2022 4
7.2.2022 1
8.2.2022 4
9.2.2022 1
9.2.2022 2


Za 2. mesec VrstaRadaID 4 ponavlja se 3 puta, VrstaRadaID 1 se ponavlja 2 puta i imamo pojedinačna pojavljivanja VrstaRadaID 8,7 i 2

rezultat treba da mi bude:

VrstaRadaID 4 = 3
VrstaRadaID 1 = 2
Ostalo = 3






[ BiloKoje @ 05.05.2022. 09:36 ] @

Mislim da ovo može biti rešenje:

SELECT DISTINCT Month([mesec]) AS mes, Count([Table 11].VrstaRadaID) AS CountOfF2, IIf([VrstaRadaID]>1,[VrstaRadaID],"ostalo") AS k
FROM [Table 11]
GROUP BY Month([mesec]), IIf([VrstaRadaID]>1,[VrstaRadaID],"ostalo");

[ salvatore. @ 05.05.2022. 10:16 ] @
@BiloKoje

Ne funkcioniše "ostalo" uneo sam još neke (pojedinačne) vrednosti u tabelu i dobio čudan rezultat upita.


IIf([VrstaRadaID]>1,[VrstaRadaID],"ostalo") AS k FROM [Table 11]

Ovaj IF proverava da li je VrstaRadaID veća od 1 i onda mi izbroji sve VrstaRadaID veće od 1 a samu jedinicu stavi u ostalo. Meni treba da prebroji sve vrste rada koje se ponavljaju više puta, znači ako se VrstaRadaID 1 pojavljuje 4 puta, to ne treba da bude ostalo već samo da se prebroji "VrstaRadaID 1 = 4", a ako se VrstaRadaID 2 i VrstaRadaID 34 i VrstaRadaID 57 pojavljuju po 1 u toku meseca to je "Ostalo = 3"
[ Getsbi @ 05.05.2022. 11:30 ] @
Prepravio sam. Mislim da sad radi kako si hteo. Ti obrši iz izveštaja polja ili sekcije koje ne želiš da vidiš.

Drugi put zakači svoj primer sa podacima umesto da mi pravimo tabele i popunjavamo. Biće brže.
[ salvatore. @ 05.05.2022. 12:58 ] @
Citat:
Getsbi: Prepravio sam. Mislim da sad radi kako si hteo.

Da funkcija je kakva treba da bude, samo malo da promenim formu.
Citat:
Getsbi: Drugi put zakači svoj primer sa podacima umesto da mi pravimo tabele i popunjavamo. Biće brže. :)

Razumem. Ja sam mislio da ću dobiti pisani odgovor a ne da će neko drugi uraditi posao umesto mene. :)