Inxdexcijfers met Access

Status
Niet open voor verdere reacties.

marka

Gebruiker
Lid geworden
14 jul 2009
Berichten
333
Code:
SELECT [(1) Selectie Query].[artikel$], Max(IIf([periode]="082009",[prijs_valuta],Null)) AS 082009, Max(IIf([periode]="092009",[prijs_valuta],Null)) AS 092009, Max(IIf([periode]="102009",[prijs_valuta],Null)) AS 102009, Max(IIf([periode]="112009",[prijs_valuta],Null)) AS 112009, Max(IIf([periode]="122009",[prijs_valuta],Null)) AS 122009, Max(IIf([periode]="012010",[prijs_valuta],Null)) AS 012010, Max(IIf([periode]="022010",[prijs_valuta],Null)) AS 022010, Max(IIf([periode]="032010",[prijs_valuta],Null)) AS 032010, Max(IIf([periode]="032010",[prijs_valuta],Null)) AS 042010, Max(IIf([periode]="052010",[prijs_valuta],Null)) AS 052010, Max(IIf([periode]="062010",[prijs_valuta],Null)) AS 062010, Max(IIf([periode]="072010",[prijs_valuta],Null)) AS 072010, Max(IIf([periode]="082010",[prijs_valuta],Null)) AS 082010, Max(IIf([periode]="092010",[prijs_valuta],Null)) AS 092010, Max(IIf([periode]="102010",[prijs_valuta],Null)) AS 102010, [(2) Eerste inkoopdatum].[Periode eerste]
FROM [(2) Eerste inkoopdatum] RIGHT JOIN [(1) Selectie Query] ON [(2) Eerste inkoopdatum].[artikel$]=[(1) Selectie Query].[artikel$]
GROUP BY [(1) Selectie Query].[artikel$], [(2) Eerste inkoopdatum].[Periode eerste];

Output voorbeeld heb ik toegevoegd als excel bestand. Waarbij geel de gewenste output is (voorbeeld voor 2 artikelen).

Nu zou ik het volgende willen:
Voordat de 1e waarde gevonden wordt is de waarde in het veld 100. De veld waar voor het eerste een waarde gevonden wordt is ook nog 100. De velden daarna zijn ook 100 tot er weer een waarde gevonden wordt. Dan is het nieuwe (waarneming/oude waarneming (1e waarneming uiteraard) * 100) en daarna is de waarde de waarde van dit indexcijfer.
 

Bijlagen

Kun je niet de tabellen posten met wat gegevens? Want zo kom ik er ook niet uit...
 
Excuses ik zie nu je reactie pas. Ik kan even kijken, maar het is best veel data en om dat nu allemaal weer fictief te maken. Ik zou even kijken.
 
Dat moet wel lukken.... Het gaat wat makkelijker als je ook gegevens hebt :)
 
Heb je al mogelijkheid gezien hier naar te kijken.
 
Ik heb er al wel even naar gekeken, maar het is niet de eenvoudigste vraag :)
Dus nog geen oplossing.... Maar ik ben er dus nog wel mee bezig.
 
Okee ik ga er zelf ook even naar kijken heb wel een idee, maar worden wat tussenstappen denk ik.
 
Volgens mij ben ik aardig op weg krijg de code even niet geplakt, maar houd je op de hoogte. Mocht je ernaar aan het kijken zijn wacht maar even :).
 
Code:
SELECT [(3) Historische Inkoopprijzen].[artikel$], [(3) Historische Inkoopprijzen].[Periode eerste], [(3) Historische Inkoopprijzen].[Maximale Prijs Eerste Maand], IIf([082009] Is Null,100,IIf([082009]=[maximale prijs eerste maand],100)) AS 08_2009, IIf([092009] Is Null,[08_2009],IIf([092009]=[maximale prijs eerste maand],100,([092009]/[maximale prijs eerste maand]*100))) AS 09_2009, IIf([102009] Is Null,[09_2009],IIf([102009]=[maximale prijs eerste maand],100,([102009]/[maximale prijs eerste maand]*100))) AS 10_2009, IIf([112009] Is Null,[10_2009],IIf([112009]=[maximale prijs eerste maand],100,([112009]/[maximale prijs eerste maand]*100))) AS 11_2009, IIf([122009] Is Null,[11_2009],IIf([122009]=[maximale prijs eerste maand],100,([122009]/[maximale prijs eerste maand]*100))) AS 12_2009, IIf([012010] Is Null,[12_2009],IIf([012010]=[maximale prijs eerste maand],100,([012010]/[maximale prijs eerste maand]*100))) AS 01_2010, IIf([022010] Is Null,[01_2010],IIf([022010]=[maximale prijs eerste maand],100,([022010]/[maximale prijs eerste maand]*100))) AS 02_2010, IIf([032010] Is Null,[02_2010],IIf([032010]=[maximale prijs eerste maand],100,([032010]/[maximale prijs eerste maand]*100))) AS 03_2010, IIf([042010] Is Null,[03_2010],IIf([042010]=[maximale prijs eerste maand],100,([042010]/[maximale prijs eerste maand]*100))) AS 04_2010, IIf([052010] Is Null,[04_2010],IIf([052010]=[maximale prijs eerste maand],100,([052010]/[maximale prijs eerste maand]*100))) AS 05_2010, IIf([062010] Is Null,[05_2010],IIf([062010]=[maximale prijs eerste maand],100,([062010]/[maximale prijs eerste maand]*100))) AS 06_2010, IIf([072010] Is Null,[06_2010],IIf([072010]=[maximale prijs eerste maand],100,([072010]/[maximale prijs eerste maand]*100))) AS 07_2010, IIf([072010] Is Null,[07_2010],IIf([082010]=[maximale prijs eerste maand],100,([082010]/[maximale prijs eerste maand]*100))) AS 08_2010, [(3) Historische Inkoopprijzen].[082009], [(3) Historische Inkoopprijzen].[092009], [(3) Historische Inkoopprijzen].[102009]
FROM [(3) Historische Inkoopprijzen];

Dit is de oplossing voor mij

Waarbij je onderstaande query ook nog toe moet voegen

Code:
SELECT [(1) Selectie Query].[artikel$], [(2) Eerste inkoopdatum].[Periode eerste], [(3) Eerste Inkoopdatum met prijs].MaxVanprijs_valuta AS [Maximale Prijs Eerste Maand], Max(IIf([periode]="082009",[prijs_valuta],Null)) AS 082009, Max(IIf([periode]="092009",[prijs_valuta],Null)) AS 092009, Max(IIf([periode]="102009",[prijs_valuta],Null)) AS 102009, Max(IIf([periode]="112009",[prijs_valuta],Null)) AS 112009, Max(IIf([periode]="122009",[prijs_valuta],Null)) AS 122009, Max(IIf([periode]="012010",[prijs_valuta],Null)) AS 012010, Max(IIf([periode]="022010",[prijs_valuta],Null)) AS 022010, Max(IIf([periode]="032010",[prijs_valuta],Null)) AS 032010, Max(IIf([periode]="032010",[prijs_valuta],Null)) AS 042010, Max(IIf([periode]="052010",[prijs_valuta],Null)) AS 052010, Max(IIf([periode]="062010",[prijs_valuta],Null)) AS 062010, Max(IIf([periode]="072010",[prijs_valuta],Null)) AS 072010, Max(IIf([periode]="082010",[prijs_valuta],Null)) AS 082010, Max(IIf([periode]="092010",[prijs_valuta],Null)) AS 092010, Max(IIf([periode]="102010",[prijs_valuta],Null)) AS 102010
FROM ([(2) Eerste inkoopdatum] RIGHT JOIN [(1) Selectie Query] ON [(2) Eerste inkoopdatum].[artikel$] = [(1) Selectie Query].[artikel$]) LEFT JOIN [(3) Eerste Inkoopdatum met prijs] ON [(1) Selectie Query].[artikel$] = [(3) Eerste Inkoopdatum met prijs].[artikel$]
GROUP BY [(1) Selectie Query].[artikel$], [(2) Eerste inkoopdatum].[Periode eerste], [(3) Eerste Inkoopdatum met prijs].MaxVanprijs_valuta;
 
Ik zal 'm eens bekijken. 't Is een hele lap :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan