Um blog sobre nada

Um conjunto de inutilidades que podem vir a ser úteis

Archive for the ‘SSRS 2008’ Category

SSRS – Execution Log

Posted by Diego em Março 26, 2013

Few details on the SSRS Execution log table and views

1)      Log Table: ExecutionLogStorage: Contains the raw log data. Should use one of the views that sits on top of the table.

 

2)      Views:

·        dbo.ExecutionLog:  for backwards compatibility

·        dbo.ExecutionLog2:  for SQL Server 2008

·        dbo.ExecutionLog3:  for SQL Server 2008 R2  (same as ExecutionLog2, with 2 fields renamed:  ReportPath is now ItemPath, and ReportAction is now ItemAction)

 

3)      Main Columns:

a.     Request Type
0:  Interactive
1:  Subscription
2:  Refresh Cache

b.    Report Action

        1:  Render
2:  Bookmark Navigation
3:  Document Map Navigation
4:  Drill Through
5:  Find String
6:  Get Document Map
7:  Toggle
8:  Sort
9:  Execute

 

c.     Source

      1:  Live
2:  Cache
3:  Snapshot
4:  History
5:  Ad Hoc (i.e., Report Builder) 
6:  Session (i.e., another request within existing session) 
7:  RDCE (i.e., Report Definition Customization Extension)

 

Other blogs:

·       Good tips, especially on the “times”: http://blogs.msdn.com/b/robertbruckner/archive/2009/01/05/executionlog2-view.aspx

·       MSDN: http://msdn.microsoft.com/en-us/library/ms157403.aspx

·       MSDN – Views: http://msdn.microsoft.com/en-us/library/ms159110.aspx#bkmk_executionlog3

 

Posted in BI, I.T., SSRS 2008 | Leave a Comment »

CUSTOM CODE–SSRS 2008

Posted by Diego em Outubro 13, 2012

CUSTOM CODE (debugged with Visual Studio 2008):

  • Can be Embed on the report or referenced as an external assembly;
  • Embedded code:
    • Written on the menu: Report -> Report Properties –> Code
    • Must be instance based.
    • Must be written in VB.NET.
    • Methods are available through the global Code member.
    • Methods cannot be called from multiple reports. They are stored in the report definition, so they are available in only the report that contains the methods.
    • Possible declarations:
      • Function GetStockColor
      • Public Function GetStockColor
      • Shared Function GetStockColor
      • Public shared Function GetStockColor
    • Add on properties of an object TextBox.Color.Expression. Accesed by:
      • =Code.GetStockColor(Fields!StockLevel.Value, Fields!SafeStockLevel.Value)
  • External assembly:
    • Can be written in VB or C# on .Net Framework 2.0
    • Creation Process:
      • On the AssemblyInfo.cs:
        • Add using System.Security;
        • Add [assembly: AllowPartiallyTrustedCallers()]
      • Copy the assembly to the GAC and to the SSRS folder
      • Reference the Assembly on the Project (Report properties -> References)
      • #Error means security permissions:
        • Create Permission Sets and Code Groups (UI saves to security.config)
        • Copy info from security.config to rssrvpolicy.config
    • Accessing:
      • Static methods are called directly from the class in the form
      • =Namespace.Class.Method()
      • =SSRSAssembly.MISAssembly.GetPercentageIncrease(par1,par2)
      • Cannot be called using an instance name

<CodeModules>
      <CodeModule>SSRSAssembly, Version=1.0.0.0, PublicKeyToken=93f1aed039a24637</CodeModule>
</CodeModules>

      • Instance methods:
        • =Code.Instance.Method()
        • =Code.MyInstance.GetPercentageIncrease2(10,15)
          • MyInstace is mapped to the class name
        • Cannot be called directly from the class.
      • Only public methods can be accessed in report expressions
      • Shared (static) methods are faster than instance methods

 

<Classes>
      <Class>
            <ClassName>SSRSAssembly.MISAssembly2</ClassName>
            <InstanceName>MyInstance</InstanceName>
     </Class>
</Classes>

 

image

Posted in BI, SSRS 2008 | Leave a Comment »