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

Pivot table, i grupisanje kolona-problem!

[es] :: Access :: Pivot table, i grupisanje kolona-problem!

[ Pregleda: 2846 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mika
NBG-ML

Član broj: 55
Poruke: 640
*.adsl.static.sezampro.yu.



+1 Profil

icon Pivot table, i grupisanje kolona-problem!10.10.2006. u 15:09 - pre 212 meseci
Pozdrav drugari.

Ovo je, na neki način, nastavak teme od pre godinu ipo dana, sa adrese http://www.elitesecurity.org/t...-sa-forme-koje-nije-definisano .

Radi se o sledećem: kako napraviti, unutar TRANSFORM query-ja grupisanje? Odnosno, kako grupisati column headinge u okviru nekih vrednosti, kao npr:

Code:

TRANSFORM Sum(tblListe.Time) AS SumOfTime
SELECT tblListe.ID_Employee
FROM tblListe
GROUP BY tblListe.ID_Employee
PIVOT tblListe.Code 


S obzirom da su kodovi od 100 do 999, kada pokrenem ovaj upit, MS Access mi javi grešku "Too many column headers", što je i logično jer ima 900 kolona
E sad, ja sam došao na ideju da PIVOT liniju napišem kao :

Code:

PIVOT tblListe.Code IN (100-199, 200-299...)


...medjutim, to neće da može, javlja se greška "data type mismatch in query expression". Nikakve akrobacije nisu uspele, pokušao sam i sa 100:199, i 100;199 i sa 100::199 i sa 100..199 ali neće. Alternativa je sledeća, ovo je upit koji radi (provereno):

Code:

SELECT tblListe.ID_Employee,formatnumber(Sum(IIf(Code>=100 And Code<200,time,0)),2) AS [100-199], 
Sum(IIf(Code>=200 And Code<300,time,0)) AS [200-299],
Sum(IIf(Code>=300 And Code<400,time,0)) AS [300-399],
Sum(IIf(Code>=400 And Code<500,time,0)) AS [400-499],
Sum(IIf(Code>=500 And Code<600,time,0)) AS [500-599],
Sum(IIf(Code>=600 And Code<700,time,0)) AS [600-699],
Sum(IIf(Code>=700 And Code<800,time,0)) AS [700-799],
Sum(IIf(Code>=800 And Code<900,time,0)) AS [800-899],
Sum(IIf(Code>=900 And Code<1000,time,0)) AS [900-999]
FROM tblListe
GROUP BY tblListe.ID_Emp;


E sad, ovaj upit se malo sporije izvršava, kapiram da bi se TRANSFORM upit izvršavao mnogo brže, samo kad bi skontao kako da napravim to grupisanje. Ima li iko ideju kako to da odradim, ili da iskoristim moje potonje "Solomonsko" rešenje?

Pozdrav!



Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pivot table, i grupisanje kolona-problem!10.10.2006. u 15:16 - pre 212 meseci
Jesi probao sa:
Code:

TRANSFORM Sum(tblListe.Time) AS SumOfTime
SELECT tblListe.ID_Employee
FROM tblListe
GROUP BY tblListe.ID_Employee
PIVOT LEFT(tblListe.Code, 1)

koliko sam shvatio, to ti treba.
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.adsl.static.sezampro.yu.



+1 Profil

icon Re: Pivot table, i grupisanje kolona-problem!10.10.2006. u 15:28 - pre 212 meseci
Ne pamtim kada mi je neko ovako brzo odgovorio. Znao sam da može jednostavnije, ali ti si prevazišao sve granice, ovo je toliko jednostavno da nemam reči.

Jedino što u ovom slučaju ne mogu da kontrolišem nazive kolona (što nije neki veliki problem), ali se zato u ovom slučaju upit izvršava 5 (PET!) puta brže nego prethodni (testirano na 70.000 recorda).

Kralju, hvala ti puno!


Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pivot table, i grupisanje kolona-problem!10.10.2006. u 15:35 - pre 212 meseci
Nema na cemu, ponekad je potrebno malo distance da bi covek resio problem. Verovatno bi se i ti ovog istog setio sutra kad se malo "ohladis".
 
Odgovor na temu

[es] :: Access :: Pivot table, i grupisanje kolona-problem!

[ Pregleda: 2846 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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