Question : SSRS Jump to Report

Using the Jump to Report functionality to launch a Analysis service report. It appears that the Analysis service accepts a string as a parameter. I have included the MDX query and parameter from a profile trace when I run the report manually.

Now in this report that I have built to launch the Analysis service report, I have duplicated the string that the parameter uses and thinking I am passing it to the Analysis service report but the report does not run. It comes up but it is still waiting for me to select a parameter.

Under the jump to report parameter, I have the Analysis service parameter selected and the value is the sting that I built (=Fields!TS_Perf_Code.Value). I also tried (=Fields!TS_Perf_Code.UniqueName). I even tried hardcoded one of the strings into the value and still didn't run the report (="[2004-02-17 Tue(E)-040217H]").

Any ideas?

Thanks,
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
This is what a profile trace looks like when I run the Analysis service report on it's own.


SELECT NON EMPTY { [Measures].[Num Tickets], [Measures].[Paid Amt], [Measures].[Num Households] } ON COLUMNS, NON EMPTY { ([Ticket Price Types].[Price Type Category].[Price Type Category].ALLMEMBERS * [Ticket Price Types].[Price Type].[Price Type].ALLMEMBERS * [Ticket Zone].[Zone].[Zone].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOSET(@TicketPerformanceDetailsPerfCodeDate, CONSTRAINED) ) ON COLUMNS FROM [Tickets]) WHERE ( IIF( STRTOSET(@TicketPerformanceDetailsPerfCodeDate, CONSTRAINED).Count = 1, STRTOSET(@TicketPerformanceDetailsPerfCodeDate, CONSTRAINED), [Ticket Performance Details].[Perf Code Date].currentmember ) ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS



        <Parameter>
          <Name>TicketPerformanceDetailsPerfCodeDate</Name>
          <Value xsi:type="xsd:string">[Ticket Performance Details].[Perf Code Date].&amp;[2004-02-17 Tue(E)-040217H]</Value>
        </Parameter>
      </Parameters>

Answer : SSRS Jump to Report

As in your other Q, you could do some optimizing by stopping the iteration when you encounter a distance that is larger than the one we're checking for (since no equal one will follow from then), e.g.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
size_t printAllEqual(const vector<StudentAttempt>& v, const StudentAttempt& sa, stringstream& ss ) {

  vector<StudentAttempt>::const_iterator i = v.begin();
  size_t sz = 0;
  bool bFirst = true;

  while (i != v.end()) {

    if(isDistEqual(*i,sa)) {
    
      if (!bFirst) ss << ',';
      ss << i->studentName;
      ++sz;

      // we can stop here when encountering distances
      // larger than the one we're since the vector is
      // sorted in ascending order (if not, this would cause errors)
      // Higher distances will never equal ours
      if (i->distance > sa.distance) break;
    }

    ++i; 
    bFirst = false;
  }

  return sz;
}
Random Solutions  
 
programming4us programming4us