[http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1169787&SiteID=17]

Here's a sample matrix:

                           Men     Women     Total

Full Professor              36       12        48

Assoc. Professor            16        9        25

Assistant Professor         11       14        25

Total                       63       35        98

Now, it's easy enough to make the values clickable so that somebody can drill down to a report that shows detail about the people. I have also discovered how to turn off clickability on the totals. However, what I really want is for the totals to be clickable so that, for example, if I click on the 63, I see a report that shows all men. Likewise, If I click on the 48, I want to see a report that shows all Full Professors. What currently happens when the totals are clickable is that if I click on the 63, I get all men who are full professors (36 records instead of 63). If I click on the 48, I get all Full Professors who are men. (36 records instead of 48).

Solution:
 I have finally figured this out and I though I would pass it on to anyone who needs it in the future.

The best way to deal with this situation is

1) On the sub-report, for a multi-valued parameter, make every option the default. So in my example, the default for the Job EEO would be Full Professors, Associate Professors, and Assistant Professors and the default value for Gender would be both male and female.

2) On the first report, only pass the parameter if its value is in scope. This is accomplished by editing the Omit property of the parameter you are passing... setting it to something like: =Not(InScope("matrix1_Gender"))

This means that if there is no distinct value for the gender, the parameter will not be passed. The subreport will then show data for both genders because that is the subreport's default.

 

If making every option in a subreport's parameter the default doesnt' work for your needs, there is another way. On the parameter that's being passed out of the first report, you can edit the expression to something like this:

=Iif(InScope("matrix1_Gender"), Fields!Gender.Value, Split("Male,Female", ","))

This, translated into English, says, "If you clicked on a field related to a specific gender, then send that gender to the subreport. Otherwise, send both Male and Female to the subreport."

posted on 2008-04-22 10:35  JerryZhao  阅读(494)  评论(0编辑  收藏  举报