Jump to content

Calculation to get Total Revenues broken down by Year


Recommended Posts

I know the solution is probably very easy but it escapes me. I got this database, which I use to create invoices, year after year, I created a report page where with a neat summary field I get the "lifetime revenues", "lifetime general expenses", "lifetime total taxes" and "lifetime total invoices number", which is handy, but I need to have the same data broken down by year, and I can't figure out how to achieve that.

In another post I have been suggested to consolidate the three tables I had (Invoices 2018, Invoices 2019 and Invoices 2020) into a single table (Invoices) and then use a "subsummary" which would give me the data I want based on how I sort the records but I am not sure how to use subsummaries nor I am sure I want something where I have to multiple click to re-order records to get data one at a time; I'd rather prefer a report where a calculation of some sort would make a sum of the total revenue of my invoice records broken down by year, as I exemplified in the database I'm attaching, is that possible in an easy, possibly not involving complicated subsummaries way?

I'm beginning to get desperate on the subject, please have mercy. :)

Invoices Demo.fmp12

Link to post
Share on other sites

There are a couple of ways to do this, but using a calculation or summary probably wouldn't be my choice.  The old invoice data is static and shouldn't have to be recalculated every time you want to see the numbers.  So consider creating a "totals" table and at the end of each fiscal period, compile the numbers for the year or period closing and post them to that totals table.

That will make reporting on them very fast since you wouldn't need to recalc.

Link to post
Share on other sites
On 12/12/2020 at 3:07 PM, comment said:

See if this basic demo helps you figure it out.

---
P.S. This is a continuation of your previous topic and should have been posted there.

SummaryReport.fmp12 168 kB · 4 downloads

I tried to make my DB work based on your example (it took me a while to figure out there was a script involved, something I never used so far) but I am still having some unidentified problems, even though (I think) I replicated the script and the table/fields, in particular my sub-summary by cYear is "Trailing" while yours is "Leading" and I have no idea how to make mine "Leading", nor I know if that is the mistake that prevents me to achieve what happens in your example, in your example I get a neat serie of fields each with years and totals such as (2018 - 1.000$ ; 2019 - 5.000$
; 2020 - 10.000$) and then the grand total (26.000$); but in the file that I replicated the only thing that really work is the grandtotal which is correct but just because it is a summary of all records, on the subsummary part I only get the grand total again on one line and I lose the specific for each year. Also, on my file I get a weird warning about a "Script Paused Continue/Cancel", which I also don't know if it impacts the behaviour of my database, I'm including screenshots for clarity.

On 12/12/2020 at 3:50 PM, Wim Decorte said:

There are a couple of ways to do this, but using a calculation or summary probably wouldn't be my choice.  The old invoice data is static and shouldn't have to be recalculated every time you want to see the numbers.  So consider creating a "totals" table and at the end of each fiscal period, compile the numbers for the year or period closing and post them to that totals table.

That will make reporting on them very fast since you wouldn't need to recalc.

You mean calculate manually the totals for each fiscal period and put them manually on another table? Or did I misread? That would be an idea but I'd rather have the calcs done by the software which is safer than me inputing manually the data.

AAA.png

BBB.png

Link to post
Share on other sites
24 minutes ago, Mafia2020 said:

it took me a while to figure out there was a script involved, something I never used so fa

 

Definitely look at scripted solutions for updating totals.  FM is more than a spreadsheet so it doesn't need to always work with nothing but calculations and summaries.  While that is easy and get you going quickly, those things turn out to be serious performance impediments as your solution grows.  Scripted workflows will bring tremendous power to your solution.

Link to post
Share on other sites
30 minutes ago, Mafia2020 said:

my sub-summary by cYear is "Trailing" while yours is "Leading"

If the layout does not have a body part, then it makes no difference (at least not in this case).

30 minutes ago, Mafia2020 said:

on the subsummary part I only get the grand total again on one line and I lose the specific for each year.

Obviously, you're doing something wong - but I cannot tell what it is based on a screenshot.

30 minutes ago, Mafia2020 said:

on my file I get a weird warning about a "Script Paused Continue/Cancel",

In my file, the script is paused to show the report. When you resume the script, it returns you back to the starting point. This is just for the convenience of the demo; you can change this to suit your preferred workflow.

 

Edited by comment
Link to post
Share on other sites
18 hours ago, comment said:

Obviously, you're doing something wong - but I cannot tell what it is based on a screenshot.

In my file, the script is paused to show the report. When you resume the script, it returns you back to the starting point. This is just for the convenience of the demo; you can change this to suit your preferred workflow.

 

That's fair enough. I hoped my mistakes where easy enough. I'm attaching the demo file, could you point me where the error(s) is. This thing is driving me crazy. I want to accomplish what you were able to. Please, be patient with me, it's my very first time delving with scripting in FM.

Invoices Demo.fmp12

Link to post
Share on other sites

I didn't mean I wanted to debug your file....

Anyway, I see two mistakes in the file you posted:

  1. Your script is sorting by the Data field, instead of the cYear field;
  2. Your report layout is in Form View instead of List View.

 

Link to post
Share on other sites
54 minutes ago, comment said:

I didn't mean I wanted to debug your file....

Anyway, I see two mistakes in the file you posted:

  1. Your script is sorting by the Data field, instead of the cYear field;
  2. Your report layout is in Form View instead of List View.

 

I'm sorry, I didn't mean I felt entitled to get my DB debugged, I was just growing desperate about the issue, anyways, thank you for sharing your knowledge, it may be something trivial in relation to your skills but that problem really buggered me for days and your two remarks really got me going, it now works as intended. I have a followup question on the same matter, if you could advise me on it, I'd like to add a field for each year where it would calculate the % difference in yearly revenue, normally I'd go with a calculation field which compares two numbers in two different fields and gives a % as a result, but I am not too sure that thing would work with subsummaries and sorting involved since the numbers I wish to compare are shown based on the records ordered by a date rather than being fixed.

Link to post
Share on other sites
3 hours ago, comment said:

Do you mean compared to the previous year's revenue? 

 

Exactly. Something like, adding to the existing scheme

2018 - 1.000€
2019 - 1.500€
2020 - 3.000€

2018 - 1.000€ - 0
2019 - 1.500€ - +50%
2020 - 3.000€ - +100%

Link to post
Share on other sites

Unfortunately, this is not so simple. It requires adding (at least) two fields for each value being compared. I have amended my previous demo to show how it can be done. Note that here it does matter that the sub-summary part is leading (there is a way to make it work with a trailing sub-summary too, but that requires adding even more complexity).

You can see that with so many fields, a summary table as suggested by Wim DeCorte gets more attractive. However, that brings its own complexity: you would need to plan very carefully when and how each year gets added to such table, and how to handle the current year's data in the report. I would hesitate to recommend such undertaking to a novice.

OTOH, it should be pointed out that if you chose a visual comparison instead of calculating the change in percentages, the built-in charting tool provides a relatively easy way to do so.

 

SummaryReport+Comparison.fmp12

Link to post
Share on other sites
15 hours ago, comment said:

Unfortunately, this is not so simple. It requires adding (at least) two fields for each value being compared. I have amended my previous demo to show how it can be done. Note that here it does matter that the sub-summary part is leading (there is a way to make it work with a trailing sub-summary too, but that requires adding even more complexity)

 

I managed to correct the leading/trailing, apparently you choose that on subsummary creation when you're asked if you want it printed above (which corresponds to leading) or printed below (which corresponds to trailing). Once I did that and replicated your suggestions it now works as advertised. You're truly helping me out man, I can't tell how invaluable your help is being on the matter. Now I may even venture into charting territory, another thing I could NEVER pull out with Filemaker.

Edited by Mafia2020
Solved the leading/trailing
Link to post
Share on other sites
  • 3 weeks later...
On 12/17/2020 at 7:56 PM, comment said:

Unfortunately, this is not so simple. It requires adding (at least) two fields for each value being compared. I have amended my previous demo to show how it can be done. Note that here it does matter that the sub-summary part is leading (there is a way to make it work with a trailing sub-summary too, but that requires adding even more complexity).

You can see that with so many fields, a summary table as suggested by Wim DeCorte gets more attractive. However, that brings its own complexity: you would need to plan very carefully when and how each year gets added to such table, and how to handle the current year's data in the report. I would hesitate to recommend such undertaking to a novice.

OTOH, it should be pointed out that if you chose a visual comparison instead of calculating the change in percentages, the built-in charting tool provides a relatively easy way to do so.

 

SummaryReport+Comparison.fmp12 168 kB · 4 downloads

I got a followup question. If I wanted to use the value obtained in each subsummary as a variable in a new subsummarized calculation, which road should I take?

So, for instance, currently, thanks to your input I got a report page which displays total revenues like this:

2018 - 6.000
2019 - 12.000
2020 - 24.000

I'd like to add a calculated field to each row where the variable would be the subsummarized result divided by 12 in order to get a montly revenue (so in that case it would be 6.000, 12.000 and 24.000 / 12 that would get me 500, 1.000 and 2.000). Sorry for asking something that trivial but I am still a little confused about subsummaries. Perhaps a LET function would do?

Link to post
Share on other sites
1 hour ago, Mafia2020 said:

to use the value obtained in each subsummary as a variable in a new subsummarized calculation

That's what the GetSummary() function does.

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By Nick Lightbody
      My new piece on Medium - with an in depth performance analysis between different types of deployment for FileMaker Server.
      Deployment in a Docker Container on a powerful cloud server comes out as a standout option.
      It will be fascinating to hear your own experience - does it differ from what my testing reveals?
      It will also be fascinating to hear from Wim how the results he gets from his new Punisher performance tool compare with what we get with dsBenchmark?
      Cheers, Nick

      https://nicklightbody.medium.com/claris-filemaker-server-19-a-performance-test-of-linux-v-windows-4bb007b5e2d7
       

    • By Don_Macaroni
      I have a regular text field with a height of 20 px in Layout mode. In Browse mode that height is respected. But when I select the field, the height seems to triple and a blue border is added. How do I get rid of this behavior? No doubt it has to do with the stupid Themes thing, but how do I edit that? And is there a way to completely remove the Themes/Styles from a database? This feature has zero usable themes as they are ALL UGLY. I create a nice pro look and copy paste fields, Filemaker Themes/Styles s*ck.
    • By Mafia2020
      I have a calculation that goes like that, I input a number on "Base Imponibile" (say 100), it adds 15% (it gets me 115), it then calculates 4% to the previous result (115) and it gets me 4,60, I then add 2 and the total is 121,60 which is perfect.
      And that's the part that works just fine. But I then want to make a reverse calculation, where I input the expected result of Total Calculation and tells me all the other values and here it's where things go awry.
       
      I'm attaching the initial calculation that works as a reference and the reverse calculation which doesn't work as an example. The "2" that gets subtracted in the reverse calculation is a fixed value of a small tax that I have to deduct (imposta di bollo).
      I have a feeling that the reverse calculation goes crazy because of some unwanted rounding somewhere, but I am not to sure, so I seek the opinion of more calculation versed persons around.


    • By Mafia2020
      I'm not even sure to describe under which category my specific problems fall into, I can only advance some hypothesys, so I'll just describe it and let the wisdom of others guide me.
      I have a DB with several tables, I use them to make invoices. With every invoice I input the desired price and it adds automatically 19% taxes and produces a neat invoice which I can print, these three tables are called:
      Invoices 2018
      Invoices 2019
      Invoices 2020
      Now on to my problem. I wanted to create a forth table where from every previously listed table it would calculate the total revenue of the year in question, broke down like this:
      - Total Net price paid for 2018
      - Taxes for 2018
      - Total revenue for 2018 (net+taxes)
      - Total Net price paid for 2019
      - Taxes for 2019
      - Total revenue for 2019 (net+taxes)
      - Total Net price paid for 2020
      - Taxes for 2020
      - Total revenue for 2020 (net+taxes)
       
      I am unsure how to proceed, I tried creating a forth layout and a new table but I have problems brining the summary field from each year's table into the forth table/report/layout.
    • By ChangeAgent
      I just moved form 18 to 19.
       
      In FMP 18 I had a folder in my applications folder that was called “FileMaker Pro 18 Advanced”.
       
      It contained:
      FMPA Read Me (English).pdf
      FMPA Acknowledgements.pdf
      FMI Runtime Resources
      FileMaker Pro 18 Advanced
      Extensions
      English Extras
       
      After upgrading to 19 IO do not see that 19 has the same folder.  Is this a problem?  What to do? 
       
      Any tips or ideas? 
  • Who Viewed the Topic

    5 members have viewed this topic:
    Aussie John  BertWeijs  Milerfake  overlook  vwgtiturbo 
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.