Multiple TOT()s, one field (was RE: TOT(0 seems broke)
George Simon
GSimon at americanriverintl.com
Wed Mar 7 10:17:27 PST 2007
-----Original Message-----
From: filepro-list-bounces+george=worldest.com at lists.celestial.com
[mailto:filepro-list-bounces+george=worldest.com at lists.celestial.com] On
Behalf Of Kenneth Brody
Sent: Wednesday, March 07, 2007 12:28 PM
To: Bruce Easton
Cc: filepro-list at lists.celestial.com
Subject: Multiple TOT()s, one field (was RE: TOT(0 seems broke)
Quoting Bruce Easton (Wed, 7 Mar 2007 12:09:16 -0500):
> Kenneth Brody wrote Wednesday, March 07, 2007 10:40 AM:
> > > Also, here's something you can do with TOT() that will delight and
> > > confuse everyone here. :-)
> > >
> > > If: foobar eq "Y"
> > > Then: xx = tot(foo)
> > > If: foobar ne "Y"
> > > Then: xx = tot(bar)
> > >
> > > What would you expect "xx" to hold? I'll tell you right away that
> > > it is _not_ the same as
> > >
> > > If: foobar eq "Y"
> > > Then: xx = xx + foo
> > > If: foobar ne "Y"
> > > Then: xx = xx + bar
[...]
> I would expect xx in the first example to hold only the total of foo
> at that point, if the last occurrence of foobar was "Y", otherwise it
> would only be the total of bar at that point.
>
> In the second, I would expect xx to be the total of all of occurrences
> that foo and bar held at that point.
Correct to you and Chad.
There are two distinct totals being calculated in example 1. There
are the totals for foo when foobar is "Y", and the totals for bar
when foobar is not "Y", and they are kept track of separately,
despite both having the current total stored into xx.
In other words, xx contains either tot(foo) or tot(bar), depending
on the current value of foobar.
--
_______________________________________________
Filepro-list mailing list
Filepro-list at lists.celestial.com
http://mailman.celestial.com/mailman/listinfo/filepro-list
So how is that different from
If: foobar eq "Y"
Then: xx = xx + foo
If: foobar ne "Y"
Then: xx = xx + bar
xx would end up with the same total. No?
say foo=5 and bar=6
rec# 1 foobar="Y" -- x=0+5 -- x=5
rec# 2 foobar="N" -- x=5+6 -- x=11
rec# 3 foobar="N" -- x=11+6 x=17
rec# 4 foobar="Y" -- x=17+5 x=22
rec# 5 foobar="Y" -- x=22+5 x=27
What am I missing?
More information about the Filepro-list
mailing list