Van Aantallen percentages berekenen

Status
Niet open voor verdere reacties.

yolandal

Gebruiker
Lid geworden
30 mei 2008
Berichten
145
Kan iemand mij helpen met de volgende vraag?

Ik heb 2 rapporten (A en B), en wil op rapport A het Aantal (contacten) berekenen als percentage met het Aantal op rapport B.

De aantallen heb ik al d.m.v. =Aantal(*)

Maar nu wil ik dit veld dus uitbreiden (of veld kopieren en plakken) met het percentage van een Aantal van rapport B.

Voorbeeld:
Op rapport A heb ik het totale aantal contactpersonen in NL.
Op rapport B heb ik het totale aantal contactpersonen in provincie NH.

Nu wil ik dus weten hoeveel percentage het aantal van de provincie in NH is ten opzichte van het totaal in NL.

Het moet volgens mij niet zo ingewikkeld zijn, en hoef ik volgens mij alleen maar wat achter het (*) te typen, maar ik ben (nog) niet thuis in de expressies en codes.....

Wie kan me zeggen hoe?

Hartelijk dank, Yolanda
 
Wat ik meestal doe als ik percentages wil berekenen: ik maak een query die het totaal berekent. Daar hoeft niet veel in te staan, in jouw geval waarschijnlijk de landcode, en het totaal. Eventueel met een filtering op land met de groepering <Waar>
Vervolgens heb je de query waarin je totalen per provincie berekent. Hier neem je de query Totaal in op. Je koppelt hem daarbij niet, of, als je meer landen hebt, aan de landcode in de query/tabel. Normaal gesproken kun je met <Waar> op land filteren, en hoef je de query Totaal niet te koppelen.
Vervolgens Maak je de berekening met het veld Totaal uit de query Totaal, en het totaal per provincie.
Het rapport hoeft verder dan geen probleem te zijn.
De formule =Aantal(*) kun je voor een percentageberekening niet gebruiken. Ik zou zelfs aanraden om de formule te vervangen door: =Aantal(1), omdat hij een stuk sneller is (bij wat grotere tabellen). Het asterisk teken betekent in de formule niets anders dan tel alle velden van alle records. Door het sterretje te vervangen door een 1 is de formule: tel alle records waar het veld 1 vookomt. En dat scheelt vaak een hoop veldjes tellen, dus snelheidswinst.
 
Hi Michel,

Helaas begrijp ik helemaal niet wat je zegt, het is me veel te vaag (voor mijn niveau). Ik ben nog een beginneling en ken de stappen nog niet om jouw instructies op te volgen.

Ik wil voor mij niveau denk ik te veel, en aangezien ik dat nog niet beheers, kan ik alle adviezen helaas niet opvolgen.

Ik zou zo graag 1-op-1 begeleid willen worden met de vragen die ik heb, gewoon via de mail of telefoon. Als iemand mij daarbij kan helpen dan hoor ik dat graag. Ik leer snel, en als ik eenmaal op weg ben, pak ik het wel op. Maar ik heb dus nu een 'gat' in mijn kennis....

Groetjes, Yolanda
 
Ik zou zelfs aanraden om de formule te vervangen door: =Aantal(1), omdat hij een stuk sneller is (bij wat grotere tabellen). Het asterisk teken betekent in de formule niets anders dan tel alle velden van alle records. Door het sterretje te vervangen door een 1 is de formule: tel alle records waar het veld 1 vookomt. En dat scheelt vaak een hoop veldjes tellen, dus snelheidswinst.

Interessant punt echter pertinent onjuist.
In de regel is het eerder andersom, Count(*) is het snelst.

Advies is prima.
Zorg er wel voor dat je advies gedegen onderbouwt.
Nu zet je nietsvermoedende vragenstellers op het verkeerde been :(

Tardis
 
@Tardis: ik heb erbij uitgelegd waarom Aantal(1) sneller is, en mijn ervaring is ook gebaseerd op eigen ervaring. Ik vind het sneller. Dus als jij kunt aantonen dat Aantal(*) sneller is, dan graag wel onderbouwen... En met jouw opmerkingen komt Yolanda volgens mij ook geen steek verder :(

@ Yolanda:
Het helpt, als je een voorbeeldje kunt posten, waar we wat mee kunnen stoeien, als je er niet uitkomt.
Om mijn oplossing verder te verduidelijken: je moet dus een paar handelingen verrichten, om het gewenste resultaat te zien.

Graag aangeven welke stappen je niet voor elkaar krijgt, want op zich zijn ze geen van alle moeilijk.

Stap 1:
Maak een query die het totaal berekent voor Nederland. Dit totaal maak je door in de query de knop Totalen aan te zetten, en de functie Aantal te gebruiken. Als je meer landen hebt, dan zou ik ook het veld met de Landcode erbij zetten, en dat veld op Groeperen, zodat je tellingen krijgt per land. Eventueel zet je bij Criteria een filtering op Nederland, omdat je die alleen maar hoeft te zien.

Stap 2:
De volgende stap is het uitbreiden van rapport B. Rapport A, met het overzicht voor Nederland, heb je voor de berekening niet nodig. Die laten we dan ook buiten beschouwing.
In Rapport B heb je (uiteraard) een Recordbron geselecteerd. Dit is ofwel een tabel, ofwel een query. Omdat je al filtert op een provincie, vermoed ik dat je een query gebruikt. Dus daar ga ik nu verder van uit. Is het een tabel, dan komt er een tussenstapje bij: je moet dan van de tabel een query maken. (Knop met de drie puntjes)
Je selecteert dus nu in het tabblad <Eigenschappen> van het Rapport op het tabblad <Gegevens> de optie Recordbron, en klikt op de knop met de drie puntjes. Hier zie je de query staan die je voor het rapport hebt gemaakt. Aan deze query moet je de query uit Stap 1 toevoegen. Laten we zeggen, dat je die [qTotaal_NL] hebt genoemd. Via de knop <Tabel toevoegen> selecteer je dus de query [qTotaal_NL]. Deze query laat je ongekoppeld staan, want je wilt alleen het Totaal van NL gebruiken, dat in die query staat. Als je de naam niet hebt veranderd, zal het iets van [AantalVanLand] heten, dus die naam gebruik ik nu maar even. Je kunt bijvoorbeeld dubbelklikken op [AantalVanLand] om het toe te voegen aan de query. Als je de query nu uitvoert, zie je de totalen per provincie, en achteraan het totaal per land. Dat is voor elk record hetzelfde, omdat de query niet is gekoppeld. En dat wil je ook!

Stap 3:
Je wilt nu de berekening van het percentage nog hebben. Dat is een berekening, de je ook in de query gaat toevoegen. Zet daartoe de cursor in een leeg veld achteraan de query, en maak de berekening die het percentage uitrekent. Laten we er even vanuit gaan, dat je totaal per provincie [TotaalPerProvincie] heet, dan ziet de berekening er als volgt uit: [TotaalPerProvincie]/[AantalVanLand] .
Als je de query uitvoert, moet je nu dus de berekening zien die je wilt hebben. Als laatste kun je de Eigenschap van de berekening nog op Percentage zetten, zodat het er wat netter uitziet. Overigens kan dat ook in het rapport, dus het hoeft nu niet.

Stap 4:
Als de berekeningen kloppen, kun je de query sluiten. De nieuwe velden moeten nu nog worden toegevoegd aan het rapport, want de recordbron is nu aangepast, dus de velden moeten nog worden toegevoegd. Dat is de makkelijkste stap, dus daar kom je denk ik wel uit...

Heb je meer hulp nodig: een voorbeeldje is voor ons een stuk makkelijker werken, dus als dat kan, dan graag!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan