Wednesday, 31 July 2013

SSRS 2012 - Fix for Chrome and Safari (Webkit)

Recently I had to setup a new instance of SSRS 2012 for +Rated People and found that it still didnt have native support for Google Chrome or Safari. Reports just were not rendering and left a blank screen.

This is nothing new... its just amazing that Microsoft still don't support those other browsers (basically anything with web kit)

There is however a solution to get the reports to render.
A number of solutions i found online were slightly inaccurate for my setup, so here we go:

The Fix
On the server navigate to and edit:
C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js

(note, the bold part may be different for you)

In here append the following code to the end:

function pageLoad() {    
    var element = document.getElementById("ctl32_ctl09");
    if (element) 
    {
        element.style.overflow = "visible"; 
    } };

Save up and restart the SSRS service.

What this does, is change the way the browser handles overflow, for the element "ctl32_ctl09" - which is why the reports appear hidden on those browsers.

If that still doesn't work, you may be running a slightly different version of SSRS. If so, navigate to a report, view its source and search for "overflow", in proximity to one of the matches will be an element in the ctlxx_ctlxx format, just change the numbers as necessary...




Monday, 13 August 2012

Storing user generated content


So it has been far too long since I have written anything useful on this page, mainly because of a change of job and therefore a decrease in time, I thought I would come back with a completely different topic, just for fun.

As part of the development of a platform my new company is creating, we came across a familiar question for tech start-ups these days:
"What database are we going to use to store all of this user generated content?"


Before it was a choice of a few vendors based on your scale and budget, but no more. You have other things to think about. Relational/Non-Relational? Records or documents? All of it has it's pros and cons which made our decision making process very hard.

The first thing people said to me was "It doesn't matter, in the end data is data and databases are databases". That tended to be the last time I spoke to those individuals. You know the type, they go to the tech meetups in London because they have a passing interest in tech and the square root of bugger all actual experience in building and integrating these things. Anyway I digress...

The first thing you should know is: There is no one right answer, its situational, its variable and it will probably involve more than one technology in the end to get the right result.

The first step we took was we needed to appreciate that what our requirements were:

  • How is the data needed to be accessed
    • How often do you write new data?
    • How many concurrent reads?
  • How often does data need to be updated
    • Might the data need to be updated, if so how often?
    • Is it a pure repository
  • How easily does your environment have to scale
    • How rapidly are you planning on growing? 
  • What technologies play well with it
    • What programming languages do you use? What libraries are available to you?
This is not an exhaustive list, but its a starter for 10 when you are evaluating your options because guess what, depending on your answers, The choice of solution should become more apparent.

The main decision we faced was: Relational vs Document store
One is great for data integrity, the other is super fast, and almost more importantly efficient, at reads.
Some great resources for Relational Vs Document store can be found here:
http://www.linuxjournal.com/article/10770
http://nosql-database.org/

Of course, even when you have chosen your path... you have to decide on what flavour of solution you want to go for... Your mySQL from your PostgreSQL, your mongoDB from your cassandra... etc

These again have their pros and cons, their advocates and their detractors. But once you have gotten that far, the rest of the journey is near complete.

As for us, you might have guessed by now that we went with mongoDB and that is what I will be blogging about over the coming months as i play around with it some more. I haven't stopped my MSSQL or SSRS adventures, just haven't anything to write home about at the moment.

Any suggestions on topics welcomed...

Tom


Friday, 4 November 2011

SWITCH

Ok so a quick one here:

Want to change a property in SSRS based on the value of a field in your dataset/paramater?

Here's how:


=SWITCH(Fields!month_delta.Value > "SOME VALUE" , "Green",
Fields!month_delta.Value < "SOME VALUE", "Red")

This will accept all logical operators and you can add as many as you like, they resolve in order if there is any logical overlap though

Happy highlighting

:-)

Thursday, 25 August 2011

SSAS 2008

Just back from a SQL 2008 SSAS course and hav to say, im impressed.

Expect some examples soon!

Its been busy here and i have plenty of material to write up, especialy around full text search :-)

T

Tuesday, 5 July 2011

sp_who2 or the "What the heck is going on" Post

Ahh back from my break and time for a very quick gem:

One on my only gripes about SQL Server 2008 is the new activity monitor,
its swish, it has filters but the layout and format is... less than desireable for those of us with small screens.

Run sp_who or sp_who2 on your box and be amazed by the wealth of usefull  information that is returned by your system in a nice tabular format. No EXEC is needed.

Its great for identifying what (and whome!) is causing your environment to run slowly as well as highlighting any blocks that are occuring.

If you havent used it yet, give it a shot, then next time you find yourself wondering  "what the heck is going on on the system" you will know where to turn...

Oh and Microsoft: Please sort this out in Denali!

Tuesday, 7 June 2011

SSRS: Conditional formatting - Using an expression to change chart colour

Dashboards and reports can get very crowded, very quickly and getting meaning full insight from the charts presented, can be a challenge.

In steps conditional formatting!...

In this example i will skip over how you can draw attention to key bits of information in your graphs/charts, but the principle can be applied almost everywhere.

Example:
Here in Pic 1 is a chart mapping the registrations to an online website.
As you can see, it's all over the place and isn't telling us much more than volumes

Pic 1 - My Chart

By dropping into the design and right clicking on the series we want to format (in this example its the registrations) we can then click through to edit the Series Properties:
Pic 2 - Chart in Design
Under the "Fill" tab select  the "Solid" radio button in the top half, then the fx  button next to colour:
Pic 3 - Series Options

In the Expression now we are going to use an IIF statement to decide what colours to use.
If you want something to be either one colour or another, the IIF statement probably suits your needs, howether if you need to put in multiple criteria or ranges, look up the switch function as this probably better suits your needs.

In my example though, I want to highlight the weekends a different colour to weed days as I belive they have different patterns of registration.
To go this I query day_name.value and where it is "Saturday" or "Sunday" then I ask it to be Orange, else I want it to be MidnightBlue.

The expressions format can be seen in pic 4 below:
Pic 4 - Expression Builder
Now this has been set, when I next render the report, I am met with a chart that has much more meaning when looking at it:

Pic 5 - Final Chart
By hilighting the weekends, it allows the viewer to build up a much clearer picture of what is going on.

I hope that was helpfull, there are much more worthy causes out there, but this meant to make you aware of what you can do, for you to then go on and adapt!

T

Monday, 6 June 2011

Cloud Bubble

A close friend of mine who just so happens to be a talented programmer has released his blog : http://www.cloudbubble.co.uk/

I am hoping to work with him on this project as we explore Microsoft's BI offerings, offering step by step tutorials and real world examples...

See you there,

T