Resultaat uit Query

Status
Niet open voor verdere reacties.

noukietje

Gebruiker
Lid geworden
3 apr 2006
Berichten
106
Uit mijn Query QKPI invullingsgraad wil ik als resultaat bekomen hoeveel % per type binnen zijn deadline zit. De berekening van de tijd is me ongeveer gelukt maar nu moet dit worden afgezet t.o.v. elk type.
MAW het functie type "Type 1 Log" moet binnen de 48h worden ingevuld. Het totaal van het % moet berekend worden op alle Type 1 log's en niet t.o.v. alle type functies.

Wie weet raad?

JulieBekijk bijlage Recruitering.rar
 
Ik heb je vraag nu al een paar keer voorbij zien komen, maar ik ben blijkbaar te dom om 'm te snappen... :confused:
Ik zie bijvoorbeeld in de tabel Vacature wel een veld Type, met daarin de waarde "Type 1 LOG" staan, maar ik zie die waarde in geen enkele tabel terugkomen. Hoe wil je daar dan een berekenining mee maken? Verder denk ik dat je te weinig zinvolle data in je tabellen stopt, want wat ik ook doe, er wil maar niks zinnigs uitkomen...
Kun je niet een voorbeeldje in Excel maken met daarin teksten en getallen die duidelijk maken wat er eigenlijk uit zou moeten komen volgens jou?
 
Ik heb het volgende bedacht om aan mijn resultaat te komen.
Type1 Log: IIf([Type]="Type 1 Log" And [Uur verschil]>48;["1"];["0"]) mijn formule werkt niet op mijn veld uur verschil dit is mijn berekend veld uit dezelfde Query. Maar mijn idee is dus om per type een formule aan te maken zodat hij al aangeeft per voorstelling of de deadline is gehaald of niet dus 1 of 0. Als dit al lukt kan ik per veld mijn 0 & 1 tellen. Kan dit idee werken en wat is er mis met mijn formule?
 
Het idee kan werken, maar je moet van de 1 en 0 natuurlijk geen velden maken. Dus:

Code:
[Uur verschil]>48;1;0
 
Hierdoor ben ik weer een stap verder.
Ik heb nu dus Query's gemaakt per type. Onderstaand het voorbeeld voor de Query die het type 1 Log doet.
  • uurverschil (gebaseerd op mijn vorige query die de tijd berekend)
  • Type (waarbij ik bij elke query als criteria het bepaald type opgeef, in dit vb is dit dus "type 1 LOG")
  • Type1 Log: IIf(([Type]="Type 1 Log") And ([Uur verschil]>48);"1";"0")
  • Totaal aantal Type1Log: DCount("Type";"qinvullingiff type 1 LOG")
Door deze query heb ik het overzicht van hoeveel er volgens dit bepaald type zijn en mijn eentjes en nullen duiden mij aan waar ik over mijn deadline zit.
Nu zou ik moeten kunnen tellen hoeveel Eentjes er zijn in het veld Type1 Log dan kan ik mijn formule maken om mijn % uit te rekenen. Hoe kan ik deze tellen?
 
Je de som van de eentjes delen door het aantal van de soort, in jouw voorbeeld "Type 1 Log".
 
Ja gewoon optellen,stom dat ik daar niet aan dacht ik zat bezig met count.
 
Ik ben er nog niet uit want mijn formule lukt niet. :100-((100/[totaal])*sum[Type])

Grtjs,
Jul
 
Er zin in ieder geval een fout in wat je hebt gepost:

Code:
100-((100/[totaal])*sum([Type]))
 
Ik heb mijn query dus opgemaakt zoals hierboven en deze werkt. Wanneer ik een extra veld bij maak met bovenvermelde code krijg ik de melding "Cannot have aggregate function in Group By claus (100-...). Wanneer ik Group By weg doe krijg ik de melding "You tried to execute a query that does not include the specified expression "uur verschil" as a part of an aggregate function. Wat klopt er niet in mijn query?
 
<Group by> gebruik je op velden die je kunt groeperen. Een berekening moet altijd de functie <Expressie> krijgen.
 
Maar het probleem is wanneer ik group by weglaat ik de andere melding krijg, dus met of zonder werkt mijn formule niet.
 
Welke query, en zit hij in je laatste voorbeeldje?
 
Ja hij zit in dat voorbeeld met die vraag over het formulier. Je ziet daar een aantal gelijke query's die telkens maar één cijfer verschillen. Dit zijn ook allemaal dezelfde behalve de keuze van type is anders.
 
Ik krijg hiermee wel een resultaat, maar heb uiteraard geen idee of je dit zoekt ;)

Code:
SELECT [Uur verschil], Type, IIf(([Type]="Type 1 Log") And ([Uur verschil]>48),"1","0") AS [Type1 Log], DCount("Type","qinvullingiff type 1 LOG") AS Totaal, (100-((100/[totaal])*Sum([Type1 Log])))/100 AS Perc
FROM [QKPI invullingsgraad]
WHERE (Type="Type 1 Log")
GROUP BY [Uur verschil], Type, IIf(([Type]="Type 1 Log") And ([Uur verschil]>48),"1","0");
 
Nee, ik wil eigenlijk in een nieuw veld het % berekenen en daarom had ik bovenvermelde formule ernaast gezet maar het is daarop dat hij mij die foutmeldingen heeft.
 
Mijn voorbeeldje berekent een percentage in een nieuw veld... Wat moet het resultaat dan zijn volgens jou?
 
Ja, ik heb het door, het klopt inderdaad maar ik zat aan 66 en overal stond er 100 behalve het laatste hij berekend per veld. Nu zou ik eigenlijk een rapport willen waar ik een totaal overzicht zie van alle types en dit per maand. Moet ik dan opnieuw een query maken waarin ik al deze query's terug samenbreng?
 
Laatst bewerkt:
De reden dat je meerdere records ziet in mijn voorbeeld komt doordat er gegroepeerd wordt op meerdere velden. Als je wilt rekenen met een totaalveld, moet je dus het aantal groepen terugbrengen. Overigens vraag ik me af of je wel zoveel verschillende queries nodig hebt die allmaal hetzelfde doen...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan