Saturday, April 2, 2016

Project Resource Leveling, Log Mining, and General Ledger

Some interesting thought today.

There are similar requirements from reporting perspectives.

1. Project Resource Leveling

Project Resource are assigned to tasks for a range of time with a start date and end date.
Start Date and End Date are two events.
The data available from the transaction system are task resource assignments.
When we perform resource leveling, we want to know how resources are utilized over time.
We want to know what are the peak time, when we may not have enough resource, and when the resources are idle.

2. Log Mining

This term is too general. I am referring to a specific case I run into.
The client wants to know how many users are logged in for any given point in time.
The system log shows when a user logged in and logged out.
Each log entry has a user ID, an event type, and a timestamp.

3. General Ledger

Here is a summary of how the accounting system works.

A transaction could be an event that affect a given account.
We have original transactions, journal entries, and ledgers. 
We then summarize the data by accounts for a period.
The data will then be used to update the balance.
The balance represents the state for a given point in time.  Let's say the end of the period.
For example, if the account is an equity account, we know the worth of the company.

The common requirements:

How to use event data to derive the state change over time?

The solution:

For each period, the end of period balance is equal to the beginning period balance plus the input and minus the output.

Another way to think of this is to calculate the delta for each period and calculate the accumulated total over periods.

It is so obvious, but many systems are not implemented in this way.


Post a Comment