report groei tenopzichte van vorig jaar (maand, kwartaal etc.)

Status
Niet open voor verdere reacties.

VendClasicc

Gebruiker
Lid geworden
25 feb 2015
Berichten
68
Goeiemorgen,

Ik loop tegen het volgende probleem in access aan.
Ik heb verkoop data van 2013.01 t/m 2014.12, nu wil ik een report maken waarbij ik de "base" datum moet invoeren, laten we zeggen 2014.08.
Nu wil ik dat het report dan vervolgens, gebaseeerd op deze datum (2014.08), de groei/daling in procenten ten opzichte van 2013.08 laat zien, de groei/daling in procenten ten opzichte van Q3 2013 laat zien(hij herkent dus dat het om Q3 gaat) en de groei/daling in procenten van 2014.01-2014.08 ten opzichte van 2013.01-2013.08 (YTD) in procenten laat zien.

Ik heb al het een en ander geprobeerd, maar ik kom er niet uit, weet een van jullie hoe kun je dit eenvoudig kunt doen ?
Zou het mooi vinden als iemand hier de oplossing heeft :D!

In de bijlage heb ik een voorbeeld bestand (excel) hoe de data(table) eruit komt te zien.

Alvast harstikke bedankt voor de moeite!

Gr.

Bekijk bijlage voorbeeld.xlsx
 
Om te beginnen is je datumkolom natuurlijk geen datumkolom, maar tekst. Ik weet niet of je de data zo ook in je database invoert, maar dat zou ik zeker aanpassen. En aangezien je de data toch al in Excel hebt staan, zou ik het eerder in Excel oplossen dan in Access :). Want ik vermoed dat je het gewenste resultaat een stuk makkelijker in Excel kan maken. Want kun je ook een voorbeeldje laten zien van de gewenste output?
 
Bekijk bijlage voorbeeld2.xlsx

Hi octafish,

Bedankt voor je reactie, ik heb even een nieuw bestand gemaakt in excel hoe het eruit moet komen te zien als (raw data), daarna is zo'n reportje snel gemaakt.
Die period data maakt niet zoveel uit want die is gekoppeld aan de periode table met maand qtr jaar etc.
Hetgene wat ik nu in excel heb gemaakt, uitkomst is oke, manier van de uitkomst krijgen is niet helemaal correct zou ik graag automatisch in access willen.
Dit kan ik dan gebruiken in mn report.

Ik zie graag je reactie tegemoet,

Gr
 
Om je alvast een beetje op weg te helpen: hier een query die een deel van het probleem oplost, namelijk het berekenen van het verschil tussen 2 jaargangen. Dat ziet er dan zo uit:
Code:
SELECT Period, Jaar, Maand, Verkoop, (SELECT [Verkoop] FROM [Blad1] AS [t1] WHERE [t1].[Jaar] < [Blad1].[Jaar] AND [t1].[Maand] = [Blad1].[Maand]) AS VorigeVerkoop,
1-([Verkoop]/[VorigeVerkoop]) AS [Maand % VJ] FROM Blad1;
 
Hi Octafish,

Bedankt voor je reactie, ik vind het alleen lastig om dit zo toe te passen, zou je me een voorbeeld bestand kunnen sturen dan kom ik er daarna vast wel uit.. :D

Gr.
 
Ik heb jouw excel sheet letterlijk in Access geplakt en de query gemaakt. Moet je uit kunnen komen :).
 
Hi Octafish, ik ben er even mee aan het experimenteren, echter werkt de formule niet meer als ik data van 2010,2011,2012 en 2015 toevoeg.....
Snap dit gedeelte niet echt WHERE [t1].[Jaar] < [Blad1].[Jaar], zou je me dit kunnen uitleggen?
gr
 
Of moet het dan dit worden, WHERE [t1].[Jaar]= ([Blad3].[Jaar]-1)
Dit werkt nu, ben nu bezig om te kijken of de kwartalen opgeteld kunnen worden en dan daar het verschil van te zien %.
Enige suggesties?
 
Laatst bewerkt:
In WHERE [t1].[Jaar]= ([Blad3].[Jaar]-1) is Blad3 de tabelnaam; bij mij was dat Blad1 omdat ik jouw excel heb gekopieerd naar een Excel sheet. Maar sowieso moet dat dus verwijzen naar de tabel die je gebruikt. En hetzelfde geldt uiteraard voor de alias t1 die je op dezelfde tabel moet maken.
Een formule voor kwartalen is gruwelijk lastig, kan ik je alvast beloven :D. Wellicht onmogelijk zonder daarvoor een functie te maken. En dat is wel logisch, omdat je een lopend totaal moet maken waarvan de beginrecords steeds wisselen. Ik kom daar in ieder geval met een query niet uit. Maar ach, wie ben ik? :).
 
Hi Octafish,

Wederom bedankt voor je snelle reactie.

Ik heb misschien wel een ideetje om de kwartalen te fixen.
heb een sub query gemaakt om de totalen van de kwartalen te pakken en dit vervolgens gekoppeld aan de eerste query.

Echter het volgende snap ik niet in de database,
VorigeVerkoop: (SELECT [Verkoop] FROM [Blad3] AS [t1] WHERE [t1].[Jaar]= ([Blad3].[Jaar]-1) AND [t1].[Maand] = [Blad3].[Maand]) - Dit werkt
VorigeVerkoopQTR: (SELECT [Qtrsales] FROM [Blad3] AS [t1] WHERE [t1].[Jaar]= ([Blad3].[Jaar]-1) AND [t1].[Maand] = [Blad3].[Maand]) - bijna zelfde formula alleen vraagt andere data op maar geeft niet het goede resultaat... het pakt gewoon de data van de zelfde periode.... :S

Ik heb in de bijlage het bestand gestopt.

Zou je hier nog eens naar kunnen kijken.

Gr.
 

Bijlagen

Zie dat de bijlage niet upgeload is, sowieso als ik iets probeer up te loaden slaat telkens mijn scherm/browser vast en moet ik hem opnieuw opstarten.....
 
Ik denk dat ik weet waar de fout zit.
Dit is de formule die ik werkende wil krijgen:
VorigeVerkoopQTR: (SELECT [Qtrsales] FROM [Blad3] AS [t1] WHERE [t1].[Jaar]= ([Blad3].[Jaar]-1) AND [t1].[Maand] = [Blad3].[Maand])
Alleen de [Qtrsales] is informatie uit een query die gekoppeld is aan blad3.
Dus hoe zou de formule nu moeten dan ?

sql taal:
SELECT Blad3.Period, Blad3.Jaar, Blad3.Maand, Blad3.Verkoop, Blad3.Qtr, (SELECT [Verkoop] FROM [Blad3] AS [t1] WHERE [t1].[Jaar]= ([Blad3].[Jaar]-1) AND [t1].[Maand] = [Blad3].[Maand]) AS VorigeVerkoopMonth, ([Verkoop]-[VorigeVerkoopMonth])/([VorigeVerkoopMonth]) AS [Maand % VJ], [Query2 by quarter].Qtrsales, (SELECT [Qtrsales] FROM [Blad3] AS [t1] WHERE [t1].[Jaar]= ([Blad3].[Jaar]-1) AND [t1].[Maand] = [Blad3].[Maand]) AS VorigeVerkoopQTR
FROM Blad3 INNER JOIN [Query2 by quarter] ON ([Query2 by quarter].Qtr2 = Blad3.Qtr) AND (Blad3.Jaar = [Query2 by quarter].Jaar2);
 
Hoi allemaal,

Ik ben nog steeds aan het ***** met deze opgave, heb nu een andere formule gevonden.

SELECT A.Period, A.Verkoop (Select (Verkoop) From Query1 as B Where B.Period Between A.Period And DateAdd("m", -2, A.Period)) AS MOvingAverage
FROM Query1 AS A;

Dit zou moeten kloppen, alleen krijg ik een foutmelding. Zien jullie zo waarde fout in zit?

Gr
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan