This is a very interesting scenario and use case for Tableau. In the given scenario the numbers are going to recalculate every time the viz is updated as you have seen. Because every time that column is used the RAND() will be enacted. There is not a currently a way to prevent this from updating without simply preventing the whole workbook from updating. Which if there are changes being made to the Viz it will need to update to render properly.
One workaround would be to create the randomized number column in the data source itself. That way it would be static and reusable.
Interesting thought - how would that work to fix a random value for use in other calculations
I think it is important to note here that excel recalculates the random number every time it does a refresh also and the process of copying and pasting a value is like an electronic scratch pad -
Sorry if I was unclear. I mean, by generating the randomized column, then inserting just the values as a column into the data source as just values. So not really random I guess. But as you mentioned I believe using any sort of random function will cause the values to change anytime the data is modified.
OK I get it - I guess if you did that you could also have a parameter (sequential) and use it as a pointer to a random number from the list - the user could then increment the "pointer" or hold it "Fixed" or to recall history? as long as the column of numbers is random I think the effect is still random
I'm not sure i'm following the full use case but I'm hoping this at least sparks some ideas:
So from the example above something to the sort of:
(((PREVIOUS_VALUE(MIN(327680)) * 1140671485 + 12820163) % (2^24)))
That should provide sudo random values from 0 to 1.
Once you calculate your random numbers, extract the data and re-ingest it into Tableau - viola your random numbers are now static.