Community Tip - Did you know you can set a signature that will be added to all your posts? Set it here! X
Hi Mona,
I thought I'd start with one of my long-running wish-list hobby-horses for developing Prime's capabilities: the introduction of dimensioned data.
Of course dimensioned data exists in one sense already--the capacity to specify that a variable is in Newtons, etc. What I'm plugging for however is, at its simplest, the capacity to define a vector of data as dimensioned by TIME--where TIME could be any of the sub-types MILLISECOND, SECOND, up to YEAR.
My specific need for this is that I work with time-dimensioned economic data: things like GDP, Employment, Mortgage Debt, Stock index, etc., where the source data is GDP by QUARTER, Employment by MONTH, Mortgage Debt by MONTH, DJIA by DAY, etc.
At present, since Mathcad/Prime doesn't support dimensions of this nature, I have to make up two-column vectors of data where the first column is a date (stored as a floating point number) and the second is the actual data. I also have to add various kludges to cope with the fact that the GDP data is quarterly, while the Mortgage Debt data is monthly.
Then to produce, for example, a ratio of Mortgage Debt to GDP, I have written a DIVIDE(NUMERATOR,DENOMINATOR) routine that firstly ALIGNs these two matrices by the first column, and then returns a third matrix where the first column is the numeric date and the second the result of dividing each scalar entry for Mortgage Debt by the corresponding entry for GDP:
MortgageDebt2GDP := Divide(MortgageDebt,GDP)
IF, on the other hand, Prime supported data dimensioned by time, I could define GDP to be dimensioned by DATE(QUARTER) when I loaded it from the data source (the Bureau of Economic Analysis), and Mortgage Debt by DATE(MONTH), and producing the ratio would be a simple case of using Prime's built-in capabilities:
MortgageDebt2GDP := MortgageDebt/GDP
The reason that I think this would be a great development for Prime is not only that it would eliminate my need to write lots of complicated symbolic code, it would also give Prime a massive advantage over Excel--where that's the market you really need to crack to grow Prime's user base.
At present, Excel allows a very kludgy version of what I'd like to see in Prime via allowing the user to define a column as being Date-type, and then formatting any input as a date. But it's not really a Dimension, and users still have to handle all the hassles of data with different time frequencies themselves.
A true DATE dimension in Prime would mean that all that messy stuff was done by Prime's dimension itself: you've got Yearly data that you want to compare to Monthly data? NO problem, just divide one by the other (or subtract, etc., whatever basic operation you like).
A DATE dimension would also open the way for extending the concept of dimensioned data to multiple dimensions, as used to be possible in the late and great PC Express, which was swallowed by Oracle about 15 years ago and made almost inaccessible.
Before this happened, PC Express was on its way to be an Excel challenger. After it happened, no-one came up with a feasible alternative way of presenting dimensioned data that didn't bury it in relational databases that befuddle most users. Mathcad/Prime's user interface is eminently suited to making dimensioned data accessible to non-database users in a manner that would blow Excel use out of the water (the best Excel has in this front is the Pivot Table, which is far more complicated than similar operations could be in Prime).