SAP BusinessObjects 4.0 SP4 Fix pack 1

We have been installing BusinessObjects 4.0 for a few weeks now. A few weeks! How can that be?

Well, we started off with SP2 and had issues with it. Then SP 4 came out including Feature Pack 3. Being an SAP site, we wanted all the goodies that was in that release but there were still issues.

Drill through from our BOXI 3.1 Dashboards wouldn’t work. The web intelligence services would time out. There was a URL connection error with Crystal Reports for Enterprise and Advanced Analysis for OLAP. When was this going to end? Today we installed Fix pack 1 for SP4 and it fixed all of our issues.

Now I just hope that Data Services 4.0 SP3 fixes the issue with shared CMS!

SAP Visual Intelligence

At the recent Sapphire conference, SAP announced SAP Visual Intelligence. The first version of the product allows analysts to build applications that extract data from HANA and present in manner similar to BusinessObjects Explorer.

SAP Visual Intelligence is aimed at the same audience as QlikView and Tableau. The next version will allow analysts to extract data from other data sources including Excel.

What is not clear is how this allows analysts to migrate into the enterprise BI space where greater scrutiny is applied to the quality of the data, consistent business rules, etc.

How can SAP advocate data quality, governance on one hand and encourage an Excel like free-for-all on the other hand is perplexing. QlikTech and Tableau Software pride themselves on being disruptive. My worry is that SAP is being self-disruptive in chasing “me too” market share.

QUT Ruby.NET Project is now Open Source

This is an interesting development and one which should see this project move along more quickly.

I have just started looking at Ruby on Rails (RoR) as a way of developing web sites more quickly. RoR is a language that John Lam describes as having a lot of Buzz. Ruby itself has been around a while but seems to have taken off with the advent of Rails which is what Martin Fowler describes as an internal domain specific language (DSL). To noobs like me this is an extension to Ruby language for the purposes of building web applications.

This is not the only project where Ruby is being ported to .NET. The aforementioned John Lam is working on IronRuby as part of the Silverlight DLR.

Pip, pip.

Michael.

Share this post :

Scott Hanselman joins Microsoft

As an avid listener to podcasts, I was somewhat apprehensive when I first heard about this. Scott does a great podcast –  – about mostly Microsoft technology.

What I like about Scott is that he is articulate and knowledgeable on his core subject matter but seems genuinely interested in other technologies. e.g.  – mind you in that episode the Rail conference was in Portland.

I’ve blogged before about how difficult it is to keep up with technology. My core focus is Data Warehousing and Business Intelligence. However, having skills in other technologies and languages is handy particularly where interoperability is concerned.

So I have become a keen listener to podcasts as a way of keeping up with new technologies.

Given the slew of new technology coming out of Microsoft (Silverlight, LINQ, Orcas, SQL Server 2008),  my listening habits shall remain unchanged. I just hope that Scott approaches his podcasts with the same integrity as he has in the past.

Pip, pip,

Michael.

SSIS Lookup Transformation Quirk

After sometime now using SSIS to load data into other systems such as Microsoft CRM and Oracle Hyperion, I have finally started down the path towards building my first Data Mart using SSIS.

At this stage I am really looking at what is going to work best so I have built some dimensions and now I am loading a fact with ‘actuals’ taken from the Navision General Ledger.

I am attempting to follow the Kimball method, and in loading the data I am performing lookups using the Lookup Transformation on the dimensions to retrieve the surrogate keys.  Standard stuff so far!

I have one particular dimension where the natural key is of type varchar(20). The corresponding column in the data stream is also of type varchar(20). The data loads with some lookup errors all of the same string – ‘STT2003’.  Okay, so it must be missing from the dimension. Imagine my surprise when I find that ‘STT2003’ is in the dimension!

So I checked the types – both varchar(20). I checked the string length on the lookup in case there were any non-printing characters but nothing. I applied the ltrim and rtrim functions to the source data but still no luck. Fortunately, I do not have a lot of hair to pull out. So I search the MSDN forum for SSIS and I saw a reference to a similar problem which referred to string length. But, I had already done that – or had I ?

So I applied the ltrim/rtrim functions to the natural key in the lookup and it worked. It seems that the key had acquired extra characters in the lookup.

Stay tuned for the next installment.

Michael.

So Much Technology, Too Little Time.

My official job title is Database Systems Administrator. You might think that I spend my whole working day tinkering under the bonnet of our data base platform – SQL Server 2005. I wish!

Being part of of a relatively small I.T Department in a company of less than 500 employees means that I have to do more than just databases.

In my previous working life I have spent a good part of it developing Business Intelligence applications with products from Oracle, Business Objects, and Cognos. In my current workplace, the tools of choice are Integration Services for ETL, Reporting Services for Relational Reporting, ad Hyperion Planning and Essbase for Planning, Reporting and Analysis.

I have also worked with web tools such as ColdFusion and ASP.NET as well as Windows Forms applications using VB.NET. I am currently building Web Services using Visual Studio 2005 – using a n-tiered architecture for an Online Sales application. 

All of these tools that we use are complex and require a considerable investment of one’s time just to learn the basic concepts. How does one keep pace and balance one’s family life ? (I have two children under six years old).

My wife and I have taken to Podcasts as a way of keeping up with things while doing something else.

For me, it’s the tech podcasts such as TWIT, .Net Rocks, and Windows Weekly with Paul Thurrott. For example, I was listening to one such pod cast on the weekend from .NET Rocks where Carl and Richard interviewed Michelle Leroux Bustamante about WCF. At the same time, I was helping my wife clean the house. So now I have some understanding of Contracts, Claims, Cardspace, SML and other stuff that I would not have learnt about unless I sat down and ploughed through all the documentation at MSDN.

Pip, pip

Michael.

Microsoft Message Queues – Private Queue Gotchas

I have just developed an application hosted on Windows 2003 Server that employs MSMQ 3.0 technology to manage transactions from a web service.

I created a function to create a private queue and used the samples in MSDN.

When I tried to view the queue from within MMC, I found that I did not have access, even though I was an Administrator. I got messages to do with opening a “Security Descriptor”. Googling for this problem revealed similar problems but no solution.

So I checked out the MessageQueue Class in MSDN and found the culprit. I needed to grant explicit access rights at creation. Thus the code is as follows:

Private Sub Init()
Dim QueueFromWeb As String = “.\private$\OnlineSalesInbound”
Dim QueueToWeb As String = “.\private$\OnlineSalesOutbound”
Dim QueueInbound As MessageQueue = New MessageQueue(QueueFromWeb)
Dim QueueOutbound As MessageQueue = New MessageQueue(QueueToWeb)
If Not MessageQueue.Exists(QueueFromWeb) Then
MessageQueue.Create(QueueFromWeb)
QueueInbound.Label = QueueFromWeb
QueueInbound.Authenticate = False
QueueInbound.SetPermissions(“MyDomain\Domain Admins”, MessageQueueAccessRights.FullControl)
QueueInbound.MessageReadPropertyFilter.CorrelationId = True
QueueInbound.UseJournalQueue = True
End If
If Not MessageQueue.Exists(QueueToWeb) Then
MessageQueue.Create(QueueToWeb)
QueueOutbound.Label = QueueToWeb
QueueOutbound.Authenticate = False
QueueOutbound.SetPermissions(“MyDomain\Domain Admins”, MessageQueueAccessRights.FullControl)
QueueOutbound.UseJournalQueue = True
End If
End Sub

The addition of the bolded code fixed the problem.

Technorati tags:

Oracle to Acquire Hyperion

This is an interesting development from a number of perspectives.

I recall when Oracle acquired the PC Express / Express MDB products from Information resources in the early 90s. Oracle did not really do a lot with the products.

With Oracle acquiring Hyperion, that leaves Cognos and Business Objects. I am betting that SAP will step in an acquire one of those two. Which one? I am guessing that it will be Business Objects because of their French (European) origins.

For the one left out, life will be difficult at the Oracle / PeopleSoft /SAP sites around the world.

But then that assumes that the acquirer actually does a decent job of integrating and developing the technology. Sad to say, if Express is anything to go by, Hyperion technology may well be destined for a similar fate.