Dimensional Arrays

Nic Prioleau nickp at didata.bw
Thu Mar 15 05:26:21 EDT 2007


Ah thanks Ken & Jim, got it work just perfectly with your help... it always 
looks so simple when someone else does it!!!

Much appreciated!!
----- Original Message ----- 
From: "Jim Ault" <JimAultWins at yahoo.com>
To: "How to use Revolution" <use-revolution at lists.runrev.com>
Sent: Thursday, March 15, 2007 10:15 AM
Subject: Re: Dimensional Arrays


>A little refinement can get you tallys and averages for reporting:
>
> Ken's example with the following added:
>
> get tData
> filter it with ("B444AAA,*,*,2" -- only month 2
> put sumFuelKM(it, collectedValues) into collectedValues
> -------------------------------------
>
> put  "B444AAA" into tRegNo
> put 2 into tMonth
> get tData
> filter it with ( tRegNo&",*,*, "& tMonth) -- only month 2
> put sumFuelKM(it, collectedValues) into collectedValues
> --see the sumFuelKM function below
>
> get line 1 of collectedValues
> put sum(it) into tTotalLiters
> put (tTotalLitres/the number of items init) into tAvgLitres
>
> get line 2 of collectedValues
> put sum(it) into tTotalKMs
> put ( tTotalKMs/the number of items init) into tAvgKMs
>
> get tTotalLitres && tAvgLitres && tTotalKMs && tAvgKMs
> put it into line tMonth
>
> --> repeat for each month, then
> put empty into collectedValues
> put 3 into tMonth
> get tData
> filter it with ( tRegNo&",*,*, "& tMonth)  -- only month 3
> put sumFuelKM(it, collectedValues) into collectedValues
>
> --------------------
>
> function sumFuelKM pListOfRegNos, collectedValues
>   repeat for each line tLine in pListOfRegNos
>     put comma & tLiters after line 1 of collectedValues
>     put comma & tKMs after line 2 of collectedValues
>   end repeat
>   return ( collectedValues)
> end sumFuelKM
> -----------
> ** caution **
> get tData
> filter it with "B444AAA,*,*,1*" -- month 1, 10, 11, 12
>
> Sounds like you are headed for report building and cross-tabulation :-)
>
> Jim Ault
> Las Vegas
>
> On 3/14/07 11:11 PM, "Ken Ray" <kray at sonsothunder.com> wrote:
>
>> On Wed, 14 Mar 2007 17:11:36 +0200, Nic Prioleau wrote:
>>
>>> Hi Kev,
>>>
>>> Thanks for your feedback however, I managed to get something like this:
>>>
>>> regNo,totalFuel,totalKM,month
>>> B456TRF,1000,0,2
>>> B456TRF,150,0,3
>>> B456TRF,0,376,3
>>> B444AAA,50,0,3
>>> B444AAA,340,3000,3
>>> B444AAA,0,600,3
>>>
>>> into a variable from my selects... Could you tell me how I can
>>> achieve the same result as I was trying to get before as I have now
>>> eliminated the other arrays I had. It was too messy and because they
>>> did not have the same keys, it was difficult to get an accurate
>>> result.
>>
>> Basically the same thing, but it's actually easier in this case - you
>> can take the variable and filter on the regNo (put an asterisk after
>> the regno so there'll be a match):
>>
>>   filter tData with "B444AAA*"
>>
>> And then loop through the resulting filtered lines, extract the items
>> you're looking for an add them up:
>>
>> put 0 into tLitres
>> put 0 into tKMs
>> repeat for each line tLine in tData
>>   add (item 2 of tLine) to tLitres
>>   add (item 3 of tLine) to tKMs
>> end repeat
>>
>> HTH,
>>
>> Ken Ray
>> Sons of Thunder Software, Inc.
>> Email: kray at sonsothunder.com
>> Web Site: http://www.sonsothunder.com/
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your 
>> subscription
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
> 


#####################################################################################
This e-mail message has been scanned for Viruses and Content and cleared 
by MailMarshal
#####################################################################################



More information about the use-livecode mailing list