Formule voor gebruik in SQL

Pagina: 1
Acties:

  • saxion
  • Registratie: November 2003
  • Laatst online: 29-08-2023
Ik heb een klein theoretisch probleempje bij het maken van een management dashboad. Hiervoor moet ik nl. een voorbeeld formule zien te maken voor een aantal Prestatie Indicatoren. Een van deze Indicatoren gaat over de leverbetrouwbaarheid:

Voorbeeld van een indicator : Planning voor levering aan Klant X is 21 januari 2005 (geplande leverdatum), men levert te laat aan de klant en dit gebeurd op 23 januari (werkelijke leverdatum).
Dat betekent dat er een vertraging is 2 dagen.

Wat er uit eindelijk uit moet komen is dan een tabel in de vorm zoals hieronder staat weergegeven

10 orders in een bepaalde periode ( bijv. januari 2005 ) ->

5-of meer dagen 20% 2 orders
3-4 40% 4 orders
1-2 30% 3 orders
op tijd 10% 1 order

Weet iemand hier een goede formule voor?

check de homepage button> ICT portal: techtuts.host.sk


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 07:43

gorgi_19

Kruimeltjes zijn weer op :9

En wat lukt er niet aan je eigen formule als je aan de gang gaat met aggregated functions (Group BY / Count) :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
ik zou zeggen:
fetch waar <werkelijke leverdatum> is groter dan <geplande leverdatum>, order op <werkelijke leverdatum> min <geplande leverdatum>, en dan de rest (kijken hoeveel groter) doen door de progtaal (dus php/asp whatever je gebruikt)

This message was sent on 100% recyclable electrons.


  • saxion
  • Registratie: November 2003
  • Laatst online: 29-08-2023
Het probleem zit hem voor nl. in hoe ik de formule theoretisch op schrijf.

check de homepage button> ICT portal: techtuts.host.sk


Verwijderd

Smerig, maar in Access kan dit denk ik wel met een IIF (immediate IF).

  • Paitor
  • Registratie: Maart 2001
  • Laatst online: 18-01-2025

Paitor

rages doen :P

Met logische operatoren?
WHERE date > 3 && date < 5

Live Life to the Max | Kom op konijntje doe maar huppele wiebele


  • saxion
  • Registratie: November 2003
  • Laatst online: 29-08-2023
Ja bedankt paitor zoiets zocht ik daar kan ik mee verder...

check de homepage button> ICT portal: techtuts.host.sk


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
Paitor schreef op woensdag 26 april 2006 @ 11:13:
Met logische operatoren?
WHERE date > 3 && date < 5
AND dan maar? volgens bij bestaat && niet in MySQL (andere DBMS'en weet ik niet)
btw, de TS moet dan 3 queries doen.. dit is misschien netter, maar als er naar de performance gekeken word, kan je het beter op mijn manier doen

This message was sent on 100% recyclable electrons.


  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

Met mysql lijkt het me handiger om gebruik te maken van de functie DATE_SUB(date, "INTERVAL X DAY(S)");

Bijvoorbeeld op deze manier:

MySQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT 
 COUNT (
  SELECT * FROM tabel 
  WHERE deliverd_date >= DATE_SUB(expected_deliver_date, "INTERVAL 5 DAYS")
 ) as 5days
 COUNT (
  SELECT * FROM tabel 
  WHERE deliverd_date >= DATE_SUB(expected_deliver_date, "INTERVAL 3 DAYS") 
  AND deliverd_date <= DATE_SUB(expected_deliver_date, "INTERVAL 4 DAYS")
 ) as 34days
 COUNT (
  SELECT * FROM tabel 
  WHERE deliverd_date >= DATE_SUB(expected_deliver_date, "INTERVAL 1 DAYS") 
  AND deliverd_date <= DATE_SUB(expected_deliver_date, "INTERVAL 2 DAYS")
 ) as 12days
FROM table


Als ik het probleem ten minste goed begrijp. Aan de hand van de uitkomst hiervan is het in ieder geval mogelijk om te berekenen wat de percentages zijn. Dit is zelfs eventueel in de query te doen, maar dit is niet aan te raden.

[ Voor 41% gewijzigd door UltimateB op 26-04-2006 15:17 ]

"True skill is when luck becomes a habit"
SWIS


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Kent niemand hier het BETWEEN-keyword? :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • UltimateB
  • Registratie: April 2003
  • Niet online

UltimateB

Pomdiedom

Hmm... nog nooit van gehoord...

* UltimateB pakt manual.

Wow... lol, tijd om mijn code door te gaan spitten :)

[ Voor 35% gewijzigd door UltimateB op 26-04-2006 15:21 ]

"True skill is when luck becomes a habit"
SWIS

Pagina: 1