In playing around with this, I think I discovered something.
The change to number from calc doesn't seem to work when you use a self join, and the calculation uses a field from the "child" table occurrence.
It does seem to work when you use only a field from the parent table in the calculation.
But here the weird part. If I have a calc, say the calcfield = numberfield / 3. If I have a second table occurrence already set up, and then I change calcfield to a number from a calc, I will get <Index if i place the field from the child table occurrence.
However, if i change the field to number, and then create the 2nd table occurrence, i can get the number to properly appear in the child table occurrence field.
So the logic of the program seems to require a specific sequence of events, or to say it another way the relationship at the time the child table is created seem to define function, and later changes to the parent table aren't recognized? Or perhaps there's a way to force a readjustment in the child.
It may all be different if it isn't a self-join. Anyway, I hope my rambling helps someone.