[Sorry, I fell off the net for a few days when my wife and I were moving from one house to another and our Internet service hadn't yet been transferred. I will probably be sporadic for another couple of days.]
John Darrington <[EMAIL PROTECTED]> writes: > On Mon, Jul 02, 2007 at 07:41:01AM -0700, Ben Pfaff wrote: > John Darrington <[EMAIL PROTECTED]> writes: > > > On Sat, Jun 30, 2007 at 07:55:27AM -0700, Ben Pfaff wrote: > > There are a few subtleties I think. First, I don't think we save > > a copy of the dictionary that corresponds to the active file. > > We'd need to do so, and then restore it for CLEAR > > TRANSFORMATIONS. > > > > Spss doesn't do this. So neither should we (at least not by default). > > I think that SPSS does do this. The SPSS 13, 14, and 15 manuals > all have an identical example that shows a data file being read, > some transformations being done on it, and then running CLEAR > TRANSFORMATIONS. The text then states that the variables created > by the transformations no longer exist, because they were created > by transformations that have been discarded. > > You're right! The manuals do have this example. I tried running that > example on v15 and it does exactly what the manual says it won't do!! > It DOES NOT remove the INDEXQ variable! (see attached output file). I have one question first: in what way did you make SPSS run that syntax? There is a distinction between "interactive" and "batch" environments made in the manual. I see the documented behavior on a very old version of SPSS here: the variable is dropped in interactive mode, CLEAR TRANSFORMATIONS just yields a warning in batch mode. > So I suppose the question for us is, do we follow the manual or our > observations ? I can't see how this is anything but a bug in SPSS, so I would rather follow the documentation. > The transformation that I'm talking about does persist after the > command terminates. Take a look at cmd_descriptives and where > the call to setup_z_trns is located. > > Hmm. I can see that this might cause problems for the GUI anyway. > When the descriptives command returns, the values of the z-scores will > not have been populated. > > I can see that for optimisation reasons it's desireable not to execute > this transformation when running from a script, but the GUI needs to > run it, when it redraws the data sheet. Otherwise the user will get > confused. So maybe these "hidden" transformations should be > specially marked as such (perhaps in a seperate transformation chain)? Yes, I agree that they should be marked. A separate transformation chain is a reasonable implementation choice, I think. I am not sure that the GUI really needs this, assuming that it runs something like proc_execute() before updating the data sheet. If it does that, then any "hidden" transformations will be executed on the spot; if it doesn't, it seems like even an ordinary transformation like COMPUTE wouldn't update the data sheet whether it created a new variable or not. So my guess is that it is important only for CLEAR TRANSFORMATIONS. -- Ben Pfaff http://benpfaff.org _______________________________________________ pspp-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/pspp-dev
