Date: Thu, 9 Sep 2010 21:58:57 -0400
Reply-To: Sigurd Hermansen <HERMANS1@WESTAT.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Sigurd Hermansen <HERMANS1@WESTAT.COM>
Subject: Re: monthly update
Content-Type: text/plain; charset="us-ascii"
Your question arises about the same time I began looking for standard data models for temporal (longitudinal) databases. I don't find any standard DBMS solutions for temporal data other than transactions or events tables key by ID's and timestamps. I've designed and implemented two large longitudinal databases over 15 year spans and used them successfully to compute intervals between events, durations of exposures, and aggregates between intervals. Any suggestions for alternatives will be appreciated.
Now for the m0 ... m62 sequence of variables... Why would anyone use variable names on a mapping of names to storage locations as an index? Long ago I abandoned any pretense of designing data structures around the preferences of users. Now I say "Yes, we'll make the organization of your data look like what you are requesting..." and then design a (relational) database that supports restructuring of data in views that support one or another analytic method. I'd store the relation between datetime and value in a table and map the values to a sequence of variable names as needed. Requirements for analytic datasets vary from task to task and time to time. Why should data users know how data are being stored in datasets or files. We don't know how DBMS's actually store data. Why should SAS data storage at the physical level be the same as we see data at the logical level?
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of Chang Chung
Sent: Thursday, September 09, 2010 10:52 AM
Subject: monthly update
An interesting question posted somewhere else. It goes, in part:
"I've got a data table with text variables named m0, m1 up to m62. Each month
this dataset is updated, with the latest month's data stored in m0 while all
the rest need to move up on index, i.e. m0 should be renamed m1, m1 should be
renamed m2, etc. up to m62 which should be renamed m63."