I'd consider basing a query on the table/query where these records are. Then have a calculated field that calls a public function in a standard module if you can do the math on the query fields (i.e. the query fields are providing the data inputs). If you apply criteria to this query, you can have it run only for the filtered fields rather than all the records every time if that makes sense, or else you do it to 30K records at once. The function needs to deal with the potential for null values so that you don't raise issues akin to 'division by zero' and such. Afterwards, view the results in a form.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.