Passing HEAT values to SSRS Report Parameters

Version 1

    Details

    How to pass HEAT values to SSRS Report Parameters


    Resolution

     

    For example, you can declare a text-type parameter “CurentUser” with no default values, in SSRS.  


    And set up a very basic query, based on that parameter:



    I threw this returned field from the data set onto the report form, to show the results:



    Upload that report, and create a report template. You can provide the parameter the value a HEAT function, or field value from an object. For example, “$CurrentLoginId())”:




    When you run that report, HEAT will identify your login ID, pass that value to SSRS, and return the DisplayName which I queried, using that dynamic parameter:



     

    A word of caution using this method: If you schedule a report which contains parameters, the values passed from HEAT to the scheduled report run, will be only the values that were cached, when the report was last saved – It will not re-evaluate at the time it sends the report.

    To demonstrate this, I have scheduled a report, where I have a text-value parameter, which I pass the HEAT function, $(CurrentDateTime()).  I saved this at 11:25 (18:25 UTC), scheduled to send at 11:26:




    Although the function I’m passing is CURRENT datetime, it is evaluated when I save the report, and so when I receive the scheduled report at 11:26, the exported value reflects the time that I saved it:



     

    This means that if you are scheduling reports, you will only be able to do it with values that you can determine within SSRS. For example, date values need to be set by SSRS functions =Now() or =Today(), rather than passing a parameter value from HEAT.