Summa med villkor

Tråden skapades och har fått 2 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2008-12-22 10:06

FM 8,5
Jag har en "bokningstabell" där varje utgående faktura bl a har ett bokningsnr (1-15), årtal samt en summa. I en annan tabell, där jag har årtal som relation, vill jag kunna se en total summa på de olika bokningsnr, per år.

Dvs det finns många fakturor på varje bokningsnr. Jag har försökt söka här på forumet och FMs egen hjälp, men vet inte riktigt vad jag ska söka efter. Har försökt den enkla vägen med if eller case funktioner, men utan framgångsrikt resultat.

Jag antar att jag hoppar över ett moment för att få det att fungera?

TinaS

Om du inte har mer än 15 bokningsnummer så går det ju att bygga upp 15 relationer och 15 beräkningsfält och 15 statiska fält.

Men om det är långt fler än 15 så måste du skapa en statistikrapport i den tabell som faktiskt innehåller informationen, dvs fakturor och inte någon annan tabell (via relation på år som du provat).

Använd guiden för att skapa statistikrapporten, sök fram poster under rätt år, sortera på bokningsnummer, skapa statistikfält för fakturasumma osv, så blir det bra. Ta bort huvuddelen också förstås. Glöm inte bort att statistikrapporter ser man inte hur de "blir" förräns de är sorterade i rätt ordning och de är i granskaläge.

Lösningen med 15
Skapa 15 statiska fält i tabellen där du hade årtalet.

Rel_Bokningsnummer_01
Rel_Bokningsnummer_02
Rel_Bokningsnummer_03

...osv. Det är beräkningsfält som innehåller beräkningen 1, 2, 3 osv...

Skapa även globalt fält att innehålla årtalet, så att man som användare lätt kan ändra det.

Rel_Årtal_G (G för global)

Skapa relation mellan dessa 15 fält OCH årtalet på vänstra sidan mot faktura-tabellen och fältet bokningsnummer OCH årtalet på högra sidan. Du kanske behöver extrahera årtalet ur fakturadatum med funktionen Year(fakturadatum) till ett separat fält först.

När du har dessa 15 relationer som kanske heter:

Statistik_Fakturering_Bokningsnummer_1
Statistik_Fakturering_Bokningsnummer_2
Statistik_Fakturering_Bokningsnummer_3

osv...

Så skapar du i samma tabell igen (den med årtalet) 15 beräkningsfält med beräkningen:

Sum(Statistik_Fakturering_Bokningsnummer_3::Ordersumma)

Dessa kan heta tex:
Summa_Fakturering_Bokningsnummer_1
Summa_Fakturering_Bokningsnummer_2
Summa_Fakturering_Bokningsnummer_3

osv...

Lägg ut allt i en layout, nu kan du fylla i ett årtal, lämna fältet och vips får du resultatet för faktureringen för det året för vart och ett av de 15 fälten.

(Det finns även en alternativ teknik där man klarar sig med en relation, ett globalt fält att innehålla bokningsnummer, 15 numerska fält att innehålla summan, och ett manus som loopar igenom 15 bokningsnummer, läser av värdet, sparar undan det i rätt fält och tar nästa osv... Men den tekniken kan vi spara tills du har flera än 15 bokningsnummer.)

God jul!

Senast redigerat 2008-12-23 12:41
  • Medlem
  • International user
  • 2009-02-12 09:53

Tack för ditt svar Taz.
Jag gjorde inte exakt som du föreslog, men du fick mig att tänka i andra banor så med din hjälp löste det sig! Som vanligt. Tack!
Tina

1
Bevaka tråden