Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Juggernaut

Featured Replies

Hi Forum - I am using Filemaker 7 client and need the following calc :)- The Lowest Common Denominator (actually what I think I need is greatest common factor) over 5 columns. Not sure if I would actally need more than one field because it would run something like this - LCD(field1, field2, field3, field4, field5)

Any suggestions ?

Many thanks in advance

Glorifindal

Edited by Guest

Welcome to the Forums.

Nothing like starting with an easy one?

The way to calculate this is by finding the prime factors for each of the five fields.

Field1 = 21 = 3 x 7

Field2 = 42 = 2 x 3 x 7

Field3 = 49 = 7 x 7

Field4 = 63 = 3 x 3 x 7

Field5 = 77 = 7 x 11

Now multiple the factor pairing combinations to receive the lowest common denominator.

2 x 3 x 3 x 7 x 7 x 11 = 9702

The factor pairing break down:

Field1 = 3 (3rd factor) x 7 (4th factor)

Field2 = 2 (1st factor) x 3 (2nd factor) and 3 (3rd factor) x 7 (4th factor) and 2 (1st factor) x 7 (4th factor)

Field3 = 7 (4th factor) x 7 (5th factor)

Field4 = 3 (2nd factor) x 3 (3rd factor) and 3 (3rd factor) x 7 (4th factor) and 3 (3rd factor) x 7 (4th factor)

Field5 = 7 (5th factor) x 11 (6th factor)

LCD = 9702

This could be completed in one complex, recursive, custom function or by combining a simpler, recursive, custom function used in five fields and a second recursive, custom function to put the prime factors together.

The way to calculate this is by finding the prime factors

That is ONE way, not necessarily THE way. Probably the least suitable one to implement as a computer algorithm. I'd try a custom function like this one.

  • Author

Many thanks -

I will look at both suggestions and get back when I am happy with one of them - I did sort of suspect a recursive calc would be needed, but was really in the dark as where to start

Cheers

Glorifindal

  • Author

OK, so many thanks for the suggestions - I have to admit I am lost on both - I really need to work over 5 fields - all 5 fields will add up to 100 percent - so it could be field1 = 5, field2 = 5, field3 = 20, field4 = 30, field5 = 40.

To explain - I started off with 2 fields, 80% and 20% - the result being 4 which is 80 divided by 20 without a reminder - and it has now become 5 fields.

I am unable to grasp how to implement the first suggestion OR modify the second suggestion - lost in space really

Anyone able to help ?

Glorifindal

Could you explain what do you want as the result (or results)?

  • Author

Thanks for the quick reply

I need what I think is the lowest common multiple i.e for my first example it was field1 = 80, field2 = 20, calc = 4 - which was the highest divided by the lowest - in this example there was nothing left over so 4 is correct - divide 84 by 18 to get a quotient of 4 and a remainder of 12. Then divide 18 by 12 to get a quotient of 1 and a remainder of 6. Then divide 12 by 6 to get a remainder of 0, which means that 6 is the gcd - which is only possible with 2 integers - I need to do this with 5 integers.

Is my need any clearer ?

Many thanks

Glorifindal

No, I am afraid it's even more confusing. Perhaps if you explained what these number represent, and what do you REALLY need to know as a result of the calculation. Surely, unless this is an excercise in math, you are not really interested in the GCD as such?

In general, to get the GCD of more than two numbers, I think you would start with any two, then repeat the process with the first result and the third number as input, and so on. But I have a feeling this might not be required.

Glorifindal,

From the earlier example:

field1 = 5, field2 = 5, field3 = 20, field4 = 30, field5 = 40

Lowest Commmon Multiple = 120

Greatest Common Demonimator = 5

If I understand your example correctly then these should be your answers?

In the later explanation, I do not understand where the "divide 84 by 18 to get a quotient of 4..." numbers come from. 84 = field1 (80) + GCD of field1 and field2?

Do a search on the interweb for Lowest Commmon Multiple and Greatest Common Demonimator to see what they are and how they are calculated.

This link to the custom function above appears to be the start of what you're looking for..the Greatest Common Factor. But this function only covers 2 values.

To get our 5 values, install the function GCF from Scott Morrison referenced above. Then create a new one

GCF5 = GCF(E;GCF(D;GCF(D;GCF(C;GCF(B ; Mod(A ;B) ) ))))

with parameters A, B, C, D, E

There might be a more elegant solution (I'm just starting at CF development) but it works.

G

  • Author

Firstly, MANY thanks indeed for the help - OK, I will attempt to explain the issue properly - I have 5 sets of data - differant levels as it were. Each set has a differant "weight" i.e a differant percent. In order to work out the average over the differant weights, I have to bring it to the greatest common multiple.

So, my example of 80 and 20 gives me 4 - as said, this example only works easily because there is no remainder, and because I concentrated on only 2 integers - but I need this to work out for 5 integers -

Is that any clearer ? Excuse me please if not

kind regards

Glorifindal

I am afraid it still doesn't make much sense to me. I think I understand weighted average. I have no idea what GCD has to do with it, or why should one care about remainders.

Let's take a simple example with 3 sets of data:

Level1 = 50;

Level2 = 30;

Level3 = 20;

Weight1 = 20;

Weight2 = 50;

Weight3 = 130;

Now you can calculate:

SumWeight = 200;

Product1 = Level1 * Weight1 = 50 * 20 = 1000;

Product2 = Level2 * Weight2 = 30 * 50 = 1500;

Product3 = Level3 * Weight3 = 20 * 130 = 2600;

SumProduct = 5100;

WeightedAverage = SumProduct / SumWeight = 5100 / 200 = 25.5

If this is not what you want, then please give me a similar example of what you do need.

Now it's unclear.

The GCD of 80 and 20 is 20. 20 will divide into 80 and 20 both without a remainder. The average value of 5 values that always add up to 100 will always be 20.

Tell us the actual problem you're trying to solve instead of stripping away information and we might be able help.

>>>I re read the thread and realize that comment's post is probably the answer you're looking for. Much easier to help when we see the problem, rather than what your idea of the problem is.

Edited by Guest
Reread other followup

Create an account or sign in to comment

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.