Resultaten cumulative krijgen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

T-SQL Database developer

Functie omschrijving Ben jij een ETL database specialist? Houd jij ervan om te puzzelen met Databases, Query's & Stored procedures? Zoek jij uitdaging, vrijheid en verantwoordelijkheid? Zoek dan niet verder! Wij zijn per direct op zoek naar medior en senior database developers. Je gaat werken voor een relatief klein softwarebedrijf in omgeving Tilburg. Samen met 12 collega's (allemaal techneuten), ga jij je bezig houden met het bouwen en/of onderhouden van database software. Deze software wordt internationaal ingezet voor het automatiseren van logistieke processen. Jouw werkzaamheden gaan er als volgt uit zien: Je bent in een klein team met developers, verantwoordelijk

Bekijk vacature »

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Capelle aan den IJssel zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »
Peter Jansen

Peter Jansen

06/10/2020 10:59:04
Quote Anchor link
Hoi allemaal, ik heb deze query geschreven, alleen het lukt niet om de kolommen te cumuleren. dus periode 1 = 1 periode 2 is 2+1 periode 3 is weer de optelsom van 1+2+3 enz..

Hoe kan ik dit doen

Quote:
SELECT dbo.grtbk.reknr, dbo.grtbk.oms25_0, SUM(CASE WHEN MONTH(ReportingDate) = '1' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [1], SUM(CASE WHEN MONTH(ReportingDate)
= '2' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [2], SUM(CASE WHEN MONTH(ReportingDate) = '3' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [3],
SUM(CASE WHEN MONTH(ReportingDate) = '4' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [4], SUM(CASE WHEN MONTH(ReportingDate) = '5' THEN (AmountDCDebit - AmountDCCredit)
ELSE 0 END) AS [5], SUM(CASE WHEN MONTH(ReportingDate) = '6' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [6], SUM(CASE WHEN MONTH(ReportingDate)
= '7' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [7], SUM(CASE WHEN MONTH(ReportingDate) = '8' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [8],
SUM(CASE WHEN MONTH(ReportingDate) = '9' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [9], SUM(CASE WHEN MONTH(ReportingDate) = '10' THEN (AmountDCDebit - AmountDCCredit)
ELSE 0 END) AS [10], SUM(CASE WHEN MONTH(ReportingDate) = '11' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [11], SUM(CASE WHEN MONTH(ReportingDate)
= '12' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [12]
FROM dbo.grtbk LEFT OUTER JOIN
dbo.GeneralLedgerBalances ON dbo.GeneralLedgerBalances.GeneralLedger = dbo.grtbk.reknr AND YEAR(dbo.GeneralLedgerBalances.ReportingDate) = 2020
GROUP BY YEAR(dbo.GeneralLedgerBalances.ReportingDate), dbo.grtbk.oms25_0, dbo.grtbk.reknr
 
PHP hulp

PHP hulp

15/11/2024 05:34:30
 
- Ariën  -
Beheerder

- Ariën -

06/10/2020 11:29:12
Quote Anchor link
Kan je de query ook ont-spaghetti'en?
We hebben ook code-tags.
 
Peter Jansen

Peter Jansen

06/10/2020 11:33:43
Quote Anchor link
SELECT dbo.grtbk.reknr, dbo.grtbk.oms25_0,
SUM(CASE WHEN MONTH(ReportingDate) = '1' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [1],
SUM(CASE WHEN MONTH(ReportingDate) = '2' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [2],
SUM(CASE WHEN MONTH(ReportingDate) = '3' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [3],
SUM(CASE WHEN MONTH(ReportingDate) = '4' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [4],
SUM(CASE WHEN MONTH(ReportingDate) = '5' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [5],
SUM(CASE WHEN MONTH(ReportingDate) = '6' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [6],
SUM(CASE WHEN MONTH(ReportingDate) = '7' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [7],
SUM(CASE WHEN MONTH(ReportingDate) = '8' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [8],
SUM(CASE WHEN MONTH(ReportingDate) = '9' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [9],
SUM(CASE WHEN MONTH(ReportingDate) = '10' THEN (AmountDCDebit - AmountDCCredit)ELSE 0 END) AS [10], SUM(CASE WHEN MONTH(ReportingDate) = '11' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [11], SUM(CASE WHEN MONTH(ReportingDate) = '12' THEN (AmountDCDebit - AmountDCCredit) ELSE 0 END) AS [12]
FROM dbo.grtbk LEFT OUTER JOIN
dbo.GeneralLedgerBalances ON dbo.GeneralLedgerBalances.GeneralLedger = dbo.grtbk.reknr AND YEAR(dbo.GeneralLedgerBalances.ReportingDate) = 2020
GROUP BY YEAR(dbo.GeneralLedgerBalances.ReportingDate), dbo.grtbk.oms25_0, dbo.grtbk.reknr
 
Thomas van den Heuvel

Thomas van den Heuvel

06/10/2020 21:55:07
Quote Anchor link
Voer je deze query rauw uit op je database, of communiceert een scriptingtaal (PHP?) met de database? In dit laatste geval zou je dit probleem (deels) kunnen overhevelen naar deze taal, waarbij je de query eenvoudig houdt en alles simpelweg groepeert op maand. In de scriptingtaal kun je dan de cumulatieve optelling doen. Verdeel en heers.

En anders kun je misschien denken aan een mysql-procedure. Of wellicht kun je hier wat inspiratie vinden.

NB aLternatief: als dit historische gegevens betreft die toch niet meer veranderen zou je dit van tevoren kunnen uitrekenen en in een aparte kolom kunnen opslaan.
 

07/10/2020 16:03:23
Quote Anchor link
Wat je zoekt heet in databasetermen een 'running total'.
Het werkt via een window-function als SUM() waarbij je ook de voorgaande rijen meeneemt.
Afhankelijk van het beoogde resultaat kan je iets doen als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
  SUM(AmountDCDebit - AmountDCCredit)
  OVER (
    ORDER BY ReportingDate
    RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
  ) AS "subtotaal"
FROM ...


Voor de volledige syntax zie: https://www.postgresql.org/docs/current/functions-window.html

Mocht je gedoemd zijn om met MySQL te werken dan is er goed nieuws: sinds versie 8 kan MySQL het kunstje eindelijk ook.
Zie voor details: https://dev.mysql.com/doc/refman/8.0/en/window-functions.html

Een running total opnieuw bedenken en uitprogrammeren in PHP is niet nodig, dat kan je beter aan de database over laten. Want die kan dat sneller en efficiënter dan dat je dat in PHP kan doen.
Gewijzigd op 07/10/2020 16:08:01 door
 
Thomas van den Heuvel

Thomas van den Heuvel

07/10/2020 16:13:36
Quote Anchor link
Ad Fundum op 07/10/2020 16:03:23:
Een running total opnieuw bedenken en uitprogrammeren in PHP is niet nodig, dat kan je beter aan de database over laten. Want die kan dat sneller en efficiënter dan dat je dat in PHP kan doen.

Mwa. Welke gegevens je gebruikt en hoe je deze gebruikt zijn twee verschillende dingen. Wat als je straks ook het verschil per maand wilt hebben? Dit is een eenvoudigere aanpassing in PHP als je maandtotalen hebt dan wanneer je een query om moet schrijven (en moet testen) voor dat doel. Er is voor beide wat te zeggen.
 

09/10/2020 16:03:28
Quote Anchor link
Thomas van den Heuvel op 07/10/2020 16:13:36:
Wat als je straks ook het verschil per maand wilt hebben?

Je kunt het makkelijk opdelen met het PARTITION BY statement.
Postgres: https://www.postgresql.org/docs/current/tutorial-window.html
MySQL: https://dev.mysql.com/doc/refman/8.0/en/window-functions-usage.html

Als je dat door de database laat doen hoef je niet extra tests te schrijven voor je PHP code.

En met sneller bedoel ik: als je de data eerst via TCP moet overbrengen naar PHP FPM kost dat extra resources, en qua dataverwerking is PHP altijd trager dan de database. Dat ga je merken als je grotere hoeveelheden data langs moet lopen, of grotere aantallen HTTP requests moet verwerken.
Gewijzigd op 09/10/2020 16:06:23 door
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.