Wednesday, 3 September 2014

How About Deleting All Your Business Reports Now?


Well how about it?  What would happen if you deleted every business report you had in the company and started again?

I can feel the pain from here. But if your disaster recovery did not work after a hard drive failure this is where you would be.

And once that “all is lost” feeling faded into the acceptance of the “ok, let’s start again” feeling, then this is now a spring cleaning project. Let’s be honest you had been wanting to do this for ages haven’t you?

It’s a bit like living in a house that is not quite right, and you secretly wish it would burn down so that you could claim the insurance and rebuild. The bedroom would be bigger, the kitchen could extend out the back, you could move the bathroom a little further down the hall, etc…


But this only works if you have a couple of hours warning to get out all of the important things like the photo albums and the memorabilia, the guitars, the kids toys and the jewellery, etc… Oh, and the wife, kids and dogs!

But thinking back when we had all of these reports, people were either never using half of them, or they would not trust their results because somebody else had a report that had different figures.

So all this work over the years was an asset, that to be honest was costing a fortune to maintain, and secretly nobody trusted … or even used. At the same time, when figures did not match across even the simplest sales reports … managers were embarrassed in meetings, and in turn their figures were not trusted.
Heated discussions on why my spreadsheet was right and yours must be wrong.

Any boat owner will tell you that the second best day of their boat-owning life is the day they buy their boat.



The best day is the day they sell it. Boats just take a lot of management. You have to clean them, fuel them, fix them, and use them, and if you have a boat in the driveway that you never use, you just feel guilty. Guilty for not using something you spend so much time and money on.

I recently read the story of a CEO of a large Fortune 500 company asking his IT department to delete every report in their report repository except 12 reports, which he listed on a small piece of paper.

I was going to ask why, but there was a bit of me totally understood.  The actual reason was because he had been relying on historic reports that were proved to be incorrect when analysed in a board meeting.  At first he was embarrassed … and then he was angry.

So he went back to the IT department and asked for this to be resolved.


“We will need to hire 3-4 more report designers to handle that request”, came the reply. When he asked why, he was told that the company had over 800 reports in their reporting repository and it would take that number of people to check them through.

So he requested that all of the reports be archived off (as near to being deleted as was possible). Then the 12 reports he used on a daily basis were to be rebuilt.  Finally for the next 3 months, any reports that were requested were to be built afresh and fully documented. Figures were to be matched across all the reports and signed off before they were turned live to the business.

Ok, this took 3 months to get to 45 accurate, tested and trusted business reports. But it indicated that the other 750 were now not needed and as suspected by the CEO, were at best not really wanted … and at worst, were bringing back incorrect information.

At the same time the CEO introduced a new policy.  They put the report stakeholder's name in the footer of every report, and a full description of the reports purpose and where the data came from. That way, if someone requested a report they thought could be satisfied with an existing report, they knew who to call to consolidate the new report.

With an executive mandate from the CEO, the other executives were more willing to compromise and use and trust the same reports.

So feel free again … start deleting. Enjoy the freedom and liberation it gives you!



Now spend time trusting the information and use this to make business decisions that can truly make change …


For more information visit www.crystalreports.co.uk

Written by Ray Kemp, Technical Director, DSCallards

Thursday, 21 August 2014

Building Blocks – Objective C

You can only work for so in the world of Objective C before you become exposed to the concept of ‘Blocks’. A very powerful tool in the arsenal of any developer they can drastically increase the amount of code reuse that a developer can leverage in their program. Code reuse is of course a great thing as tried and trusted code can be relied upon to perform correctly and will need the minimum amount of testing whereas duplicated code tends to, as a former colleague of mine used to remark,  lead to the worst kind of inheritance; that is :-  ‘clipboard inheritance’ responsible for many a brainteasing bug. I have also seen it reported that Blocks effectively give you ‘lambda’ in Objective C which as a heavyweight user of LINQ in my preferred language C# I must admit makes me feel a little easier about taking on more Objective C work. They are however a little bit tricky to get your head around when you first come to dealing with them.

Click here to see full blog article.
Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards

Thursday, 14 August 2014

Using Visual Studio Templates to Scaffold ‘Framework Stacks’

Any applications developer worth their salt will, even when they have downtime, look for new ways to make themselves more productive whilst retaining their quality levels. One such way that we do this is to have ‘Application Frameworks’, common blocks of code and infrastucture that we use on every project. If we were to write this infrastructure and wiring on every project it would just add to the cost and to the drama.

Click here to see full blog article.

Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards

Wednesday, 30 July 2014

iPad Orientation Issues

ipad-layout-with-landscape-portrait-modesOn a recent i-Pad development project using Phonegap and the Ionic framework we ran into issues with the orientation seemingly being set to portrait only. We had been labouring under the somewhat misplaced apprehension that changes in orientation were just supported with no code being necessary.
Upon looking further into this and seeing what other peoples experiences were there seemed to be a lot of people writing handlers to display when the orientation changed such as this:-
Click here for more.
Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards

On the Beach with Yellowfin



Tom Clifford – IT Manager: 1st June 2014

So it was about time we had a holiday, we had not been away for over a year and both myself and the wife had been working really hard on IT projects for our businesses.

My project needed something else, something that would gather everything together but I was not sure what and I needed time to think, time to go over how this would work when we delivered it to the board, the management and our users.

So this morning I’m off down the travel agent to see what they have available.


Ray Kemp – Technical Director at DSCallards: 1st June 2014

My dev guys have been working for a couple of weeks now trying to bring together as much social media information as possible. We are attempting to connect twitter, facebook, web page hits, linked in; basically as much as information we can get to form a profile of our customer … those who follow us and those who talk about us here at DSCallards.

This is not wasted time as we have a customer who is looking for this requirement and we wanted to understand the complexities. As we moved from one social network to another it was good to see that they were all using oAuth as a standard interface … a little hassle with facebook but the information started streaming in.


Tom Clifford – IT Manager: 1st June 2014

Well that was lucky … we had always fancied Mauritius, and the local agent had a last minute deal, better than I could find on the web so we are booked for next week. The photo of the resort accommodation looks breath taking.

The wife is over the moon, decided to travel light … we needed very little. I checked with the resort and they have free public wifi, so the only technology I am taking is my tablet … perhaps if I can clear my mind of all the other project work going on I can investigate how we are going to eventually present this information to the board, the management and the users.


Ray Kemp – Technical Director at DSCallards: 6th June 2014

It’s taken a week to collate this information, and eventually had to use an open source database that holds the information in document objects rather than the normal row/column format of standard server based databases. This was because each social source had a totally different structure and needed storing and indexing in a specific form.

Once stored, we watched the data updating real-time by the web services our amazing development team had built. We then needed to find relationships between these sets of data.


Page hits, location data, date and time, locales, related word searches within twitter … all this information was initially confusing. But within a day I had our BI team finding relationships … and things started to make sense. They have such a set of skills, just like the development team … you ask for it and it just starts to happen!

I decided to use Yellowfin … we are the UK partner for Yellowfin and I knew we could get to the information quickly once the development and BI teams had done their work. This stuff is so easy to use and so powerful.


Having been down to Melbourne recently talking over the new features in Yellowfin … I knew this would not take long.

Tom Clifford – IT Manager: 7th June 2014

Well we made it. The flight was not too bad and once we landed we needed to be shuttled across to the resort on the island. It feels like the rest of the world is a million miles away.

The beach is stunning … we went in snorkelling this morning and the water is so clear you could see forever.
So the wife has gone off to be pampered with a massage and some beauty treatment this afternoon. About time I had some time to myself to see if I can find a solution to the data retrieval within this BI project.

Let’s get the tablet out whilst I’m on the beach and see what there is?

BI tools and dashboards, that’s what we need something that looks good to the users and can help management see things out of the data that you cannot normally track.

Hey, this looks good … Yellowfin. Let’s download some of these white papers. Gartner have some great feedback, they are in the quadrant which is important to get buy in from the business. It looks like these guys are learning from others and getting it right.

Nice website, looks like DSCallards are the guys I need to call when I get back. Have tweeted my guys back in the UK to check this out but while I have some peace and quiet, let me go through the website …



Ray Kemp – Technical Director at DSCallards: 7th June 2014

Ok, the data has started streaming in now and Yellowfin is working really well. The data views were easy to put together. So let’s see who is checking out our website and tweeting our details around the same time.

“Hey guys … come and look at this. There is somebody in Mauritius with a tablet browsing our website and he is tweeting about Yellowfin. He’s got to be on the beach!”


Note: These are actual stats taken at 12:25am on 7th June 2014. Thanks to Yellowfin and our stunning development and BI teams here at DSCallards ... I know nothing is impossible.

Written by:  Ray Kemp, Technical Director, DSCallards

Wednesday, 25 June 2014

Reasons to Use SAP Crystal Reports SQL Expression Fields




Overview

These objects provide an excellent alternative to using a formula in Crystal Reports. The main advantage being that the processing of an SQL Expression field is performed at the database server side and not on the client machine.

The SQL Expression functionality will vary depending on the database you connect to. One useful thing to know is that Crystal Reports supports any SQL function for the database you connect to, even if the function name is not visible in the Functions area of the SQL Expression Editor.

Figure 1 below shows an example of the Microsoft SQL Server DATEADD function.



(Figure 1)

Comparisons between a Formula and an SQL Expression field?

The SQL Expression Editor bears many resemblances to the Formula Editor. As a report designer, you will need to know the SQL Syntax to successfully utilise SQL Expressions in your Crystal Reports. Let’s take a look at the example in Figure 1. The DateAdd formula syntax is almost identical. Figure 2 below shows the formula syntax.


(Figure 2)

Report Optimisation

This is the main reason for using SQL Expressions over formulas. SQL Expression fields allow a user defined calculation in a Crystal Report to be processed on the database server. This means that the column is derived and sent to the client machine. Compare this with a formula that is wholly processed on the client machine. Figure 3 shows the SQL syntax for the DATEADD function being derived on the database server.

(Figure 3)

A valid equivalent to ‘if-then-else’

Using the SQL CASE statement is a very useful alternative to the very popular ‘if-then-else’ Crystal syntax. Figure 4 shows a simple CASE statement.


(Figure 4)

Pre-defined SQL Expression functions

These are set out in an almost identical way to the formula functions in the formula editor. Figure 5 shows the main function area.


(Figure 5)
Using a pre-defined SQL Expression function is easier because you can simply select the function, field and arguments without typing the SQL. Figure 6 shows an example of the pre-defined MONTHNAME function.


(Figure 6)
And as you would expect, it is derived on the database server. Figure 7 shows the SQL syntax below.


(Figure 7)

Written by Steve Chapman, Senior BI Consultant, DSCallards