<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://anthonymalone.co.uk/AntWiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Brains48</id>
	<title>AntWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://anthonymalone.co.uk/AntWiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Brains48"/>
	<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php/Special:Contributions/Brains48"/>
	<updated>2026-11-02T17:30:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Understand_The_Frequency_Of_PAHT_Reports&amp;diff=56</id>
		<title>How To Understand The Frequency Of PAHT Reports</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Understand_The_Frequency_Of_PAHT_Reports&amp;diff=56"/>
		<updated>2023-09-05T07:26:15Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable mw-collapsible&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Frequency&#039;&#039;&#039;      &lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;Original Producer&#039;&#039;&#039;      &lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;Email Title&#039;&#039;&#039;      &lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;SSIS Solution&#039;&#039;&#039;      &lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;SQL Agent Job&#039;&#039;&#039;      &lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;Output Folder&#039;&#039;&#039;      &lt;br /&gt;
&lt;br /&gt;
|&#039;&#039;&#039;Source Code&#039;&#039;&#039;      &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Polly Ridgwell-Cook/&lt;br /&gt;
&lt;br /&gt;
Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|DNA Report&lt;br /&gt;
&lt;br /&gt;
|DailyDNA&lt;br /&gt;
&lt;br /&gt;
|SSIS_DAILYDNA&lt;br /&gt;
&lt;br /&gt;
|\\SR-STAGINGDW\SSRS_Ouputs$\CASS\DailyReportOutputs\DNA&lt;br /&gt;
&lt;br /&gt;
|\\SR-STAGINGDW\SSRS_Ouputs$\00 - Visual Studio  Solutions\CSS\Dailies\01 - Daily DNA Report&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Polly Ridgwell-Cook/&lt;br /&gt;
&lt;br /&gt;
Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|RAPA Report&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYRAPA&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|\\SR-STAGINGDW\SSRS_Ouputs$\00 - Visual Studio  Solutions\CSS\Dailies\02 - Daily RAPA Report&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Polly Ridgwell-Cook/&lt;br /&gt;
&lt;br /&gt;
Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|AE Attendances MS Daily Report&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYAEMS&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|\\SR-STAGINGDW\SSRS_Ouputs$\00 - Visual Studio  Solutions\CSS\Dailies\03 - Daily AEMS Report&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Polly Ridgwell-Cook/&lt;br /&gt;
&lt;br /&gt;
Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|Daily Cancer Attenders&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYCANCER&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|\\SR-STAGINGDW\SSRS_Ouputs$\00 - Visual Studio  Solutions\CSS\Dailies\04 - Daily Cancer Attenders Report&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|FFT Attendances&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYFFT&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|Daily Discharges Report&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYDISCHARGES&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|Care Homes report Inpatient - Swab details&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYCAREHOME&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Srishti&lt;br /&gt;
&lt;br /&gt;
|Tobacco Dependence Data Daily&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYTOBACCO&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Daily&lt;br /&gt;
&lt;br /&gt;
|Srishti&lt;br /&gt;
&lt;br /&gt;
|Respiratory Attendances From A&amp;amp;E&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_DAILYRESPIRATORY&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Weekly&lt;br /&gt;
&lt;br /&gt;
|Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|TARN&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_WEEKLYTARN&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Weekly&lt;br /&gt;
&lt;br /&gt;
|Colin Braybrook&lt;br /&gt;
&lt;br /&gt;
|HCG Summary&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|SSIS_WEEKLYHCG&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Weekly&lt;br /&gt;
&lt;br /&gt;
|Srishti&lt;br /&gt;
&lt;br /&gt;
|Weekly JXPET_JXPEU_JXPVT&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Weekly&lt;br /&gt;
&lt;br /&gt;
|Srishti&lt;br /&gt;
&lt;br /&gt;
|Mental Health Disorder&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Understand_The_Frequency_Of_PAHT_Reports&amp;diff=55</id>
		<title>How To Understand The Frequency Of PAHT Reports</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Understand_The_Frequency_Of_PAHT_Reports&amp;diff=55"/>
		<updated>2023-09-05T07:24:27Z</updated>

		<summary type="html">&lt;p&gt;Brains48: Created page with &amp;quot;Test&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=54</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=54"/>
		<updated>2023-07-29T12:34:18Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=MediaWiki:Wikia.css&amp;diff=53</id>
		<title>MediaWiki:Wikia.css</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=MediaWiki:Wikia.css&amp;diff=53"/>
		<updated>2023-07-29T12:24:33Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.mw-collapsible .mw-collapsible-toggle {&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=MediaWiki:Wikia.css&amp;diff=52</id>
		<title>MediaWiki:Wikia.css</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=MediaWiki:Wikia.css&amp;diff=52"/>
		<updated>2023-07-29T12:23:23Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.mw-collapsible-toggle {&lt;br /&gt;
    float: left; !important &lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=MediaWiki:Wikia.css&amp;diff=51</id>
		<title>MediaWiki:Wikia.css</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=MediaWiki:Wikia.css&amp;diff=51"/>
		<updated>2023-07-29T12:20:03Z</updated>

		<summary type="html">&lt;p&gt;Brains48: Created page with &amp;quot;.mw-collapsible-toggle {     float: left; }&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.mw-collapsible-toggle {&lt;br /&gt;
    float: left;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=50</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=50"/>
		<updated>2023-07-29T12:16:31Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=49</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=49"/>
		<updated>2023-07-29T12:15:54Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=48</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=48"/>
		<updated>2023-07-29T12:14:51Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=47</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=47"/>
		<updated>2023-07-29T12:14:10Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=46</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=46"/>
		<updated>2023-07-29T01:29:03Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=45</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=45"/>
		<updated>2023-07-29T01:28:44Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Collapsible|More of your collapsible content goes here&lt;br /&gt;
*it can even&lt;br /&gt;
*have a &lt;br /&gt;
*bulleted list&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=44</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=44"/>
		<updated>2023-07-29T01:18:14Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/small&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=43</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=43"/>
		<updated>2023-07-29T01:15:50Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|+ style=&amp;quot;white-space:nowrap; border:1px solid; padding:3px;&amp;quot; | The caption remains visible. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039;How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:Freeze1.png]]&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:Freeze1.png&amp;diff=42</id>
		<title>File:Freeze1.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:Freeze1.png&amp;diff=42"/>
		<updated>2023-07-29T01:14:09Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Freeze1&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=41</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=41"/>
		<updated>2023-07-29T01:11:59Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|+ style=&amp;quot;white-space:nowrap; border:1px solid; padding:3px;&amp;quot; | The caption remains visible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=40</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=40"/>
		<updated>2023-07-29T00:48:27Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1e.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=39</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=39"/>
		<updated>2023-07-29T00:47:43Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
sfddf&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;[[File:Bespoke1e.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=38</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=38"/>
		<updated>2023-07-29T00:47:22Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;[[File:Bespoke1e.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=37</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=37"/>
		<updated>2023-07-29T00:46:08Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
&lt;br /&gt;
[[File:Bespoke1a.png]]&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1b.png]]&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1c.png]]&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
[[File:Bespoke1d.png]]&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;[[File:Bespoke1e.png]]&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1e.png&amp;diff=36</id>
		<title>File:Bespoke1e.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1e.png&amp;diff=36"/>
		<updated>2023-07-29T00:45:50Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bespoke1e&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1d.png&amp;diff=35</id>
		<title>File:Bespoke1d.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1d.png&amp;diff=35"/>
		<updated>2023-07-29T00:45:20Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bespoke1d&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1c.png&amp;diff=34</id>
		<title>File:Bespoke1c.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1c.png&amp;diff=34"/>
		<updated>2023-07-29T00:44:47Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bespoke1c&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1b.png&amp;diff=33</id>
		<title>File:Bespoke1b.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1b.png&amp;diff=33"/>
		<updated>2023-07-29T00:44:15Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bespoke1b&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1a.png&amp;diff=32</id>
		<title>File:Bespoke1a.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:Bespoke1a.png&amp;diff=32"/>
		<updated>2023-07-29T00:43:33Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;a&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=31</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=31"/>
		<updated>2023-07-29T00:42:29Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Perform A Lookup In SSRS &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Pass Multiple Parameter Values To OpenQuery SQL &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the dataset for the parameter list, e.g. a list of Feed Names:&lt;br /&gt;
 &lt;br /&gt;
Create the parameter itself, ensuring multi-select, available and default values:&lt;br /&gt;
 &lt;br /&gt;
Use the parameter values as filter values on your main dataset:&lt;br /&gt;
 &lt;br /&gt;
 Keep the linked server param visible until you deploy to PRD &lt;br /&gt;
This can be useful to check where you’re pulling data from. Set Visible = False for the LinkedServer parameter when you deploy to PRD:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Increase The Number Of Rows Displayed Per Report Page &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Design mode increase the Height property of your report. It defaults to approx 30cm, doubling that to 60cm is usually a good idea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Restore The Report Data Pane &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you lose this panel:&lt;br /&gt;
 &lt;br /&gt;
…the quickest way to restore it is CTRL+ALT+D (capital)&lt;br /&gt;
https://stackoverflow.com/questions/13599228/cant-see-report-data-pane-when-creating-reports &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Display What Values Were Passed To An Executed SSRS Report&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSRS reports fired as part of an SSIS solution are executed by the “ExecuteSSRS” SSIS package. If you ever need to see what parameters have been passed to such a report (either during testing or post Go Live) head here, find the relevant execution and click on “Overview”:&lt;br /&gt;
 &lt;br /&gt;
The result should be this with the parameters visible if you scroll down:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Retrieve The Parameterised URL Of An SSRS Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Report Variable To Hold A Value (Such As Textbox Colour)? &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why would I want to do this? Any static (or calculated) value which you want to involve in multiple expressions throughout your report will quickly become a management nightmare if a user requests changes. Far better to centrally manage such values. You could stick the value in a hidden textbox on the report and reference its value but you can use Report Variables to achieve the same result more elegantly. A tutorial is here: &lt;br /&gt;
https://www.youtube.com/watch?v=k_WQ4a7J7VY &lt;br /&gt;
Right click in the white space beneath your report in Design mode and choose Report Properties:&lt;br /&gt;
 &lt;br /&gt;
Create your variable (rv = “report variable”):&lt;br /&gt;
 &lt;br /&gt;
Now you can use the variable in a textbox expression:&lt;br /&gt;
 &lt;br /&gt;
The result:&lt;br /&gt;
 &lt;br /&gt;
Now the colour can be managed centrally via the variable rather than embedded in every textbox Fill expression. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Improve SSRS Performance By Caching Of Report Data  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TBC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force The Number Of Pages To Appear On A Multi-Page Report  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multi-page SSRS reports do not return the total number of pages on first render, as below:&lt;br /&gt;
 &lt;br /&gt;
To force this, add an invisible text box into the *footer* of the report with this expression&lt;br /&gt;
=&amp;quot;Page &amp;quot;&amp;amp;Globals!PageNumber &amp;amp;&amp;quot; of &amp;quot;&amp;amp;Globals!TotalPages&lt;br /&gt;
 How To Make Hyperlinks Work When Reports Are Exported To Excel &lt;br /&gt;
A hyperlink to the explanatory Wiki page of a report is a useful feature to add to a report. When deployed the URL will open in the browser. However, if the report is exported to Excel the link has been found not to work. You can solve this by adding an expression to the text box action of your URL:&lt;br /&gt;
 &lt;br /&gt;
=iif(Globals!RenderFormat.IsInteractive,&amp;quot;javascript:void(window.open(&#039;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&#039;,&#039;_blank&#039;))&amp;quot;,&amp;quot;https://closebrothersam.atlassian.net/wiki/spaces/TES/pages/240058417/How+to+use+SSRS+Trade+Search+and+Trade+Info+and+Audit+Reports&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Create A Bespoke Table Structure?  &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are times when you may want to create a much more bespoke layout for your reports rather than traditional tabular structures. For example:&lt;br /&gt;
 &lt;br /&gt;
Don’t use textboxes for individual field elements. Use the Table element instead:&lt;br /&gt;
 &lt;br /&gt;
Make sure you attach at least one Dataset to it:&lt;br /&gt;
 &lt;br /&gt;
…and then add your headings and expressions, inserting blank rows/columns to separate data as necessary. Note that despite attaching the Table element to only one datasource you can leverage other datasources in your expressions:&lt;br /&gt;
 &lt;br /&gt;
The end result can look something like this:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=30</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=30"/>
		<updated>2023-07-29T00:37:13Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row?&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=29</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=29"/>
		<updated>2023-07-29T00:35:27Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row?&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
You want these options deselected:&lt;br /&gt;
 &lt;br /&gt;
Step 2&lt;br /&gt;
In the grouping panel click the far left drop down arrow to get advanced mode:&lt;br /&gt;
 &lt;br /&gt;
That will reveal &amp;quot;(Static)&amp;quot; grouping options:&lt;br /&gt;
 &lt;br /&gt;
Click into the table and then on the top left grey square to select the whole table:&lt;br /&gt;
 &lt;br /&gt;
Then click Row Groups – Static. The top cell of your first column will be selected:&lt;br /&gt;
 &lt;br /&gt;
Update to these properties:&lt;br /&gt;
FixedData = TRUE&lt;br /&gt;
KeepWithGroup = AFTER&lt;br /&gt;
RepeatOnNewPage = TRUE&lt;br /&gt;
 &lt;br /&gt;
Step 3&lt;br /&gt;
The row headers have no background Fill colour set by default, if you Preview at this stage records will appear behind the headers as they scroll. Right click on each column header choose Textbox Properties and change this:&lt;br /&gt;
 &lt;br /&gt;
…to this:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; How To Force Tables Onto Separate, Named, Excel Worksheets When Exporting&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the table and choose &amp;quot;Tablix Properties&amp;quot;. Add a page break after the table:&lt;br /&gt;
 &lt;br /&gt;
To name the destination worksheet, make sure the tablix is selected and look for the Properties Window and the Page Name property:&lt;br /&gt;
 &lt;br /&gt;
The second table should be as close as possible (0pt gap) to the previous with a different PageName for the destination worksheet:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=ASP.Net_Core_Razor&amp;diff=28</id>
		<title>ASP.Net Core Razor</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=ASP.Net_Core_Razor&amp;diff=28"/>
		<updated>2023-07-28T13:45:38Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://app.pluralsight.com/library/courses/asp-dot-net-core-6-razor-pages-fundamentals/transcript Pluralsight tutorial]&lt;br /&gt;
&lt;br /&gt;
sdf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039; How To Get The Database Connection &#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect to the server in VS, right click on it and go to properties - the connection sould be there. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; Only Murders Poster &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:OnlyMurders.jpg|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:2016MortgageAttempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ASP]]&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=27</id>
		<title>How To Create An SSRS Report: Tips And Tricks</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=27"/>
		<updated>2023-07-25T09:14:56Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
[[File:SSRSTip1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:SSRS]]&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=26</id>
		<title>How To Create An SSRS Report</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=26"/>
		<updated>2023-07-25T09:14:03Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document walks through the steps required to deliver the results of an SQL Server query which itself delivers results via our linked Pulse servers to an SSRS output accessible by a CBAM user.&lt;br /&gt;
&lt;br /&gt;
You are at liberty to set up an SSRS solution using placeholder SQL and update it once you have built the actual SQL. &lt;br /&gt;
Solution Creation&lt;br /&gt;
&lt;br /&gt;
Open Visual Studio on your machine under your Dev account (e.g. &amp;quot;AMDev&amp;quot;) and create a new Report Server Project:&lt;br /&gt;
&lt;br /&gt;
[[File:SSRS1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; Why Can&#039;t I See My Favourite Dev Folder Under My Dev Account? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You DEV account doesn’t have the same folder permissions as your standard Windows account. To share a folder with your Dev account make sure you’re in your standard Windows account then right click on your folder, choose Properties and then the Security tab:&lt;br /&gt;
&lt;br /&gt;
[[File:SSRS2.png]]&lt;br /&gt;
 &lt;br /&gt;
Click Edit, then type e.g. &amp;quot;AMDev&amp;quot; into the object name box and click check names. Then click OK:&lt;br /&gt;
 &lt;br /&gt;
[[File:SSRS3.png]]&lt;br /&gt;
 &lt;br /&gt;
Update as appropriate:&lt;br /&gt;
 &lt;br /&gt;
[[File:SSRS4.png]]&lt;br /&gt;
 &lt;br /&gt;
Reopen VS under AMDev, should be able to see that folder.&lt;br /&gt;
&lt;br /&gt;
Alternatively, just save everything into a Dev folder on the U:\ drive which does appear visible under Dev accounts. &lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;Shared Data Source&amp;quot; and select &amp;quot;Add New Data Source&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
We’re going to use a standardised data connection to our SQL Server Database (the one with the Pulse database links):&lt;br /&gt;
&lt;br /&gt;
Name: &amp;quot;CBAM_DATAFEEDS&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_DATAFEEDS&lt;br /&gt;
or…&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_APPS&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: Note CBAM_DATAFEEDS. Over in SQL Server your stored procedures will need to be in here to be accessible back in SSRS:&lt;br /&gt;
 &lt;br /&gt;
Set the credentials. Since we&#039;re under our Dev account we can use Windows authentication:&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: go back and Build the data connection:&lt;br /&gt;
 &lt;br /&gt;
…so you can test you have connectivity:&lt;br /&gt;
  &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
Now we can build a report. Add a new item to the Reports folder:&lt;br /&gt;
 &lt;br /&gt;
(&amp;quot;Add New Report&amp;quot; triggers a wizard)&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
(Alter the height of the “document” pane so you can see the workspace more clearly). &lt;br /&gt;
Add any parameters you want to offer the user by right-clicking on Parameters in the Report pane:&lt;br /&gt;
 &lt;br /&gt;
Update the parameters with the appropriate datatypes etc:&lt;br /&gt;
 &lt;br /&gt;
Think of the Name of the parameter as the name of a textbox control in a VBA solution. We will cite this name when we&#039;re grabbed its value later and piping it into our parameterised query.&lt;br /&gt;
The user input controls for the parameters will automatically be added to the report:&lt;br /&gt;
 &lt;br /&gt;
Now we tell the report to use our data connection:&lt;br /&gt;
 &lt;br /&gt;
Give your connection an appropriate name for the report and cite the shared data source:&lt;br /&gt;
 &lt;br /&gt;
Use Windows Authentication credentials:&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
For our report we have thus leveraged the shared Data Source CBAM_DATAFEEDS_SCH with a connection here called &amp;quot;SIPPsInTransfer&amp;quot;. Now we can slice a dataset for the report itself. In the Report pane right click on Datasets and choose “Add Dataset”:&lt;br /&gt;
 &lt;br /&gt;
Give the dataset a name, choose the data source which we just created and then choose the appropriate option for the query/stored procedure you want to use:&lt;br /&gt;
 &lt;br /&gt;
If you want to bolt your SQL straight in using the text Query type option rather than citing a stored procedure be aware of the following. These both do the same thing:&lt;br /&gt;
SELECT * FROM OPENQUERY (PULSECOPY,&#039;select * from CPAM.PORTFOLIO &#039;)&lt;br /&gt;
SELECT * FROM PULSELIVE..CPAM.PORTFOLIO&lt;br /&gt;
…but only the latter gets you your list of fields under “Dataset” in the SSRS report designer. If you do use the latter make sure you correctly cite either PULSELIVE or PULSECOPY and your table names need to be in ALL CAPS&lt;br /&gt;
In addition, this is what you need to feed a date from SSRS across to Oracle via your T-SQL:&lt;br /&gt;
to_date(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar, @fromDate, 20) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd HH24:MI:SS&#039;&#039;&#039;&#039;)&lt;br /&gt;
…or, to reformat:&lt;br /&gt;
TO_CHAR (TRUNC(TO_DATE(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar(10), @ValuationDate) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd&#039;&#039;&#039;&#039;)), &#039;&#039;&#039;&#039;dd-mm-yyyy&#039;&#039;&#039;&#039;)&lt;br /&gt;
If you get this at any stage:&lt;br /&gt;
 &lt;br /&gt;
…head back up to the main CBAM DATAFEEDS_SCH connection and in Properties click Build again. &lt;br /&gt;
Match the query parameter name with where we&#039;re getting the input values from:&lt;br /&gt;
 &lt;br /&gt;
(You can also hard-code Parameter values here if the situation requires it.) https://blogs.perficient.com/2014/03/10/sales-report-with-date-picker/ &lt;br /&gt;
Click OK and the result should be this:&lt;br /&gt;
 &lt;br /&gt;
What if the fields of your report aren&#039;t showing? It&#039;s almost certainly because you’re leveraging a Stored Procedure and you haven’t set it up to deliver results to a temp table. See [TBC]. U:\Departments\ITAppsLondon\DEV\App Dev Tools\SSRS Tools&lt;br /&gt;
Now we can build the structure of the report. Right click on the design page and chose Insert and Table:&lt;br /&gt;
 &lt;br /&gt;
Drag the fields into the table:&lt;br /&gt;
 &lt;br /&gt;
Right click on individual fields and choose “Textbox properties” to change the data formatting…: &lt;br /&gt;
 &lt;br /&gt;
…in here:&lt;br /&gt;
 &lt;br /&gt;
Segoe UI 8pt is usually good for Excel outputs:&lt;br /&gt;
 &lt;br /&gt;
Note there is no column autofit in SSRS, you have to manually alter column widths by trial and error. &lt;br /&gt;
Move your table to the very top left of the page to ensure any extracts to Excel populate from cell A1:&lt;br /&gt;
 &lt;br /&gt;
Now click &amp;quot;Preview&amp;quot;, your query will run in the background:&lt;br /&gt;
 &lt;br /&gt;
…and you may find you need to apply more visual formatting:&lt;br /&gt;
 &lt;br /&gt;
You could head back to Design and right click on each individual field value placeholder and choose Text Box Properties, but that is very tedious. Try selecting the Tablix row and use the formatting toolbar:&lt;br /&gt;
 &lt;br /&gt;
Tips And Tricks&lt;br /&gt;
How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
Deployment&lt;br /&gt;
Remember you’ll need to create a new CI for your SSRS report for when you raise your RFC.&lt;br /&gt;
 Example CI For SSRS Reports &lt;br /&gt;
How To Create And Add A CI To An RFC &lt;br /&gt;
Use the same naming convention (YOURTOOLNAME_SSRS - or _SSIS) and details as here: &lt;br /&gt;
   &lt;br /&gt;
 Do I need to change the Shared Data Source connection string? &lt;br /&gt;
We are talking about this:&lt;br /&gt;
  &lt;br /&gt;
You don’t have to update this if you’ve named the connection after a Data Source already on the report server (e.g. CBAM_DATAFEEDS or CBAM_APPS). The deployment tool will detect the connection on the server and will not overwrite it with yours:&lt;br /&gt;
 &lt;br /&gt;
Switch to Release mode:&lt;br /&gt;
 &lt;br /&gt;
(If you forget this step it will try to deploy to your localhost and trigger an error)&lt;br /&gt;
Right click on the individual Solution project and choose &amp;quot;Deploy&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
We’re going to need to update this:&lt;br /&gt;
 &lt;br /&gt;
Change TargetServerURL to one of: &lt;br /&gt;
http://DC1LNAPSQLDEV01/reportserver (currently out of use)&lt;br /&gt;
http://DC1LNAPSQLUAT01/reportserver&lt;br /&gt;
http://DC1LNAPSQLPRD01/reportserver&lt;br /&gt;
 &lt;br /&gt;
Reminder: you need to do all this under your Dev account. This is what happens when you try to deploy under your standard Windows ID:&lt;br /&gt;
 &lt;br /&gt;
…and this is what a successful deployment looks like:&lt;br /&gt;
 &lt;br /&gt;
Open Chrome under your Dev account and head to the server you deployed to, in this case:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
You should see something like this:&lt;br /&gt;
 &lt;br /&gt;
If you see something like this you’re in the wrong account:&lt;br /&gt;
 &lt;br /&gt;
Securitisation&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Once you&#039;ve deployed your SSRS solution to the report server from within Visual Studio, open Chrome under your Dev account and, when in UAT, head here:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
When going live head here:&lt;br /&gt;
http://dc1lnapsqlprd01/reports/browse/&lt;br /&gt;
App Dev staff have admin access to the reports server, so we can assign permissions to the deployed SSRS solutions. Click on the ellipsis of your report and choose “Manage”:&lt;br /&gt;
 &lt;br /&gt;
…and in the Security tab you can manage permissions (assign individual users – which we shouldn&#039;t do – or groups/roles):&lt;br /&gt;
 &lt;br /&gt;
One final thing. Make sure your report solution is using the CBAM_DATAFEEDS connection (which logs into SQL Server under CReporting in the Report Manager). If it isn’t your user is likely to report the following even though you have added their name to the security list:&lt;br /&gt;
 &lt;br /&gt;
…because the CBAM_DATAFEEDS_SCH connection is set to log in using Windows Authentication so it is rejecting individual user accounts. To fix this, click on the ellipsis on your solution and choose Manage:&lt;br /&gt;
 &lt;br /&gt;
Click on Data Sources and then the ellipsis, browsing to and selecting CBAM_DATAFEEDS:&lt;br /&gt;
 &lt;br /&gt;
Because CBAM_DATAFEEDS logs into the database as CReporting:&lt;br /&gt;
 &lt;br /&gt;
That should fix the above error&lt;br /&gt;
Troubleshooting And Report Logging&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Integration Services Catalogue &lt;br /&gt;
See ssis_job_log_info (CR&#039;s reporting log) &lt;br /&gt;
Ssisdb – Autorek – Projects – execture_autork – right click&lt;br /&gt;
Reports – Standard Reports  - All Executions (see ID number and drill in)&lt;br /&gt;
[[Category:SSRS]]&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=25</id>
		<title>How To Create An SSRS Report: Tips And Tricks</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=25"/>
		<updated>2023-07-25T07:57:37Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
[[File:SSRSTip1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=24</id>
		<title>How To Create An SSRS Report: Tips And Tricks</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=24"/>
		<updated>2023-07-25T07:56:28Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
tex&lt;br /&gt;
&lt;br /&gt;
[[File:SSRSTip1.png]]&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;blob:https://closebrothersam.atlassian.net/916fd1e4-d330-471a-9282-ed91f666beb4#media-blob-url=true&amp;amp;amp;id=49080fa7-7936-4e25-9fa7-6a3a3a1eabb8&amp;amp;amp;collection=contentId-297238561&amp;amp;amp;contextId=297238561&amp;amp;amp;height=658&amp;amp;amp;width=1204&amp;amp;amp;alt=&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRSTip1.png&amp;diff=23</id>
		<title>File:SSRSTip1.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRSTip1.png&amp;diff=23"/>
		<updated>2023-07-25T07:56:14Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SSRSTip1&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=22</id>
		<title>How To Create An SSRS Report: Tips And Tricks</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=22"/>
		<updated>2023-07-25T07:55:39Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;&#039;&#039;&#039; How Do I Freeze The Top Row? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&lt;br /&gt;
Deselect any existing related options. Right click on your table and select &amp;quot;Tablix Properties&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;blob:https://closebrothersam.atlassian.net/916fd1e4-d330-471a-9282-ed91f666beb4#media-blob-url=true&amp;amp;amp;id=49080fa7-7936-4e25-9fa7-6a3a3a1eabb8&amp;amp;amp;collection=contentId-297238561&amp;amp;amp;contextId=297238561&amp;amp;amp;height=658&amp;amp;amp;width=1204&amp;amp;amp;alt=&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=21</id>
		<title>How To Create An SSRS Report: Tips And Tricks</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report:_Tips_And_Tricks&amp;diff=21"/>
		<updated>2023-07-25T07:54:20Z</updated>

		<summary type="html">&lt;p&gt;Brains48: Created page with &amp;quot;text&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;text&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=20</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=20"/>
		<updated>2023-07-25T01:28:09Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=W45EyfCxjIE&amp;amp;list=PL4exFJC-GCqYn33R4XPxLvLBaaN6AFHge&amp;amp;ab_channel=CedrickMay&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039; General Image &#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is my collapsed text&lt;br /&gt;
&lt;br /&gt;
[[File:Image.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=19</id>
		<title>How To Create An SSRS Report</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=19"/>
		<updated>2023-07-25T00:49:54Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document walks through the steps required to deliver the results of an SQL Server query which itself delivers results via our linked Pulse servers to an SSRS output accessible by a CBAM user.&lt;br /&gt;
&lt;br /&gt;
You are at liberty to set up an SSRS solution using placeholder SQL and update it once you have built the actual SQL. &lt;br /&gt;
Solution Creation&lt;br /&gt;
&lt;br /&gt;
Open Visual Studio on your machine under your Dev account (e.g. &amp;quot;AMDev&amp;quot;) and create a new Report Server Project:&lt;br /&gt;
&lt;br /&gt;
[[File:SSRS1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; Why Can&#039;t I See My Favourite Dev Folder Under My Dev Account? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You DEV account doesn’t have the same folder permissions as your standard Windows account. To share a folder with your Dev account make sure you’re in your standard Windows account then right click on your folder, choose Properties and then the Security tab:&lt;br /&gt;
&lt;br /&gt;
[[File:SSRS2.png]]&lt;br /&gt;
 &lt;br /&gt;
Click Edit, then type e.g. &amp;quot;AMDev&amp;quot; into the object name box and click check names. Then click OK:&lt;br /&gt;
 &lt;br /&gt;
[[File:SSRS3.png]]&lt;br /&gt;
 &lt;br /&gt;
Update as appropriate:&lt;br /&gt;
 &lt;br /&gt;
[[File:SSRS4.png]]&lt;br /&gt;
 &lt;br /&gt;
Reopen VS under AMDev, should be able to see that folder.&lt;br /&gt;
&lt;br /&gt;
Alternatively, just save everything into a Dev folder on the U:\ drive which does appear visible under Dev accounts. &lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;Shared Data Source&amp;quot; and select &amp;quot;Add New Data Source&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
We’re going to use a standardised data connection to our SQL Server Database (the one with the Pulse database links):&lt;br /&gt;
&lt;br /&gt;
Name: &amp;quot;CBAM_DATAFEEDS&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_DATAFEEDS&lt;br /&gt;
or…&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_APPS&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: Note CBAM_DATAFEEDS. Over in SQL Server your stored procedures will need to be in here to be accessible back in SSRS:&lt;br /&gt;
 &lt;br /&gt;
Set the credentials. Since we&#039;re under our Dev account we can use Windows authentication:&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: go back and Build the data connection:&lt;br /&gt;
 &lt;br /&gt;
…so you can test you have connectivity:&lt;br /&gt;
  &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
Now we can build a report. Add a new item to the Reports folder:&lt;br /&gt;
 &lt;br /&gt;
(&amp;quot;Add New Report&amp;quot; triggers a wizard)&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
(Alter the height of the “document” pane so you can see the workspace more clearly). &lt;br /&gt;
Add any parameters you want to offer the user by right-clicking on Parameters in the Report pane:&lt;br /&gt;
 &lt;br /&gt;
Update the parameters with the appropriate datatypes etc:&lt;br /&gt;
 &lt;br /&gt;
Think of the Name of the parameter as the name of a textbox control in a VBA solution. We will cite this name when we&#039;re grabbed its value later and piping it into our parameterised query.&lt;br /&gt;
The user input controls for the parameters will automatically be added to the report:&lt;br /&gt;
 &lt;br /&gt;
Now we tell the report to use our data connection:&lt;br /&gt;
 &lt;br /&gt;
Give your connection an appropriate name for the report and cite the shared data source:&lt;br /&gt;
 &lt;br /&gt;
Use Windows Authentication credentials:&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
For our report we have thus leveraged the shared Data Source CBAM_DATAFEEDS_SCH with a connection here called &amp;quot;SIPPsInTransfer&amp;quot;. Now we can slice a dataset for the report itself. In the Report pane right click on Datasets and choose “Add Dataset”:&lt;br /&gt;
 &lt;br /&gt;
Give the dataset a name, choose the data source which we just created and then choose the appropriate option for the query/stored procedure you want to use:&lt;br /&gt;
 &lt;br /&gt;
If you want to bolt your SQL straight in using the text Query type option rather than citing a stored procedure be aware of the following. These both do the same thing:&lt;br /&gt;
SELECT * FROM OPENQUERY (PULSECOPY,&#039;select * from CPAM.PORTFOLIO &#039;)&lt;br /&gt;
SELECT * FROM PULSELIVE..CPAM.PORTFOLIO&lt;br /&gt;
…but only the latter gets you your list of fields under “Dataset” in the SSRS report designer. If you do use the latter make sure you correctly cite either PULSELIVE or PULSECOPY and your table names need to be in ALL CAPS&lt;br /&gt;
In addition, this is what you need to feed a date from SSRS across to Oracle via your T-SQL:&lt;br /&gt;
to_date(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar, @fromDate, 20) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd HH24:MI:SS&#039;&#039;&#039;&#039;)&lt;br /&gt;
…or, to reformat:&lt;br /&gt;
TO_CHAR (TRUNC(TO_DATE(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar(10), @ValuationDate) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd&#039;&#039;&#039;&#039;)), &#039;&#039;&#039;&#039;dd-mm-yyyy&#039;&#039;&#039;&#039;)&lt;br /&gt;
If you get this at any stage:&lt;br /&gt;
 &lt;br /&gt;
…head back up to the main CBAM DATAFEEDS_SCH connection and in Properties click Build again. &lt;br /&gt;
Match the query parameter name with where we&#039;re getting the input values from:&lt;br /&gt;
 &lt;br /&gt;
(You can also hard-code Parameter values here if the situation requires it.) https://blogs.perficient.com/2014/03/10/sales-report-with-date-picker/ &lt;br /&gt;
Click OK and the result should be this:&lt;br /&gt;
 &lt;br /&gt;
What if the fields of your report aren&#039;t showing? It&#039;s almost certainly because you’re leveraging a Stored Procedure and you haven’t set it up to deliver results to a temp table. See [TBC]. U:\Departments\ITAppsLondon\DEV\App Dev Tools\SSRS Tools&lt;br /&gt;
Now we can build the structure of the report. Right click on the design page and chose Insert and Table:&lt;br /&gt;
 &lt;br /&gt;
Drag the fields into the table:&lt;br /&gt;
 &lt;br /&gt;
Right click on individual fields and choose “Textbox properties” to change the data formatting…: &lt;br /&gt;
 &lt;br /&gt;
…in here:&lt;br /&gt;
 &lt;br /&gt;
Segoe UI 8pt is usually good for Excel outputs:&lt;br /&gt;
 &lt;br /&gt;
Note there is no column autofit in SSRS, you have to manually alter column widths by trial and error. &lt;br /&gt;
Move your table to the very top left of the page to ensure any extracts to Excel populate from cell A1:&lt;br /&gt;
 &lt;br /&gt;
Now click &amp;quot;Preview&amp;quot;, your query will run in the background:&lt;br /&gt;
 &lt;br /&gt;
…and you may find you need to apply more visual formatting:&lt;br /&gt;
 &lt;br /&gt;
You could head back to Design and right click on each individual field value placeholder and choose Text Box Properties, but that is very tedious. Try selecting the Tablix row and use the formatting toolbar:&lt;br /&gt;
 &lt;br /&gt;
Tips And Tricks&lt;br /&gt;
How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
Deployment&lt;br /&gt;
Remember you’ll need to create a new CI for your SSRS report for when you raise your RFC.&lt;br /&gt;
 Example CI For SSRS Reports &lt;br /&gt;
How To Create And Add A CI To An RFC &lt;br /&gt;
Use the same naming convention (YOURTOOLNAME_SSRS - or _SSIS) and details as here: &lt;br /&gt;
   &lt;br /&gt;
 Do I need to change the Shared Data Source connection string? &lt;br /&gt;
We are talking about this:&lt;br /&gt;
  &lt;br /&gt;
You don’t have to update this if you’ve named the connection after a Data Source already on the report server (e.g. CBAM_DATAFEEDS or CBAM_APPS). The deployment tool will detect the connection on the server and will not overwrite it with yours:&lt;br /&gt;
 &lt;br /&gt;
Switch to Release mode:&lt;br /&gt;
 &lt;br /&gt;
(If you forget this step it will try to deploy to your localhost and trigger an error)&lt;br /&gt;
Right click on the individual Solution project and choose &amp;quot;Deploy&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
We’re going to need to update this:&lt;br /&gt;
 &lt;br /&gt;
Change TargetServerURL to one of: &lt;br /&gt;
http://DC1LNAPSQLDEV01/reportserver (currently out of use)&lt;br /&gt;
http://DC1LNAPSQLUAT01/reportserver&lt;br /&gt;
http://DC1LNAPSQLPRD01/reportserver&lt;br /&gt;
 &lt;br /&gt;
Reminder: you need to do all this under your Dev account. This is what happens when you try to deploy under your standard Windows ID:&lt;br /&gt;
 &lt;br /&gt;
…and this is what a successful deployment looks like:&lt;br /&gt;
 &lt;br /&gt;
Open Chrome under your Dev account and head to the server you deployed to, in this case:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
You should see something like this:&lt;br /&gt;
 &lt;br /&gt;
If you see something like this you’re in the wrong account:&lt;br /&gt;
 &lt;br /&gt;
Securitisation&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Once you&#039;ve deployed your SSRS solution to the report server from within Visual Studio, open Chrome under your Dev account and, when in UAT, head here:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
When going live head here:&lt;br /&gt;
http://dc1lnapsqlprd01/reports/browse/&lt;br /&gt;
App Dev staff have admin access to the reports server, so we can assign permissions to the deployed SSRS solutions. Click on the ellipsis of your report and choose “Manage”:&lt;br /&gt;
 &lt;br /&gt;
…and in the Security tab you can manage permissions (assign individual users – which we shouldn&#039;t do – or groups/roles):&lt;br /&gt;
 &lt;br /&gt;
One final thing. Make sure your report solution is using the CBAM_DATAFEEDS connection (which logs into SQL Server under CReporting in the Report Manager). If it isn’t your user is likely to report the following even though you have added their name to the security list:&lt;br /&gt;
 &lt;br /&gt;
…because the CBAM_DATAFEEDS_SCH connection is set to log in using Windows Authentication so it is rejecting individual user accounts. To fix this, click on the ellipsis on your solution and choose Manage:&lt;br /&gt;
 &lt;br /&gt;
Click on Data Sources and then the ellipsis, browsing to and selecting CBAM_DATAFEEDS:&lt;br /&gt;
 &lt;br /&gt;
Because CBAM_DATAFEEDS logs into the database as CReporting:&lt;br /&gt;
 &lt;br /&gt;
That should fix the above error&lt;br /&gt;
Troubleshooting And Report Logging&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Integration Services Catalogue &lt;br /&gt;
See ssis_job_log_info (CR&#039;s reporting log) &lt;br /&gt;
Ssisdb – Autorek – Projects – execture_autork – right click&lt;br /&gt;
Reports – Standard Reports  - All Executions (see ID number and drill in)&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS4.png&amp;diff=18</id>
		<title>File:SSRS4.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS4.png&amp;diff=18"/>
		<updated>2023-07-25T00:48:55Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SSRS4&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS3.png&amp;diff=17</id>
		<title>File:SSRS3.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS3.png&amp;diff=17"/>
		<updated>2023-07-25T00:48:11Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SSRS3&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS2.png&amp;diff=16</id>
		<title>File:SSRS2.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS2.png&amp;diff=16"/>
		<updated>2023-07-25T00:47:33Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SSRS2&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=15</id>
		<title>How To Create An SSRS Report</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=15"/>
		<updated>2023-07-25T00:46:52Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document walks through the steps required to deliver the results of an SQL Server query which itself delivers results via our linked Pulse servers to an SSRS output accessible by a CBAM user.&lt;br /&gt;
&lt;br /&gt;
You are at liberty to set up an SSRS solution using placeholder SQL and update it once you have built the actual SQL. &lt;br /&gt;
Solution Creation&lt;br /&gt;
&lt;br /&gt;
Open Visual Studio on your machine under your Dev account (e.g. &amp;quot;AMDev&amp;quot;) and create a new Report Server Project:&lt;br /&gt;
&lt;br /&gt;
[[File:SSRS1.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; Why Can&#039;t I See My Favourite Dev Folder Under My Dev Account? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You DEV account doesn’t have the same folder permissions as your standard Windows account. To share a folder with your Dev account make sure you’re in your standard Windows account then right click on your folder, choose Properties and then the Security tab:&lt;br /&gt;
 &lt;br /&gt;
Click Edit, then type e.g. &amp;quot;AMDev&amp;quot; into the object name box and click check names. Then click OK:&lt;br /&gt;
 &lt;br /&gt;
Update as appropriate:&lt;br /&gt;
 &lt;br /&gt;
Reopen VS under AMDev, should be able to see that folder.&lt;br /&gt;
Alternatively, just save everything into a Dev folder on the U:\ drive which does appear visible under Dev accounts. &lt;br /&gt;
Right click on &amp;quot;Shared Data Source&amp;quot; and select &amp;quot;Add New Data Source&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:OnlyMurders.jpg|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
We’re going to use a standardised data connection to our SQL Server Database (the one with the Pulse database links):&lt;br /&gt;
&lt;br /&gt;
Name: &amp;quot;CBAM_DATAFEEDS&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_DATAFEEDS&lt;br /&gt;
or…&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_APPS&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: Note CBAM_DATAFEEDS. Over in SQL Server your stored procedures will need to be in here to be accessible back in SSRS:&lt;br /&gt;
 &lt;br /&gt;
Set the credentials. Since we&#039;re under our Dev account we can use Windows authentication:&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: go back and Build the data connection:&lt;br /&gt;
 &lt;br /&gt;
…so you can test you have connectivity:&lt;br /&gt;
  &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
Now we can build a report. Add a new item to the Reports folder:&lt;br /&gt;
 &lt;br /&gt;
(&amp;quot;Add New Report&amp;quot; triggers a wizard)&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
(Alter the height of the “document” pane so you can see the workspace more clearly). &lt;br /&gt;
Add any parameters you want to offer the user by right-clicking on Parameters in the Report pane:&lt;br /&gt;
 &lt;br /&gt;
Update the parameters with the appropriate datatypes etc:&lt;br /&gt;
 &lt;br /&gt;
Think of the Name of the parameter as the name of a textbox control in a VBA solution. We will cite this name when we&#039;re grabbed its value later and piping it into our parameterised query.&lt;br /&gt;
The user input controls for the parameters will automatically be added to the report:&lt;br /&gt;
 &lt;br /&gt;
Now we tell the report to use our data connection:&lt;br /&gt;
 &lt;br /&gt;
Give your connection an appropriate name for the report and cite the shared data source:&lt;br /&gt;
 &lt;br /&gt;
Use Windows Authentication credentials:&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
For our report we have thus leveraged the shared Data Source CBAM_DATAFEEDS_SCH with a connection here called &amp;quot;SIPPsInTransfer&amp;quot;. Now we can slice a dataset for the report itself. In the Report pane right click on Datasets and choose “Add Dataset”:&lt;br /&gt;
 &lt;br /&gt;
Give the dataset a name, choose the data source which we just created and then choose the appropriate option for the query/stored procedure you want to use:&lt;br /&gt;
 &lt;br /&gt;
If you want to bolt your SQL straight in using the text Query type option rather than citing a stored procedure be aware of the following. These both do the same thing:&lt;br /&gt;
SELECT * FROM OPENQUERY (PULSECOPY,&#039;select * from CPAM.PORTFOLIO &#039;)&lt;br /&gt;
SELECT * FROM PULSELIVE..CPAM.PORTFOLIO&lt;br /&gt;
…but only the latter gets you your list of fields under “Dataset” in the SSRS report designer. If you do use the latter make sure you correctly cite either PULSELIVE or PULSECOPY and your table names need to be in ALL CAPS&lt;br /&gt;
In addition, this is what you need to feed a date from SSRS across to Oracle via your T-SQL:&lt;br /&gt;
to_date(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar, @fromDate, 20) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd HH24:MI:SS&#039;&#039;&#039;&#039;)&lt;br /&gt;
…or, to reformat:&lt;br /&gt;
TO_CHAR (TRUNC(TO_DATE(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar(10), @ValuationDate) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd&#039;&#039;&#039;&#039;)), &#039;&#039;&#039;&#039;dd-mm-yyyy&#039;&#039;&#039;&#039;)&lt;br /&gt;
If you get this at any stage:&lt;br /&gt;
 &lt;br /&gt;
…head back up to the main CBAM DATAFEEDS_SCH connection and in Properties click Build again. &lt;br /&gt;
Match the query parameter name with where we&#039;re getting the input values from:&lt;br /&gt;
 &lt;br /&gt;
(You can also hard-code Parameter values here if the situation requires it.) https://blogs.perficient.com/2014/03/10/sales-report-with-date-picker/ &lt;br /&gt;
Click OK and the result should be this:&lt;br /&gt;
 &lt;br /&gt;
What if the fields of your report aren&#039;t showing? It&#039;s almost certainly because you’re leveraging a Stored Procedure and you haven’t set it up to deliver results to a temp table. See [TBC]. U:\Departments\ITAppsLondon\DEV\App Dev Tools\SSRS Tools&lt;br /&gt;
Now we can build the structure of the report. Right click on the design page and chose Insert and Table:&lt;br /&gt;
 &lt;br /&gt;
Drag the fields into the table:&lt;br /&gt;
 &lt;br /&gt;
Right click on individual fields and choose “Textbox properties” to change the data formatting…: &lt;br /&gt;
 &lt;br /&gt;
…in here:&lt;br /&gt;
 &lt;br /&gt;
Segoe UI 8pt is usually good for Excel outputs:&lt;br /&gt;
 &lt;br /&gt;
Note there is no column autofit in SSRS, you have to manually alter column widths by trial and error. &lt;br /&gt;
Move your table to the very top left of the page to ensure any extracts to Excel populate from cell A1:&lt;br /&gt;
 &lt;br /&gt;
Now click &amp;quot;Preview&amp;quot;, your query will run in the background:&lt;br /&gt;
 &lt;br /&gt;
…and you may find you need to apply more visual formatting:&lt;br /&gt;
 &lt;br /&gt;
You could head back to Design and right click on each individual field value placeholder and choose Text Box Properties, but that is very tedious. Try selecting the Tablix row and use the formatting toolbar:&lt;br /&gt;
 &lt;br /&gt;
Tips And Tricks&lt;br /&gt;
How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
Deployment&lt;br /&gt;
Remember you’ll need to create a new CI for your SSRS report for when you raise your RFC.&lt;br /&gt;
 Example CI For SSRS Reports &lt;br /&gt;
How To Create And Add A CI To An RFC &lt;br /&gt;
Use the same naming convention (YOURTOOLNAME_SSRS - or _SSIS) and details as here: &lt;br /&gt;
   &lt;br /&gt;
 Do I need to change the Shared Data Source connection string? &lt;br /&gt;
We are talking about this:&lt;br /&gt;
  &lt;br /&gt;
You don’t have to update this if you’ve named the connection after a Data Source already on the report server (e.g. CBAM_DATAFEEDS or CBAM_APPS). The deployment tool will detect the connection on the server and will not overwrite it with yours:&lt;br /&gt;
 &lt;br /&gt;
Switch to Release mode:&lt;br /&gt;
 &lt;br /&gt;
(If you forget this step it will try to deploy to your localhost and trigger an error)&lt;br /&gt;
Right click on the individual Solution project and choose &amp;quot;Deploy&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
We’re going to need to update this:&lt;br /&gt;
 &lt;br /&gt;
Change TargetServerURL to one of: &lt;br /&gt;
http://DC1LNAPSQLDEV01/reportserver (currently out of use)&lt;br /&gt;
http://DC1LNAPSQLUAT01/reportserver&lt;br /&gt;
http://DC1LNAPSQLPRD01/reportserver&lt;br /&gt;
 &lt;br /&gt;
Reminder: you need to do all this under your Dev account. This is what happens when you try to deploy under your standard Windows ID:&lt;br /&gt;
 &lt;br /&gt;
…and this is what a successful deployment looks like:&lt;br /&gt;
 &lt;br /&gt;
Open Chrome under your Dev account and head to the server you deployed to, in this case:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
You should see something like this:&lt;br /&gt;
 &lt;br /&gt;
If you see something like this you’re in the wrong account:&lt;br /&gt;
 &lt;br /&gt;
Securitisation&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Once you&#039;ve deployed your SSRS solution to the report server from within Visual Studio, open Chrome under your Dev account and, when in UAT, head here:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
When going live head here:&lt;br /&gt;
http://dc1lnapsqlprd01/reports/browse/&lt;br /&gt;
App Dev staff have admin access to the reports server, so we can assign permissions to the deployed SSRS solutions. Click on the ellipsis of your report and choose “Manage”:&lt;br /&gt;
 &lt;br /&gt;
…and in the Security tab you can manage permissions (assign individual users – which we shouldn&#039;t do – or groups/roles):&lt;br /&gt;
 &lt;br /&gt;
One final thing. Make sure your report solution is using the CBAM_DATAFEEDS connection (which logs into SQL Server under CReporting in the Report Manager). If it isn’t your user is likely to report the following even though you have added their name to the security list:&lt;br /&gt;
 &lt;br /&gt;
…because the CBAM_DATAFEEDS_SCH connection is set to log in using Windows Authentication so it is rejecting individual user accounts. To fix this, click on the ellipsis on your solution and choose Manage:&lt;br /&gt;
 &lt;br /&gt;
Click on Data Sources and then the ellipsis, browsing to and selecting CBAM_DATAFEEDS:&lt;br /&gt;
 &lt;br /&gt;
Because CBAM_DATAFEEDS logs into the database as CReporting:&lt;br /&gt;
 &lt;br /&gt;
That should fix the above error&lt;br /&gt;
Troubleshooting And Report Logging&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Integration Services Catalogue &lt;br /&gt;
See ssis_job_log_info (CR&#039;s reporting log) &lt;br /&gt;
Ssisdb – Autorek – Projects – execture_autork – right click&lt;br /&gt;
Reports – Standard Reports  - All Executions (see ID number and drill in)&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS1.png&amp;diff=14</id>
		<title>File:SSRS1.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:SSRS1.png&amp;diff=14"/>
		<updated>2023-07-25T00:46:28Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SSRS1&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=13</id>
		<title>How To Create An SSRS Report</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=13"/>
		<updated>2023-07-25T00:45:15Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document walks through the steps required to deliver the results of an SQL Server query which itself delivers results via our linked Pulse servers to an SSRS output accessible by a CBAM user.&lt;br /&gt;
&lt;br /&gt;
You are at liberty to set up an SSRS solution using placeholder SQL and update it once you have built the actual SQL. &lt;br /&gt;
Solution Creation&lt;br /&gt;
&lt;br /&gt;
Open Visual Studio on your machine under your Dev account (e.g. &amp;quot;AMDev&amp;quot;) and create a new Report Server Project:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; Why Can&#039;t I See My Favourite Dev Folder Under My Dev Account? &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You DEV account doesn’t have the same folder permissions as your standard Windows account. To share a folder with your Dev account make sure you’re in your standard Windows account then right click on your folder, choose Properties and then the Security tab:&lt;br /&gt;
 &lt;br /&gt;
Click Edit, then type e.g. &amp;quot;AMDev&amp;quot; into the object name box and click check names. Then click OK:&lt;br /&gt;
 &lt;br /&gt;
Update as appropriate:&lt;br /&gt;
 &lt;br /&gt;
Reopen VS under AMDev, should be able to see that folder.&lt;br /&gt;
Alternatively, just save everything into a Dev folder on the U:\ drive which does appear visible under Dev accounts. &lt;br /&gt;
Right click on &amp;quot;Shared Data Source&amp;quot; and select &amp;quot;Add New Data Source&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:OnlyMurders.jpg|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
We’re going to use a standardised data connection to our SQL Server Database (the one with the Pulse database links):&lt;br /&gt;
&lt;br /&gt;
Name: &amp;quot;CBAM_DATAFEEDS&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_DATAFEEDS&lt;br /&gt;
or…&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_APPS&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: Note CBAM_DATAFEEDS. Over in SQL Server your stored procedures will need to be in here to be accessible back in SSRS:&lt;br /&gt;
 &lt;br /&gt;
Set the credentials. Since we&#039;re under our Dev account we can use Windows authentication:&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: go back and Build the data connection:&lt;br /&gt;
 &lt;br /&gt;
…so you can test you have connectivity:&lt;br /&gt;
  &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
Now we can build a report. Add a new item to the Reports folder:&lt;br /&gt;
 &lt;br /&gt;
(&amp;quot;Add New Report&amp;quot; triggers a wizard)&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
(Alter the height of the “document” pane so you can see the workspace more clearly). &lt;br /&gt;
Add any parameters you want to offer the user by right-clicking on Parameters in the Report pane:&lt;br /&gt;
 &lt;br /&gt;
Update the parameters with the appropriate datatypes etc:&lt;br /&gt;
 &lt;br /&gt;
Think of the Name of the parameter as the name of a textbox control in a VBA solution. We will cite this name when we&#039;re grabbed its value later and piping it into our parameterised query.&lt;br /&gt;
The user input controls for the parameters will automatically be added to the report:&lt;br /&gt;
 &lt;br /&gt;
Now we tell the report to use our data connection:&lt;br /&gt;
 &lt;br /&gt;
Give your connection an appropriate name for the report and cite the shared data source:&lt;br /&gt;
 &lt;br /&gt;
Use Windows Authentication credentials:&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
For our report we have thus leveraged the shared Data Source CBAM_DATAFEEDS_SCH with a connection here called &amp;quot;SIPPsInTransfer&amp;quot;. Now we can slice a dataset for the report itself. In the Report pane right click on Datasets and choose “Add Dataset”:&lt;br /&gt;
 &lt;br /&gt;
Give the dataset a name, choose the data source which we just created and then choose the appropriate option for the query/stored procedure you want to use:&lt;br /&gt;
 &lt;br /&gt;
If you want to bolt your SQL straight in using the text Query type option rather than citing a stored procedure be aware of the following. These both do the same thing:&lt;br /&gt;
SELECT * FROM OPENQUERY (PULSECOPY,&#039;select * from CPAM.PORTFOLIO &#039;)&lt;br /&gt;
SELECT * FROM PULSELIVE..CPAM.PORTFOLIO&lt;br /&gt;
…but only the latter gets you your list of fields under “Dataset” in the SSRS report designer. If you do use the latter make sure you correctly cite either PULSELIVE or PULSECOPY and your table names need to be in ALL CAPS&lt;br /&gt;
In addition, this is what you need to feed a date from SSRS across to Oracle via your T-SQL:&lt;br /&gt;
to_date(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar, @fromDate, 20) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd HH24:MI:SS&#039;&#039;&#039;&#039;)&lt;br /&gt;
…or, to reformat:&lt;br /&gt;
TO_CHAR (TRUNC(TO_DATE(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar(10), @ValuationDate) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd&#039;&#039;&#039;&#039;)), &#039;&#039;&#039;&#039;dd-mm-yyyy&#039;&#039;&#039;&#039;)&lt;br /&gt;
If you get this at any stage:&lt;br /&gt;
 &lt;br /&gt;
…head back up to the main CBAM DATAFEEDS_SCH connection and in Properties click Build again. &lt;br /&gt;
Match the query parameter name with where we&#039;re getting the input values from:&lt;br /&gt;
 &lt;br /&gt;
(You can also hard-code Parameter values here if the situation requires it.) https://blogs.perficient.com/2014/03/10/sales-report-with-date-picker/ &lt;br /&gt;
Click OK and the result should be this:&lt;br /&gt;
 &lt;br /&gt;
What if the fields of your report aren&#039;t showing? It&#039;s almost certainly because you’re leveraging a Stored Procedure and you haven’t set it up to deliver results to a temp table. See [TBC]. U:\Departments\ITAppsLondon\DEV\App Dev Tools\SSRS Tools&lt;br /&gt;
Now we can build the structure of the report. Right click on the design page and chose Insert and Table:&lt;br /&gt;
 &lt;br /&gt;
Drag the fields into the table:&lt;br /&gt;
 &lt;br /&gt;
Right click on individual fields and choose “Textbox properties” to change the data formatting…: &lt;br /&gt;
 &lt;br /&gt;
…in here:&lt;br /&gt;
 &lt;br /&gt;
Segoe UI 8pt is usually good for Excel outputs:&lt;br /&gt;
 &lt;br /&gt;
Note there is no column autofit in SSRS, you have to manually alter column widths by trial and error. &lt;br /&gt;
Move your table to the very top left of the page to ensure any extracts to Excel populate from cell A1:&lt;br /&gt;
 &lt;br /&gt;
Now click &amp;quot;Preview&amp;quot;, your query will run in the background:&lt;br /&gt;
 &lt;br /&gt;
…and you may find you need to apply more visual formatting:&lt;br /&gt;
 &lt;br /&gt;
You could head back to Design and right click on each individual field value placeholder and choose Text Box Properties, but that is very tedious. Try selecting the Tablix row and use the formatting toolbar:&lt;br /&gt;
 &lt;br /&gt;
Tips And Tricks&lt;br /&gt;
How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
Deployment&lt;br /&gt;
Remember you’ll need to create a new CI for your SSRS report for when you raise your RFC.&lt;br /&gt;
 Example CI For SSRS Reports &lt;br /&gt;
How To Create And Add A CI To An RFC &lt;br /&gt;
Use the same naming convention (YOURTOOLNAME_SSRS - or _SSIS) and details as here: &lt;br /&gt;
   &lt;br /&gt;
 Do I need to change the Shared Data Source connection string? &lt;br /&gt;
We are talking about this:&lt;br /&gt;
  &lt;br /&gt;
You don’t have to update this if you’ve named the connection after a Data Source already on the report server (e.g. CBAM_DATAFEEDS or CBAM_APPS). The deployment tool will detect the connection on the server and will not overwrite it with yours:&lt;br /&gt;
 &lt;br /&gt;
Switch to Release mode:&lt;br /&gt;
 &lt;br /&gt;
(If you forget this step it will try to deploy to your localhost and trigger an error)&lt;br /&gt;
Right click on the individual Solution project and choose &amp;quot;Deploy&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
We’re going to need to update this:&lt;br /&gt;
 &lt;br /&gt;
Change TargetServerURL to one of: &lt;br /&gt;
http://DC1LNAPSQLDEV01/reportserver (currently out of use)&lt;br /&gt;
http://DC1LNAPSQLUAT01/reportserver&lt;br /&gt;
http://DC1LNAPSQLPRD01/reportserver&lt;br /&gt;
 &lt;br /&gt;
Reminder: you need to do all this under your Dev account. This is what happens when you try to deploy under your standard Windows ID:&lt;br /&gt;
 &lt;br /&gt;
…and this is what a successful deployment looks like:&lt;br /&gt;
 &lt;br /&gt;
Open Chrome under your Dev account and head to the server you deployed to, in this case:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
You should see something like this:&lt;br /&gt;
 &lt;br /&gt;
If you see something like this you’re in the wrong account:&lt;br /&gt;
 &lt;br /&gt;
Securitisation&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Once you&#039;ve deployed your SSRS solution to the report server from within Visual Studio, open Chrome under your Dev account and, when in UAT, head here:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
When going live head here:&lt;br /&gt;
http://dc1lnapsqlprd01/reports/browse/&lt;br /&gt;
App Dev staff have admin access to the reports server, so we can assign permissions to the deployed SSRS solutions. Click on the ellipsis of your report and choose “Manage”:&lt;br /&gt;
 &lt;br /&gt;
…and in the Security tab you can manage permissions (assign individual users – which we shouldn&#039;t do – or groups/roles):&lt;br /&gt;
 &lt;br /&gt;
One final thing. Make sure your report solution is using the CBAM_DATAFEEDS connection (which logs into SQL Server under CReporting in the Report Manager). If it isn’t your user is likely to report the following even though you have added their name to the security list:&lt;br /&gt;
 &lt;br /&gt;
…because the CBAM_DATAFEEDS_SCH connection is set to log in using Windows Authentication so it is rejecting individual user accounts. To fix this, click on the ellipsis on your solution and choose Manage:&lt;br /&gt;
 &lt;br /&gt;
Click on Data Sources and then the ellipsis, browsing to and selecting CBAM_DATAFEEDS:&lt;br /&gt;
 &lt;br /&gt;
Because CBAM_DATAFEEDS logs into the database as CReporting:&lt;br /&gt;
 &lt;br /&gt;
That should fix the above error&lt;br /&gt;
Troubleshooting And Report Logging&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Integration Services Catalogue &lt;br /&gt;
See ssis_job_log_info (CR&#039;s reporting log) &lt;br /&gt;
Ssisdb – Autorek – Projects – execture_autork – right click&lt;br /&gt;
Reports – Standard Reports  - All Executions (see ID number and drill in)&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=ASP.Net_Core_Razor&amp;diff=12</id>
		<title>ASP.Net Core Razor</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=ASP.Net_Core_Razor&amp;diff=12"/>
		<updated>2023-07-25T00:43:56Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://app.pluralsight.com/library/courses/asp-dot-net-core-6-razor-pages-fundamentals/transcript Pluralsight tutorial]&lt;br /&gt;
&lt;br /&gt;
sdf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039; How To Get The Database Connection &#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is my collapsed text&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;&#039; Only Murders Poster &#039;&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:OnlyMurders.jpg|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:2016MortgageAttempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ASP]]&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=11</id>
		<title>How To Create An SSRS Report</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=How_To_Create_An_SSRS_Report&amp;diff=11"/>
		<updated>2023-07-25T00:42:35Z</updated>

		<summary type="html">&lt;p&gt;Brains48: How To Create An SSRS Report&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document walks through the steps required to deliver the results of an SQL Server query which itself delivers results via our linked Pulse servers to an SSRS output accessible by a CBAM user.&lt;br /&gt;
&lt;br /&gt;
You are at liberty to set up an SSRS solution using placeholder SQL and update it once you have built the actual SQL. &lt;br /&gt;
Solution Creation&lt;br /&gt;
Open Visual Studio on your machine under your Dev account (e.g. &amp;quot;AMDev&amp;quot;) and create a new Report Server Project:&lt;br /&gt;
 &lt;br /&gt;
 Why Can&#039;t I See My Favourite Dev Folder Under My Dev Account? &lt;br /&gt;
You DEV account doesn’t have the same folder permissions as your standard Windows account. To share a folder with your Dev account make sure you’re in your standard Windows account then right click on your folder, choose Properties and then the Security tab:&lt;br /&gt;
 &lt;br /&gt;
Click Edit, then type e.g. &amp;quot;AMDev&amp;quot; into the object name box and click check names. Then click OK:&lt;br /&gt;
 &lt;br /&gt;
Update as appropriate:&lt;br /&gt;
 &lt;br /&gt;
Reopen VS under AMDev, should be able to see that folder.&lt;br /&gt;
Alternatively, just save everything into a Dev folder on the U:\ drive which does appear visible under Dev accounts. &lt;br /&gt;
Right click on &amp;quot;Shared Data Source&amp;quot; and select &amp;quot;Add New Data Source&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
We’re going to use a standardised data connection to our SQL Server Database (the one with the Pulse database links):&lt;br /&gt;
Name: &amp;quot;CBAM_DATAFEEDS&amp;quot;:&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_DATAFEEDS&lt;br /&gt;
or…&lt;br /&gt;
Data Source=DC1LNAPSQLUAT01;Initial Catalog=CBAM_APPS&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: Note CBAM_DATAFEEDS. Over in SQL Server your stored procedures will need to be in here to be accessible back in SSRS:&lt;br /&gt;
 &lt;br /&gt;
Set the credentials. Since we&#039;re under our Dev account we can use Windows authentication:&lt;br /&gt;
 &lt;br /&gt;
GOTCHA: go back and Build the data connection:&lt;br /&gt;
 &lt;br /&gt;
…so you can test you have connectivity:&lt;br /&gt;
  &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
Now we can build a report. Add a new item to the Reports folder:&lt;br /&gt;
 &lt;br /&gt;
(&amp;quot;Add New Report&amp;quot; triggers a wizard)&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
(Alter the height of the “document” pane so you can see the workspace more clearly). &lt;br /&gt;
Add any parameters you want to offer the user by right-clicking on Parameters in the Report pane:&lt;br /&gt;
 &lt;br /&gt;
Update the parameters with the appropriate datatypes etc:&lt;br /&gt;
 &lt;br /&gt;
Think of the Name of the parameter as the name of a textbox control in a VBA solution. We will cite this name when we&#039;re grabbed its value later and piping it into our parameterised query.&lt;br /&gt;
The user input controls for the parameters will automatically be added to the report:&lt;br /&gt;
 &lt;br /&gt;
Now we tell the report to use our data connection:&lt;br /&gt;
 &lt;br /&gt;
Give your connection an appropriate name for the report and cite the shared data source:&lt;br /&gt;
 &lt;br /&gt;
Use Windows Authentication credentials:&lt;br /&gt;
 &lt;br /&gt;
The result should be this:&lt;br /&gt;
 &lt;br /&gt;
For our report we have thus leveraged the shared Data Source CBAM_DATAFEEDS_SCH with a connection here called &amp;quot;SIPPsInTransfer&amp;quot;. Now we can slice a dataset for the report itself. In the Report pane right click on Datasets and choose “Add Dataset”:&lt;br /&gt;
 &lt;br /&gt;
Give the dataset a name, choose the data source which we just created and then choose the appropriate option for the query/stored procedure you want to use:&lt;br /&gt;
 &lt;br /&gt;
If you want to bolt your SQL straight in using the text Query type option rather than citing a stored procedure be aware of the following. These both do the same thing:&lt;br /&gt;
SELECT * FROM OPENQUERY (PULSECOPY,&#039;select * from CPAM.PORTFOLIO &#039;)&lt;br /&gt;
SELECT * FROM PULSELIVE..CPAM.PORTFOLIO&lt;br /&gt;
…but only the latter gets you your list of fields under “Dataset” in the SSRS report designer. If you do use the latter make sure you correctly cite either PULSELIVE or PULSECOPY and your table names need to be in ALL CAPS&lt;br /&gt;
In addition, this is what you need to feed a date from SSRS across to Oracle via your T-SQL:&lt;br /&gt;
to_date(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar, @fromDate, 20) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd HH24:MI:SS&#039;&#039;&#039;&#039;)&lt;br /&gt;
…or, to reformat:&lt;br /&gt;
TO_CHAR (TRUNC(TO_DATE(&#039;&#039;&#039;&#039;&#039; + CONVERT(varchar(10), @ValuationDate) + &#039;&#039;&#039;&#039;&#039;,&#039;&#039;&#039;&#039;yyyy-mm-dd&#039;&#039;&#039;&#039;)), &#039;&#039;&#039;&#039;dd-mm-yyyy&#039;&#039;&#039;&#039;)&lt;br /&gt;
If you get this at any stage:&lt;br /&gt;
 &lt;br /&gt;
…head back up to the main CBAM DATAFEEDS_SCH connection and in Properties click Build again. &lt;br /&gt;
Match the query parameter name with where we&#039;re getting the input values from:&lt;br /&gt;
 &lt;br /&gt;
(You can also hard-code Parameter values here if the situation requires it.) https://blogs.perficient.com/2014/03/10/sales-report-with-date-picker/ &lt;br /&gt;
Click OK and the result should be this:&lt;br /&gt;
 &lt;br /&gt;
What if the fields of your report aren&#039;t showing? It&#039;s almost certainly because you’re leveraging a Stored Procedure and you haven’t set it up to deliver results to a temp table. See [TBC]. U:\Departments\ITAppsLondon\DEV\App Dev Tools\SSRS Tools&lt;br /&gt;
Now we can build the structure of the report. Right click on the design page and chose Insert and Table:&lt;br /&gt;
 &lt;br /&gt;
Drag the fields into the table:&lt;br /&gt;
 &lt;br /&gt;
Right click on individual fields and choose “Textbox properties” to change the data formatting…: &lt;br /&gt;
 &lt;br /&gt;
…in here:&lt;br /&gt;
 &lt;br /&gt;
Segoe UI 8pt is usually good for Excel outputs:&lt;br /&gt;
 &lt;br /&gt;
Note there is no column autofit in SSRS, you have to manually alter column widths by trial and error. &lt;br /&gt;
Move your table to the very top left of the page to ensure any extracts to Excel populate from cell A1:&lt;br /&gt;
 &lt;br /&gt;
Now click &amp;quot;Preview&amp;quot;, your query will run in the background:&lt;br /&gt;
 &lt;br /&gt;
…and you may find you need to apply more visual formatting:&lt;br /&gt;
 &lt;br /&gt;
You could head back to Design and right click on each individual field value placeholder and choose Text Box Properties, but that is very tedious. Try selecting the Tablix row and use the formatting toolbar:&lt;br /&gt;
 &lt;br /&gt;
Tips And Tricks&lt;br /&gt;
How To Create An SSRS Report: Tips And Tricks&lt;br /&gt;
Deployment&lt;br /&gt;
Remember you’ll need to create a new CI for your SSRS report for when you raise your RFC.&lt;br /&gt;
 Example CI For SSRS Reports &lt;br /&gt;
How To Create And Add A CI To An RFC &lt;br /&gt;
Use the same naming convention (YOURTOOLNAME_SSRS - or _SSIS) and details as here: &lt;br /&gt;
   &lt;br /&gt;
 Do I need to change the Shared Data Source connection string? &lt;br /&gt;
We are talking about this:&lt;br /&gt;
  &lt;br /&gt;
You don’t have to update this if you’ve named the connection after a Data Source already on the report server (e.g. CBAM_DATAFEEDS or CBAM_APPS). The deployment tool will detect the connection on the server and will not overwrite it with yours:&lt;br /&gt;
 &lt;br /&gt;
Switch to Release mode:&lt;br /&gt;
 &lt;br /&gt;
(If you forget this step it will try to deploy to your localhost and trigger an error)&lt;br /&gt;
Right click on the individual Solution project and choose &amp;quot;Deploy&amp;quot;:&lt;br /&gt;
 &lt;br /&gt;
We’re going to need to update this:&lt;br /&gt;
 &lt;br /&gt;
Change TargetServerURL to one of: &lt;br /&gt;
http://DC1LNAPSQLDEV01/reportserver (currently out of use)&lt;br /&gt;
http://DC1LNAPSQLUAT01/reportserver&lt;br /&gt;
http://DC1LNAPSQLPRD01/reportserver&lt;br /&gt;
 &lt;br /&gt;
Reminder: you need to do all this under your Dev account. This is what happens when you try to deploy under your standard Windows ID:&lt;br /&gt;
 &lt;br /&gt;
…and this is what a successful deployment looks like:&lt;br /&gt;
 &lt;br /&gt;
Open Chrome under your Dev account and head to the server you deployed to, in this case:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
You should see something like this:&lt;br /&gt;
 &lt;br /&gt;
If you see something like this you’re in the wrong account:&lt;br /&gt;
 &lt;br /&gt;
Securitisation&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Once you&#039;ve deployed your SSRS solution to the report server from within Visual Studio, open Chrome under your Dev account and, when in UAT, head here:&lt;br /&gt;
http://dc1lnapsqluat01/reports/browse/&lt;br /&gt;
When going live head here:&lt;br /&gt;
http://dc1lnapsqlprd01/reports/browse/&lt;br /&gt;
App Dev staff have admin access to the reports server, so we can assign permissions to the deployed SSRS solutions. Click on the ellipsis of your report and choose “Manage”:&lt;br /&gt;
 &lt;br /&gt;
…and in the Security tab you can manage permissions (assign individual users – which we shouldn&#039;t do – or groups/roles):&lt;br /&gt;
 &lt;br /&gt;
One final thing. Make sure your report solution is using the CBAM_DATAFEEDS connection (which logs into SQL Server under CReporting in the Report Manager). If it isn’t your user is likely to report the following even though you have added their name to the security list:&lt;br /&gt;
 &lt;br /&gt;
…because the CBAM_DATAFEEDS_SCH connection is set to log in using Windows Authentication so it is rejecting individual user accounts. To fix this, click on the ellipsis on your solution and choose Manage:&lt;br /&gt;
 &lt;br /&gt;
Click on Data Sources and then the ellipsis, browsing to and selecting CBAM_DATAFEEDS:&lt;br /&gt;
 &lt;br /&gt;
Because CBAM_DATAFEEDS logs into the database as CReporting:&lt;br /&gt;
 &lt;br /&gt;
That should fix the above error&lt;br /&gt;
Troubleshooting And Report Logging&lt;br /&gt;
(Work in progress)&lt;br /&gt;
Integration Services Catalogue &lt;br /&gt;
See ssis_job_log_info (CR&#039;s reporting log) &lt;br /&gt;
Ssisdb – Autorek – Projects – execture_autork – right click&lt;br /&gt;
Reports – Standard Reports  - All Executions (see ID number and drill in)&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=10</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=10"/>
		<updated>2023-07-25T00:35:40Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039; General Image &#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is my collapsed text&lt;br /&gt;
&lt;br /&gt;
[[File:Image.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=9</id>
		<title>Test Page</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=Test_Page&amp;diff=9"/>
		<updated>2023-07-25T00:34:44Z</updated>

		<summary type="html">&lt;p&gt;Brains48: Created page with &amp;quot;Test   File:Image.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Image.png]]&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=File:Image.png&amp;diff=8</id>
		<title>File:Image.png</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=File:Image.png&amp;diff=8"/>
		<updated>2023-07-25T00:34:01Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
	<entry>
		<id>https://anthonymalone.co.uk/AntWiki/index.php?title=ASP.Net_Core_Razor&amp;diff=7</id>
		<title>ASP.Net Core Razor</title>
		<link rel="alternate" type="text/html" href="https://anthonymalone.co.uk/AntWiki/index.php?title=ASP.Net_Core_Razor&amp;diff=7"/>
		<updated>2023-07-25T00:13:12Z</updated>

		<summary type="html">&lt;p&gt;Brains48: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://app.pluralsight.com/library/courses/asp-dot-net-core-6-razor-pages-fundamentals/transcript Pluralsight tutorial]&lt;br /&gt;
&lt;br /&gt;
sdf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039; How To Get The Database Connection &#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is my collapsed text&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039; Only Murders Poster &#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:OnlyMurders.jpg|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:2016MortgageAttempt.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ASP]]&lt;/div&gt;</summary>
		<author><name>Brains48</name></author>
	</entry>
</feed>