[Crystal Reports XI] Extra selectie binnen selectie

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Ik heb voor het volgende vraagstuk al in boeken gekeken en op internet gezocht, maar kan hier niets over vinden. Het is volgens mij een bepaalde denkwijze, waar ik nog niet uitkom, omdat CR nog redelijk nieuw is voor me. Heb zelf ook al meerdere dingen geprobeerd met sql-statements, formulas en dergelijken, maar vind de juiste manier niet.

Het probleem is eigenlijk simpel: ik wil binnen een dataset, een 'aparte' dataset hebben, waar ik formules op los kan laten.

Voorbeeld:

Ik heb hier een SQL-server staan, die precies bijhoudt, wie wat of welke tijd op internet doet en gedaan heeft. Ik krijg dus een mooi lijstje met: datum, tijd, host, uri, bytesin, bytesout, etc etc.
Nu zou ik graag binnen deze resultset (die al op datum geselecteerd is overigens) alle records tussen 08:00:00 en 09:00:00 willen hebben. Als ik die records kan 'selecteren', kan ik ook tellen hoeveel records dat zijn, hoeveel data het in dat uur was, etc etc etc. Hoe doe ik dit ?

Hetzelfde geldt voor een lijst met klanten. Heb hier een mooi lijstje per klant, met het aantal facturen en het totaal van die facturen. Nu wil ik ze 'grouperen' of dus selecteren: klanten met een totaal van onder de 1000 euro, tussen de 1001 en de 5000 en meer dan 5000.

Heeft iemand enig idee en kan/wil mij een hint geven ?

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14-08 22:00
Niemand ? :/

Verwijderd

Ja dat kan wel. Overigens schets jij twee verschillende selectie-situaties. Het vervelende is alleen dat ik op dit moment ziek thuis zit en geen CR bij de hand heb om het even na te zoeken.

Als je een selectie wil maken van alle records tussen 8:00 en 9:00 dan hoef je toch enkel in de Record Select Wizard (of hoe heet dat?) aan te geven:
TIJD_VAN is greater or equal to 8:00
en TIJD_TOT is less than or equal to 9:00

Je tweede situatie is zo'n truukje waarin je waarden in klassen indeelt. Daar ben ik effe de naam van kwijt. Zelf heb ik het nog nooit gedaan dus ik weet ook niet hoe het moet in CR met een standaardfunctie.
Anders kan je altijd even met een truukje hetzelfde bereiken, middels een (hier verkeerd uitgeschreven) formule:
IF factuurbedrag is tussen 0 en 499 THEN "1"
ELSE IF factuurbedrag is tussen 500 en 1000 THEN "2"

en vervolgens groepeer je op die formule-uitkomst.

Edit: ik zie dat in je eerste situatie de tijd 1 veld is. Dan de between-vergelijking gebruiken.

[ Voor 14% gewijzigd door Verwijderd op 24-10-2005 20:13 ]