- Via parameter, set source version which is used to create a subset in version dim. Target version element is automatically created, name based on current datetime.
- Walk through the cubes via indicies (backwards) looking for cubes with a version dimension.
- When it finds one, create a view in that cube with only version dim subset (from #1). Then kick off cube copy process with new view as datasource (also passes version dim index, number of dims, and target version name) to do the copy.
I have two versions of the child process(es), once which copies directly and one that uses ASCIIOutput and a second child process to read file and write to the new version. The latter was my first attempt to solve this issue by trying to avoid some rules/feeders firing. It didn't improve things.
What else can I try? Ideally I'd like to eliminate the locks, but barring a bug I don't understand why they're getting set. Barring that, I'd like to expedite the run time back to at last the same performance I see on dev as I will need to do this periodically during working hours. I haven't used data reservation or bulk load modes in the past, but I'm reading up on them for another attempt. Unfortunately, since this only affects prod, my users have to be my guinea pigs....
I can post the code if that's useful.
Matt