Jump to content

Problems with Reverse Calculation


Recommended Posts

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.
 

Quote

 

Input Field of Total Calculation:
121,60

Calculation 2 removes 4% from the previous field => (wTotale-(wTotale*100/104))
4,68 (and here it is the first error, it is supposed to return 4,60)

Calculation 1 calculates 15% of the yet unknown "Base Imponibile" field => (wTotale-wCPA)-wBaseImponibile
16,74 (and here it ss the second error, it is supposed to return 15,00)

Calculation 3 it is supposed to calculate the last value "Base Imponibile" => wTotale-2-(wTotale-(wTotale*100/119))
100,18 (and here it is the third error, since it is supposed to return 100,00)

 

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.

ccc.png

ddd.png

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

I then want to make a reverse calculation, where I input the expected result of Total Calculation and tells me all the other values

Consider:

Let ( [
a = Input - 2 ; 
b = a / 1.04 ;
c = a - b ; 
d = b / 1.15 ;
e = b - d
] ;
List ( a ; b ; c ; d ; e  )
)

With Input = 121.6, this returns:

119.6
115
4.6
100
15

 

  • Like 1
Link to post
Share on other sites
2 hours ago, comment said:

Consider:




Let ( [
a = Input - 2 ; 
b = a / 1.04 ;
c = a - b ; 
d = b / 1.15 ;
e = b - d
] ;
List ( a ; b ; c ; d ; e  )
)

With Input = 121.6, this returns:




119.6
115
4.6
100
15

 

This returns the exact numbers I need to get and it seems a much more elegant solution than the faulty one I devised. Only, I was wondering, can the LIST part be delegated to single fields instead of having one big field with all the results? So for instance have a field that lists separately A, B, C, etc taking the input from the previous calculation with the LET function? Otherwhise instead of getting for instance

Quote

100,00
15,00
4,60


I get this
 

Quote

100154,60

Also, for some reasons I can tell FM to add the mandatory 2 decimals only for the last number while the first two results are 100 and 15 rather than 100,00 and 15,00

Edited by Mafia2020
Link to post
Share on other sites
17 minutes ago, Mafia2020 said:

can the LIST part be delegated to single fields

Of course it can. The list was just a convenient way of showing how to calculate all parts at once. You can easily split this to individual fields - for example:

Let ( [
a = Input - 2 ; 
b = a / 1.04 
] ;
a - b
)

will return 4.6 in your example.

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

Of course it can. The list was just a convenient way of showing how to calculate all parts at once. You can easily split this to individual fields - for example:


Let ( [
a = Input - 2 ; 
b = a / 1.04 
] ;
a - b
)

will return 4.6 in your example.

Thank you for your patience and pointers, it now works exactly as I intended to.

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 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
    • 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

    1 member has viewed this topic:
    PedroAlex 
×
×
  • Create New...

Important Information

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