I have been trying different solutions to this problem, including a completely custom data processing module; now I feel like I've run out of options and was wondering what people thought was the best approach. Here's what I am trying to do:
- There is a Windows service that collects data from a fairly obscure accounting system. Reads a fairly large CSV and puts that into SQL Server.
- What gets written out to the server are raw data. So in essence, we have daily account balances that are captured and persisted (the records are simple, consisting of an account name, balance and time stamp).
- To process these data, we have a series of datapoints, each of which have a formula (ie. datapoint "farm widget sales" would have a formula like "123 + 456 + 789 - 978 - 654 - 321" where each of these numbers represent account numbers). We want to be able to apply different time dimensions to each of the datapoints, such as "Today", "MTD", "Q2 2011", etc.
This solution will ultimately be using PerformancePoint Services for its presentation layer.
What I am trying to figure out is what is the best approach to crunching these numbers, other than doing it myself in code. I've looked at PowerPivot and using SQL Server facilities for this but I don't know that they are capable of doing what I need.
The data processing would have to run through all of the raw data, and evaluate the formulae against the different time dimensions required. I have tried using a PowerPivot measure for this but I think the logic is too complicated for DAX (basically I would have to look at the formula column for a specific datapoint, figure out all the accounts I have to fetch, perform a sum based on time dimension, and then finally compute the formula itself).
Have any of you had any experience with a similar problem where you were able to leverage any of the many features of SharePoint?