Vraag


Acties:
  • 0 Henk 'm!

  • Shabby94
  • Registratie: Februari 2019
  • Laatst online: 27-01-2021
Hi guys,

Momenteel ben ik bezig met een stageopdracht met het programma SQL Server Management Studio. Nu loop ik al een tijdje tegen een probleem. Ik zal eerst de context eromheen geven zodat mijn doel duidelijk wordt. Het is namelijk, het bedrijf waar ik stage loop registreert binnenkomende calls ook wel ticket genoemd.

Mijn taak is om aan de hand van management studio een overzicht te maken van de openstaande tickets waarvan de tijd langer dan 1 uur is. Dit was makkelijk om te doen dmv een where statement. MAAR omdat SSMS geen rekening houdt met werktijden, feestdagen en weekenden heeft dit weinig zin.

Mijn vraag is dus: hoe kan ik ervoor zorgen dat ik de tijd kan berekenen zonder weekenden, feestdagen en binnen de werktijden.

Ik heb geprobeerd om een afbeelding te plaatsen met hoe het er nu uit ziet maar kan niet op een of andere manier..

Alle reacties


Acties:
  • +2 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Euh, ik denk dat je even moet leren dat SSMS een IDE is en weinig (tot niks) te maken heeft met je daadwerkeljike probleem: probeert iets in (T-)SQL op te lossen. Heel dat SSMS is totaal irrelevant in je verhaal. Ik zou dan ook zéker die term niet gebruiken in je zoekopdrachten want je limiteert jezelf er ontiegelijk mee.

Inhoudelijk: als je rekening wil houden met weekends, feestdagen etc. dan zul je dus een tabel moeten hebben/maken waarin die gegevens staan. Hoe je die tabel maakt en inricht is helemaal aan jezelf en compleet afhankelijk van je requirements. Een simpele tabel met een enkele kolom met dates kan genoeg zijn, maar wellicht wil je ook de naam van de feestdag en wil je misschien wel feestdagen per land en een veld voor, weet-ik-veel, of een datum een weekend is of niet... je ziet ze zelfs vaak inclusief dagnummers, weeknummers, kwartaalnummers enz. Doorgaans wordt dit een date dimension tabel genaamd.

[ Voor 87% gewijzigd door RobIII op 27-02-2019 13:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Shabby94
  • Registratie: Februari 2019
  • Laatst online: 27-01-2021
Hey Roblll,

Bedankt voor je reactie, ik heb zojuist een functie kunnen maken die het weekend niet mee berekend en heb ik de werktijden in die functie kunnen toepassen. Dus ben een stapje dichterbij nu. Nu moet ik alleen nog ervoor zorgen dat de feestdagen niet worden meegerekend in de berekening.

Nu heb ik handmatig een feestdagentabel aangemaakt met de data erin. Dit heb ik heel simpel gemaakt aan de hand van de feestdag en datum. Aan de hand van welke query kan ik de feestdagen koppelen met de tickettijden? Ik ben pas begonnen hiermee dus excuses voor de onduidelijkheden.

Acties:
  • 0 Henk 'm!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 11:26

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Aantal feestdagen (die niet in het weekend vallen) tellen tussen aanmaken ticket en nu en dan dat aftrekken van de reeds berekende doorlooptijd?

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Shabby94 schreef op woensdag 27 februari 2019 @ 16:19:
Aan de hand van welke query kan ik de feestdagen koppelen met de tickettijden?
Ik (en wij) heb(ben) werkelijk geen idee :? We weten niet hoe je 'tickettijden' tabel er uit ziet, noch je nieuw gemaakte tabel. Maar de strekking is toch vrij simpel? Neem de count van alle records die voldoen aan criterium <niet weekend> EN <feestdag> en trek dat aantal af van whatever je probeert te berekenen lijkt me?

Wat @Orion84, die vieze voorschieter :P, dus zegt :>

Ik ben overigens ook eens benieuwd naar je "functie [...] die het weekend niet mee berekend". Want ik vermoed dat je daarmee je sargability aardig om zeep helpt. Zéker nu je een date dimension tabel hebt denk ik dat je veel beter gewoon een join kunt doen daarop (of een subquery of...) dan je functie gebruiken. En als je dat doet kun je een ander predicate dan zojuist genoemd gebruiken: <weekend> OF <feestdag> en daar gewoon de count van nemen. Maar dan moet je je date dimension tabel wel wat uitgebreider vullen (maar daar zijn kant-en-klare scripts voor, zie eerder gelinkt voorbeeld bijvoorbeeld).

[ Voor 43% gewijzigd door RobIII op 27-02-2019 16:38 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Shabby94
  • Registratie: Februari 2019
  • Laatst online: 27-01-2021
Bedankt voor jullie reactie,

Ik snap even niet hoe ik de feestdagen kan aftrekken, want ik maak nu gebruik van de functie die de werktijden en weekenden aftrekt wat overigens wel goed gaat voor elke tijden.

Momenteel ziet mijn query er zo uit:
SQL:
1
2
3
4
5
6
select Id, Title,Created, StartProgress, [dbo].[worktime] (Created, GetDate()) as OpenstaandeTijdInUren, firstresponse,
    DATEDIFF(HOUR, Created, FirstResponse) as ReactietijdInUren, Status, Priority
        from [plugin.tickets].[Ticket] 
        where [dbo].[worktime] (Created, GetDate()) >=1
        and (status <= 2) 
        order by id asc


Met vriendelijke groet,

Shabby

[ Voor 1% gewijzigd door RobIII op 27-02-2019 17:07 . Reden: Code tags toegevoegd ]


Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Allereerst: wil je voortaan code tags gebruiken om code te posten? Daarnaast: je post nu een query maar de écht relevante informatie laat je nog steeds achterwege; hoe zien je tabellen er uit, hoe ziet de 'worktime' functie eruit. En tot slot mis ik een beetje wat je nou gedaan hebt met de post van @Orion84 en de daaropvolgende van mij. Daar staat toch écht zat bruikbaars in.
Shabby94 schreef op woensdag 27 februari 2019 @ 17:02:
Ik snap even niet hoe ik de feestdagen kan aftrekken
Geef dan even aan wat je daar niet aan snapt, wat je al gezocht/gevonden hebt en wat er dan precies was waar je niet uit kwam (foutmeldingen?)
We kunnen niet over je schouder meekijken dus jij zult ons van de benodigde informatie moeten voorzien om je te kunnen helpen. Als we het uit je moeten (blijven) trekken gaat 't niet heel hard opschieten en dat is niet de bedoeling. Uiteindelijk is 't natuurlijk ook de bedoeling dat je iets opsteekt van je stage i.p.v. dat wij 't voor je gaan zitten doen ;)

[ Voor 43% gewijzigd door RobIII op 27-02-2019 17:12 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1