Jump to content
Server Maintenance This Week. ×

Calculation to get Total Revenues broken down by Year


n7mafia

This topic is 1210 days old. Please don't post here. Open a new topic instead.

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 comment
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 comment
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 comment
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 comment
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 comment
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 comment
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 comment
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 comment
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 comment
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 comment
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 comment
Share on other sites

This topic is 1210 days old. Please don't post here. Open a new topic instead.

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
×
×
  • Create New...

Important Information

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