Howdy,
I'm trying to create a "Student Scorecard" that will take all the different aspects of a student's "career" and show them on one report: GPA, Attendance, Test Results, etc. Ideally everything would appear on the same line. So far I've been able to use the Lookup function to tie in my cubes, using the StudentID. I've come across two problems though, and was hoping maybe somebody could give me some advice on either how to make the way I'm doing it work, or suggest an even better way altogether.
The first issue I'm having is that the more cubes I add, the slower the report is taking to generate...shocker, right? I'm currently up to 4 datasets that are getting queried...adding the 4th one made it really slow. Ideally I may need to add another cube/query or two to get all the info I need. I'm still fairly new to MDX, so I hope this isn't a dumb question, but is there a way to create a join across cubes beforehand instead of trying to make SSRS do all the work?
Secondly, the fourth/latest query/cube that I added contains data that will result in a 1-to-many relationship -- it's test results. There could be anywhere from 0 to 8 different tests that a student may have taken in this cube. I read about LookupSet and I thought it might be the answer. I tried joining it with a Column Grouping, but this gave me an error. Further studying revealed that LookupSet returns the data in an array, and you could possibly join it using commas into a string, but this still doesn't help me in breaking out the results of one test for each column. Next, I tried to "cheat" and just hard-code the test names into the columns, and then was going to hide the columns that are not used, but when I try to preview the report I'm told that I cannot hide a column based on results from a different dataset.
I have got the test results to show by conceding that all the columns would have to show and using a lookup in each individual column as such:
=iif(Lookup(Fields!Person_ID.Value, Fields!Person_ID.Value, Fields!Test_Name.Value, "kcctTestResults") = "KCCT Math",
Lookup(Fields!Person_ID.Value, Fields!Person_ID.Value, Fields!Test_Result.Value, "kcctTestResults"), "")
I don't think this is going to work though -- it took well over a minute for the results to come back :(
So with that being said, any suggestions would be greatly appreciated!!