I use BusinessObjects 5.1 to report on a Social Services database. Children in care are allocated to a Social Work team, over time their team allocation can change. We want a report listing children who have been in children's homes, showing both their team when they were first placed and their team when they left - 'Team at Placement Start' and 'Team at Placement End' - preferably in the same report line. Team ID is a Dimension (alphanumeric text).
The two teams cannot be returned in the same query as the date conditions are mutually exclusive. A union query within one data provider would not put them on the same report line. New table aliases and new objects in the universe would work, but there are a large number of similar reports required and our universe is already difficult to manage due to too many table aliases & objects (not my fault - someone else created it, then left!).
I created a report with two linked data providers, identical except one had 'Team at Placement Start' and one had 'Team at Placement End'. The two objects couldn't be placed in the same report table as they are dimensions. However, I created local variables equal to the two dimensions and changed their type to measure. I could put these in the same report line. The 'measure' variables worked except where a child had two concurrent team allocations - got #MULTIVALUE (the 'measure' variables can't aggregate). However, I changed the variables' type, AFTER inserting them in the report table, back to dimension and they worked OK - correct data in two rows, one for each of the concurrent teams.
I found just one minor problem (that could easily be worked around). Once the variables' type had been changed back to dimension, the report creation tool got a bit confused and no more objects could be added to the report table at all. To add more objects, you need to change the variables to measure, add the objects then change them back to dimension.
So, what's my question? Firstly, is anyone else out there familiar with this workaround? If so, all comments on it are welcome. Most importantly, is anyone aware of any problems with it that I've failed to spot? Also, we're using BO v5.1.0 - will this work in later versions?
The two teams cannot be returned in the same query as the date conditions are mutually exclusive. A union query within one data provider would not put them on the same report line. New table aliases and new objects in the universe would work, but there are a large number of similar reports required and our universe is already difficult to manage due to too many table aliases & objects (not my fault - someone else created it, then left!).
I created a report with two linked data providers, identical except one had 'Team at Placement Start' and one had 'Team at Placement End'. The two objects couldn't be placed in the same report table as they are dimensions. However, I created local variables equal to the two dimensions and changed their type to measure. I could put these in the same report line. The 'measure' variables worked except where a child had two concurrent team allocations - got #MULTIVALUE (the 'measure' variables can't aggregate). However, I changed the variables' type, AFTER inserting them in the report table, back to dimension and they worked OK - correct data in two rows, one for each of the concurrent teams.
I found just one minor problem (that could easily be worked around). Once the variables' type had been changed back to dimension, the report creation tool got a bit confused and no more objects could be added to the report table at all. To add more objects, you need to change the variables to measure, add the objects then change them back to dimension.
So, what's my question? Firstly, is anyone else out there familiar with this workaround? If so, all comments on it are welcome. Most importantly, is anyone aware of any problems with it that I've failed to spot? Also, we're using BO v5.1.0 - will this work in later versions?