RFID Tracking and Nanotechnology for BI
Source: Blog: Dan E. Linstedt [link]
Imagine, a smart RFID (radio frequency identifier tag) - in other words, not just one that bounces a signal that was received by a transmitter, but one that emanates a unique number (like a RIN (RFID identification number) - like a VIN only for RFID’s. I realize they already have RTLS (real-time locator systems) with this technology embedded, but imagine it at a smaller scale. RTLS are currently very large (compared to RFID tags). How would this affect BI? What if it could use Nanotechnology and an embedded power source (like Nanotech reports is possible) to power a unique signal? What would happen to the supply chain for example?
This entry is just a thought experiment.
How to work with Dimension Leaves
Source: Mosha Pasumansky [link]
Dimension leaves is one of the fundamental concepts in OLAP. Dimension leaves are used in variety of situations – from defining calculations on the leaves to aggregate up, and to different UI icons for leaves vs. non-leaves. But while it may seem that this concept is simple, it is actually more complicated. Most of the confusion comes from the fact, that there are two distinct concepts, both of which are commonly called leaves:
- Hierarchy leaves
- Measure group leaves
ticle we will explain the differences between the two and discuss the Analysis Services and MDX support for both of these concepts.
Hierarchy Leaves
Hierarchy leaves refer to the hierarchy members which don’t have visible children. It is important to recognize hierarchy leaves in UI, to give the user indication that such member cannot be drilled down further.
Measure group Leaves
Measure group leaves (also called sometimes fact leaves, fact granularity etc) refer to the measure group granularity, i.e. the lowest level at which data is loaded into the partitions. It is important to recognize measure group leaves for non-allocated writeback (because it can only done at leaves), for calculations such as currency conversion which need to modify the data at the lowest granularity etc.
Sometimes (in simple cubes and dimensions), the same member can seen as both hierarchy leaf and measure group leaf. However, there are important differences which are summarized in the following table:
|
Feature |
Measure group leaves |
Hierarchy Leaves |
|
Defined on |
Attribute |
Hierarchy |
|
Current measure |
Affects |
Doesn’t affect |
|
Multiple hierarchies |
Doesn’t affect |
Affects |
|
Dimension security |
Doesn’t affect |
Affects |
|
Hidden members |
Doesn’t affect |
Affects |
|
Unbalanced hierarchies |
Doesn’t affect |
Affects |
Current measure
Whether or not the attribute member is a measure group leaf depends on the current measure group, which, in turn is determined by the current measure. Therefore, same attribute can be measure group leaf for one measure and non leaf for another measure – depending on the granularity of the respective measure groups.
Multiple hierarchies
Member which is hierarchy leaf in one hierarchy might not be a leaf in another hierarchy, but for the measure group member is either always a leaf or always isn’t.
For example, if we have two hierarchies in the Customer dimension – Country/State/City/Name and Country/State, then WA is not a leaf in the first hierarchy but is a leaf in the second hierarchy.
Dimension security
If all the children of a member are secured, then this member becomes hierarchy leaf in that hierarchy. Dimension security doesn’t affect measure group leaves.
Hidden members
If all the children of a member are hidden, then it becomes hierarchy leaf. Members which can be hidden are UnknownMember, HideMemberIf (when MDX Compatibility Mode is 2) etc. However, it is important to note, that in the SCOPE statement or in the left hand side of assignment, that hidden members are treated as if they were visible.
Unbalanced hierarchies
If the member didn’t have any relating members in the dimension table, then the natural hierarchy will be unbalanced. Such member is hierarchy leaf, but still not measure group leaf.
Other considerations
There are also several related issues such as
- Parent Child Hierarchies
- Difference between Data Members and Leaf members
- Placeholder Members
However, we will not discuss them here, perhaps in another article.
Now let’s look into different MDX functions and other functionality that AS provides to deal with leaves.
Retrieve hierarchy leaves
The MDX function to get the hierarchy leaves is Descendants(member,,LEAVES). It can be used to get all the leaves under the current position in the hierarchy by using
Descendants(hierarchy.CurrentMember,,LEAVES)
Or it can be used to get unconditionally all the hierarchy leaves by using
Descendants(hierarchy.Levels(0).Members,,LEAVES)
This form of call to Descendants function uses set as its first argument. This is to account for hierarchies with non aggregatable first level, i.e. when the first level is not ‘All’, but contains multiple members. Note, that while this is indeed the most general form, it will raise an error when used in the SCOPE statement. However, as we will see later, usually we won’t want to use Descendats(,,LEAVES) inside SCOPE anyway.
In simple scenarios Descendants(,,LEAVES) is equivalent to returning the members from the last level of the hierarchy, i.e. hierarchy.Levels.Members(hierarchy.Levels.Count-1), however, unlike this expression, it works correctly for situations like parent child, ragged hierarchies, dimension security, MDX Compatibility Modes etc.
Another important case is Descendats(member, level, LEAVES), which is useful for the parent child hierarchies – it will return the descendants from the specified level, plus all the leaves above this level.
Checking whether the member is an hierarchy leaf
There are many ways in which people check whether member is an hierarchy leaf. We will start with the most correct way first, and then look into other way and understand why they are not correct.
From MDX, the best way to check for hierarchy leaf, is simply to call the IsLeaf(member) function. This function is optimized to work in the most efficient way, for example for the non ragged, non parent child hierarchy without dimension security, it will simply check the level of the member, for parent child hierarchy it will check in efficient way for data members etc.
Other methods that I have seen people using are:
member.Children.Count = 0
This practically always returns the same result as IsLeaf(member), after all it literally implements the definition of leaf – the member which doesn’t have visible children. However, it has worse performance then IsLeaf, because it performs more operations – constructs the set of children, takes count of tuples in it etc. It also cannot use the optimizations mentioned above.
IsGeneration(member, 0)
Checking for first (zero’th) generation is much less efficient then IsLeaf
member.Level.Ordinal = member.Hierarchy.Levels.Count-1
As we mentioned above, comparing the level of the current member with total number of levels in the hierarchy will only work correctly for regular, non ragged and non parent child hierarchies without dimension security etc.
Sometimes, it is desirable to know whether the member is hierarchy leaf or not without creating additional calculations for the query. It is useful, when the leaf/no leaf decision is not fed into other calculations, but when it is needed purely for UI purposes to mark all the members on the query result axes. It is not advisable to create special calculated member for that, since, as we know from the caching whitepaper, creating query calculated members prevent calculation caching at the session and cube levels.
To figure out leaf/no leaf without additional calculations, people tried to use the builtin member property DISPLAY_INFO. Indeed, two bytes out of that four byte structure are dedicated to CHILDREN_CARDINALITY. While two bytes is too low to hold the actual number of children for AS2005 (but it was enough for AS2000), it still seems OK, since the only important information here is 0 or non 0. However, OLEDB for OLAP spec states that the CHILDREN_CARDINALITY is only an estimate, and therefore sometimes it won’t be accurate. Unfortunatelly, in the current version of AS2005, it is indeed only an estimate, and sometimes the true leaf will have non zero, and non leaf will have zero. Therefore, application which needs reliable way of checking for leaf, cannot rely on DISPLAY_INFO.
There is also an additional builtin member property CHILDREN_CARDINALITY, which can be specified in the DIMENSION PROPERTIES clause of the axis definition in the MDX SELECT query. However, in the current version of AS2005 it is mostly useless, as it only has values of 1000 or 0, and even there cannot be used to determine whether the member is really leaf or not. We hope, that this member property will be fixed in the future versions.
Position on measure group leaves
In AS2000 there was no easy way to get to the granularity of facts in MDX automatically. The writer of MDX was supposed to know which levels were disabled (i.e. excluded from the granularity) and use <>.MEMBERS on the lowest non-disabled level. The client applications could discover the lowest non-disabled levels for each measure group (or non virtual cube in AS2000 terms) by means of looking at MDSCHEMA_MEASURES schema rowset, which contained comma separated list of lowest non disabled levels in the LEVELS_LIST column. But this was very cumbersome way, which had to be adjusted for parent child and ragged hierarchies, and I don’t know any customer who used this method.
Therefore, in AS2005, we provided easy way to get to the measure group leaves, by the means of Leaves function. Leaves function can be used in one of the two forms:
- Leaves() – positions on the granularity of the measure group by all of the dimensions related to that measure group
- Leaves(dim) – positions on the granularity of the measure group only in the specified dimension.
;
Note, that it is really exceptional case, where in MDX you can use dimension. Everywhere else, MDX accepts hierarchy. But since granularities are defined in terms of the attributes rather then hierarchies, using dimension here makes sense.
So what does Leaves function returns ? The answer is that it returns a subcube which can be used inside SCOPE statement or at the left-hand side of the assignment. It does not return a set ! Again, this makes sense, since subcubes are defined in terms of attributes, but sets are defined by hierarchies. This is one of the reasons why Leaves function is not safe to be used in the SELECT statement, or inside named sets or in other MDX expressions. While Analysis Services may convert subcube returned by Leaves function to set (by choosing attribute hierarchies corresponding to the attributes), it is not supported usage.
Another important question which needs to be answered is, since we said that the Leaves function operates on measure group leaves, how does it know which measure group to use ? The answer lies again in the usage of Leaves inside SCOPEs or assignments. Leaves function checks the current SCOPE and looks whether it is constrained to a single measure group (or multiple measure groups, but with exactly same granularity). If the current SCOPE has multiple measure groups with different granularities, Leaves function will raise an error, since it doesn’t know for which measure group should it calculate the granularity. This is another reason why Leaves is not safe to be used in SELECT or in MDX expressions. It may work for simple cubes with single measure group, but it won’t work for more complex cubes.
Below is a typical example of how Leaves function is used (taken from this article):
SCOPE [Measures].[Sales]; SCOPE (Leaves([Date]), [Seller].[Country].[Country]); [Measures].[Sales] = [Measures].[Sales]*[Measures].[Rate]; END SCOPE; END SCOPE;
Note, that by restricting the SCOPE to a single measure, we obviously restricted it to the single measure group.
Checking whether a member is a measure group leaf
While positioning on measure group leaves is easy with the Leaves function, checking the measure group leaf is more difficult. One typical scenario when this is needed, is for the applications which support writeback. Since non-allocated writeback in AS is only allowed at measure group granularity, the application would like to check it first, and not allow the user to modify the cell which cannot be modified.
The best way to do that in AS2000 was to use UPDATEABLE cell property. It is a bitmask which tells how the cell can be updated, and if it cannot be updated, then the mask contains all kinds of reasons why not. It could be because one of the cell’s coordinates is calculated member, it can be because the cell is not at measure group granularity, or it can be because there is a cell security on that cell etc.
The important values for checking measure group granularity are
DBPROP_CELL_UPDATE_ENABLED – cell can be updated through IRowsetUpdate, i.e. it is on measure group granularity
DBPROP_CELL_UPDATE_ENABLED_WITH_UPDATE – cell can be updated with UPDATE CUBE statement, i.e. it is above measure group granularity
Unfortunatelly, in AS2005, this cell property always returns DBPROP_CELL_UPDATE_ENABLED. The reason for that is that AS2005 unlike AS2000 supports IRowsetUpdate::Update not just on the leaf cells, since behind the scenes it performs equal allocation over non-leaf cells. However, this also means that the UPDATEABLE cell property cannot be used with AS2005 to determine measure group granularity.
Now, what if the knowledge whether the member (or cell) is a measure group leaf or not is needed inside a calculation ? Frankly, we didn’t think that this would be an interesting scenario, and therefore AS2005 doesn’t have MDX function to check it. Recently, however, we have run into a couple of customers who had such a requirement. In order to solve it, the following workaround can be used:
CREATE IsLeafInsideFoo = false;
SCOPE (MeasureGroupMeasures("foo"),Leaves());
IsLeafInsideFoo = true;
END SCOPE;
Basically, this creates a calculated measure, which is False everywhere. Then, the SCOPE positions on the leaves measure group and changes the calculated measure to be True there. Since calculated members are not aggregated up, the values above leaves will stay False. Now, the calculated measure IsLeafInsideFoo can be used to determine whether a member or a cell is at measure group granularity or not.
Honest consulting
Source: Pete-s random notes [link]
On a follow-up to my last post Beth wrote: It’s been my experience that clients appreciate honest (yet tactful) discussions with the techies when making their decisions. She is absolutely right. I can remember at least two occasions where customers specifically asked to have me on a project because of my honesty. The first time was when I was doing some work for a government agency that needed to
Final Day at Collaborate’06, and Setting Up Siebel Analytics
Source: Mark Rittman's Oracle Weblog [link]
Well that’s it for me now at Collaborate’06. We did our last presentation
yesterday and afterwards, I went along to the IOUG closing debate, on commercial
Unix vs. Linux. As you would have expected, the argument came down to
commoditisation of hardware and software, and the cost benefits accruing from
this, vs. the tried and tested, safe route of sticking with commercial Unix.

In the end though, I have to say that it was delivering the
presentations that was the low spot of the week for me. Due to the way the
presentations had been divided up amongst the user groups, and the way they were
scheduled, we ended up on the Quest track (Quest is the JD Edwards and
PeopleSoft user group) and with our presentations being on BI Beans and Oracle
OLAP, there were very few people within this user group who knew what the
technology was about. If we ever do this in future, I’d work very hard to get
onto the IOUG track instead, as that’s where you’d normally look for OLAP and
Oracle business intelligence presentations.
Still, on a bright note, we finished up around 2.00pm and I went
back to my room and started to get Siebel Analytics up and running. After a few
hours, I’d got the software installed and configured, brought in the Discoverer
Videostore data, and the SH sample schema, and started playing around with
Oracle Answers and Oracle Dashboard. First, a screenshot of the administration
tool, with the physical, business and presentation elements of the semantic
layer:

Then, creating a simple table and crosstab using Oracle Answers:


… and then publishing some reports as part of a dashboard:

First impressions are that there’s a few things that’ll catch
you out when setting up data sources (I won’t spoil the surprise by telling you
what they are, yet) and Oracle Answers is quite a bit different from Discoverer,
when you come to set up crosstabs, tables and so on. I still can’t get it to
display a crosstab properly (the axis display OK, but the measures are blank)
and I’m having trouble getting new presentation layer items to display properly
when logging in as anything other than administrator, but we’re up and running
and now I’ve proved to myself that it works, it’s a case of reading the manuals.
Anyway, flights’ at 6.00pm and then it’s back to Heathrow, and
then Brighton. Until next week then, that’s it for now.
MDX Scripts article
Source: Chris Webb's BI Blog [link]
![]()

Good article on Microsoft’s BI strategy
Source: Chris Webb's BI Blog [link]
![]()

The cost of Oracle BI
Source: Chris Webb's BI Blog [link]
![]()

Meta Integration and Capabilities
Source: Blog: Dan E. Linstedt [link]
If you haven’t heard of this company, and you’re looking for Master Metadata Management, you’ll want to check them out. They are a privately held firm based in Silicon Valley, and are OEM’ing their core technology to just about every major vendor out there. That said, they do sell their complete package with all kinds of cool features for a reasonable cost. The business reasons to use their software? Read on - let’s try to shed some light on this…
More thoughts on stored procedures
Source: Chris Webb's BI Blog [link]
![]()

A Methodology Targeted at the Insertion of Data Warehouse Technology in Corporations
Source: ITPapers.com - Recent Business Intelligence / Data Warehousing White Papers [link]
A particular interest has been observed in the Data Warehouse (DW) technology by corporations aiming to improve their decision processes. A large number of corporations that have no tradition on the use of computer systems for decision support, has to rely on a team qualified in the development of traditional operational systems and database technology, but inexperienced on DW development issues. The paper presents a methodology targeted at the development of DW pilot projects, which aims at the smooth adoption of DW technology by corporations. The methodology has been successfully tested in a military DW pilot project, and the results obtained so far confirm its adequacy and consistency towards the established goals.
SSAS Dimension process fails with unexpected error MDDiscretizer::GetBucketForValue
The use of DiscretizationMethod=Clusters can cause a process error that is not so clear:
This happens because you have an attribute with few distinct values to do a discretization in required clusters. To workaround the problem you can disable discretization of the incriminated attribute (you could have only one in the dimension, otherwise some SELECT COUNT( DISTINCT fieldname ) FROM Dimension could help you in the search).
Even if it would be preferable to process the dimension with a smaller number of clusters without blocking errors, it would be necessary at least to have a better error message that indicate the problem in discretization.
The problem affects both SSAS RTM and SSAS SP1. I already filed a bug in MSDN Product Feedback Center, but blogging it could help other unlucky developers.
SSIS service does not start with SP1: workaround
SQL Server 2005 SP1 seems to stop many working installations of SSIS service. I lost some hour on this problem and only a few days after I discovered a good workaround here.
While you install SQL Server 2005, setup procedure brings you to use NETWORK SERVICE as account for SSIS service. SP1 verify signatures of the files getting a file from internet: it doesn’t work if the server has no internet connectivity and it doesn’t work if the user is NETWORK SERVICE.
Possible workarounds:
- Change user account for SSIS Service to a regular (least privilege) user
- Disable checking certificate revocation list for NETWORK SERVICE user
The registry hack is this: [HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing]
“State”=dword:00023e00
Now, the big question is: what of those two techniques has to be considered safer? I would say that changing registry for NETWORK SERVICE account doesn’t change much and should have less side effects than changing user account on a production machine, but sincerely I don’t have a consolidate answer now, so comments are welcome.
Ten Principles for Increasing the Business Value of your Data Warehouse and Business Intelligence Investments
Source: Data Doghouse - performance management, business intelligence, and data warehousing [link]
Who:
DAMA International, Boston Chapter
Topic: Rick Sherman’s
"Ten Principles for Increasing the Business Value of your Data Warehouse and
Business Intelligence Investments"
When: Thursday May 4,
2006, 3:00-5:00 PM
Where: Waltham,
MA
Cost: Free, and so are the refreshments
Registration, directions, and more information. (You must
pre-register)
Tuesday and Wednesday at Collaborate’06
Source: Mark Rittman's Oracle Weblog [link]
It’s been a busy couple of days at Collaborate, hence the lack of updates
since Monday. We’ve been giving presentations over the last couple of days, and
coupled with trying to attend a few of the sessions, there’s been little time
for blogging.
Most of the evenings have been taken up with events and meals. On Monday
night, I met up with Peter Robson, James, Rachel and Gemma from the UKOUG for a
quick drink, and then Tuesday night was a BI&W reception held by Oracle in the
Old Hickory Steakhouse. A good chance to catch up with people such as Michael
Armstrong Smith and Dan Vlamis, plus quite a few of Oracle’s BI&W and data
warehousing team were there, including Mike Durran, a really nice guy from
Bristol who’s one of the PM’s for Discoverer. I met up with most of the Oracle
people again on Wednesday night, plus David Furston, Andreas Kugelmeier and
Laura Mckechnie. It was a good opportunity to put faces to names, plus discuss
data warehousing architectures and how the new Siebel tools fit into the
picture. In all honesty, it was the meet-ups like this that have made the
conference for me, an excellent chance to discuss stuff face to face and to meet
some of the people you come across in the Oracle BI&W world.
I spent most of Monday and Tuesday, when not in talks, going to the Oracle
demogrounds and having a play around with the new Siebel Analytics tools, in
particular Oracle Dashboards, Oracle Answers and Oracle Delivers. The main
questions I wanted to answer were to what extent the new Siebel
Oracle Analytic Server is an OLAP server, where it fits in with Oracle OLAP, and
where Oracle Answers (the ad-hoc query tool) and Oracle Delivers (the scheduling
and alerting tools) fit in. From what I can tell, the Oracle Analytic Server
isn’t an OLAP server as we’d know it, with a multi-dimensional cache, OLAP query
language and so on, but it’s got OLAP-style features and provides an end-user
experience that supports drilling, crosstabs, page items and so on.

I think one of Oracle’s priorities over the next few months is to take more
of the OLAP capabilities of Discoverer and add them into the BI Suite Enterprise
Edition product stack, with Oracle OLAP still being around as an OLAP datasource
for the Analytic Server cache. I also had a play around with the Dashboard
element of BI Suite EE, it looks very slick, a vast improvement over Portal, but
quite tricky and complicated for an untrained user to work with - it certainly
makes Discoverer look very useable, very easy to pick up, I can still see a very
important role for Discoverer as an easy to learn, very "obvious" way of
reporting on your data. That said, the Siebel technology looks very, very
impressive, with the semantic layer in particular being a step on from the EULs
that we’ve worked with previously. One note of caution though is over price -
from speaking to people, the per-CPU license fee for the whole BI Enterprise
Edition stack, including the analytic server (which could remove the need for an
Oracle database + OLAP Option), Answers, Delivers, Dashboards and so on, is an
eye-watering $225k per CPU. Wow. I said at the time that we’d have to buy one
copy per country, and share it amongst ourselves, but if you compare it to
buying the database + options + app server stack, plus all the new features
you’re getting, and in addition compare that to a typical Business Objects or
Cognos implementation, which again can reach up into the $1m mark, it’s not too
unreasonalble a price.
I went along to a few of the "keynotes" as well, including the database one
on Tuesday morning, and the BI product direction one in the afternoon. I was
suprised at the low numbers at each one - at Open World, people are queuing for
an hour beforehand, the rooms are all full, but there must have been less than
50 people in each one. It’s been like that throughout the conference - there’s
thousands of people here but not many seem to be in each talk, although that
could be partly because most of them are here for JD Edwards, Peoplesoft and
Oracle e-Business Suite content. Anyway, the database one was useful, looking at
new features and products released since 10gR2 (Data Vault, Oracle Secure Backup
and so on) whilst the BI one looked at the new BI Suite Enterprise Edition.

The latter was based on a combination of the recent New York announcement
coupled with the Discoverer Statement of Direction, and I was able to ask a few
good questions about where the Analytic Server sat in regard to the OLAP Option.
More on that at a later date when I start looking at the Analytic Server in more
detail. One other point at this meeting was that Oracle Warehouse Builder, when
10g R2 is released (the "Paris" release), will be packaged along with the
database, not the BI Suite Standard Edition. I asked whether this meant that OWB
would be installed along with the database, with OWB appearing as a start menu
entry when you installed the Client CD, but at this point it looks like it’ll be
a standalone installation still. Also, it looks like OWB pricing is under
review, as presumably it’s moving from the IDS toolset bundle ($5k per named
user), and there’ll be more announcements when the product is launched in a few
weeks time.

Whilst I’m here, one thing I forgot to mention in my last post was the
presentation on "Controlled Flights into Terrain : Avoiding Database Design
Disasters" by Kevin Loney. I just wanted to say that this was the best
presentation, or more specifically the best presenter, I’d come across at the
event. Really engaged with the audience, very interesting and humourous to
listen to, really knew his stuff, got some good technical points across in an
easy to listen to manner. I’m a big Kevin Loney fan now.
Just to wrap up, I’m finally getting used to the hotel. For the first couple
of days, I couldn’t get over how all nine acres of the hotel grounds was under
glass, but now I’ve been here for a few days (and ventured outside as well,
either really cold or too humid) you can appreciate why they’ve done it. It’s
all still a bit mad, if you know what I mean, but it’s actually a really nice
venue and the climate control makes a real difference. Wouldn’t like to see
their electricity bills though.
That’s it for now. The last of our talks is in half an hour, I’ll report back
on how they went afterwards.
Tuesday and Wednesday at Collaborate’06
Source: Mark Rittman's Oracle Weblog [link]
It’s been a busy couple of days at Collaborate, hence the lack of updates
since Monday. We’ve been giving presentations over the last couple of days, and
coupled with trying to attend a few of the sessions, there’s been little time
for blogging.
Most of the evenings have been taken up with events and meals. On Monday
night, I met up with Peter Robson, James, Rachel and Gemma from the UKOUG for a
quick drink, and then Tuesday night was a BI&W reception held by Oracle in the
Old Hickory Steakhouse. A good chance to catch up with people such as Michael
Armstrong Smith and Dan Vlamis, plus quite a few of Oracle’s BI&W and data
warehousing team were there, including Mike Durran, a really nice guy from
Bristol who’s one of the PM’s for Discoverer. I met up with most of the Oracle
people again on Wednesday night, plus David Furston, Andreas Kugelmeier and
Laura Mckechnie. It was a good opportunity to put faces to names, plus discuss
data warehousing architectures and how the new Siebel tools fit into the
picture. In all honesty, it was the meet-ups like this that have made the
conference for me, an excellent chance to discuss stuff face to face and to meet
some of the people you come across in the Oracle BI&W world.
I spent most of Monday and Tuesday, when not in talks, going to the Oracle
demogrounds and having a play around with the new Siebel Analytics tools, in
particular Oracle Dashboards, Oracle Answers and Oracle Delivers. The main
questions I wanted to answer were to what extent the new Siebel
Oracle Analytic Server is an OLAP server, where it fits in with Oracle OLAP, and
where Oracle Answers (the ad-hoc query tool) and Oracle Delivers (the scheduling
and alerting tools) fit in. From what I can tell, the Oracle Analytic Server
isn’t an OLAP server as we’d know it, with a multi-dimensional cache, OLAP query
language and so on, but it’s got OLAP-style features and provides an end-user
experience that supports drilling, crosstabs, page items and so on.

I think one of Oracle’s priorities over the next few months is to take more
of the OLAP capabilities of Discoverer and add them into the BI Suite Enterprise
Edition product stack, with Oracle OLAP still being around as an OLAP datasource
for the Analytic Server cache. I also had a play around with the Dashboard
element of BI Suite EE, it looks very slick, a vast improvement over Portal, but
quite tricky and complicated for an untrained user to work with - it certainly
makes Discoverer look very useable, very easy to pick up, I can still see a very
important role for Discoverer as an easy to learn, very "obvious" way of
reporting on your data. That said, the Siebel technology looks very, very
impressive, with the semantic layer in particular being a step on from the EULs
that we’ve worked with previously. One note of caution though is over price -
from speaking to people, the per-CPU license fee for the whole BI Enterprise
Edition stack, including the analytic server (which could remove the need for an
Oracle database + OLAP Option), Answers, Delivers, Dashboards and so on, is an
eye-watering $225k per CPU. Wow. I said at the time that we’d have to buy one
copy per country, and share it amongst ourselves, but if you compare it to
buying the database + options + app server stack, plus all the new features
you’re getting, and in addition compare that to a typical Business Objects or
Cognos implementation, which again can reach up into the $1m mark, it’s not too
unreasonalble a price.
I went along to a few of the "keynotes" as well, including the database one
on Tuesday morning, and the BI product direction one in the afternoon. I was
suprised at the low numbers at each one - at Open World, people are queuing for
an hour beforehand, the rooms are all full, but there must have been less than
50 people in each one. It’s been like that throughout the conference - there’s
thousands of people here but not many seem to be in each talk, although that
could be partly because most of them are here for JD Edwards, Peoplesoft and
Oracle e-Business Suite content. Anyway, the database one was useful, looking at
new features and products released since 10gR2 (Data Vault, Oracle Secure Backup
and so on) whilst the BI one looked at the new BI Suite Enterprise Edition.

The latter was based on a combination of the recent New York announcement
coupled with the Discoverer Statement of Direction, and I was able to ask a few
good questions about where the Analytic Server sat in regard to the OLAP Option.
More on that at a later date when I start looking at the Analytic Server in more
detail. One other point at this meeting was that Oracle Warehouse Builder, when
10g R2 is released (the "Paris" release), will be packaged along with the
database, not the BI Suite Standard Edition. I asked whether this meant that OWB
would be installed along with the database, with OWB appearing as a start menu
entry when you installed the Client CD, but at this point it looks like it’ll be
a standalone installation still. Also, it looks like OWB pricing is under
review, as presumably it’s moving from the IDS toolset bundle ($5k per named
user), and there’ll be more announcements when the product is launched in a few
weeks time.

Whilst I’m here, one thing I forgot to mention in my last post was the
presentation on "Controlled Flights into Terrain : Avoiding Database Design
Disasters" by Kevin Loney. I just wanted to say that this was the best
presentation, or more specifically the best presenter, I’d come across at the
event. Really engaged with the audience, very interesting and humourous to
listen to, really knew his stuff, got some good technical points across in an
easy to listen to manner. I’m a big Kevin Loney fan now.
Just to wrap up, I’m finally getting used to the hotel. For the first couple
of days, I couldn’t get over how all nine acres of the hotel grounds was under
glass, but now I’ve been here for a few days (and ventured outside as well,
either really cold or too humid) you can appreciate why they’ve done it. It’s
all still a bit mad, if you know what I mean, but it’s actually a really nice
venue and the climate control makes a real difference. Wouldn’t like to see
their electricity bills though.
That’s it for now. The last of our talks is in half an hour, I’ll report back
on how they went afterwards.
Oracle Data Mining Tutorial and White Paper
Source: Oracle Data Mining and Analytics [link]
The new Oracle Data Mining 10gR2 Tutorial is now posted to OTN:
Oracle Data Miner 10.2.0.1 Tutorial (7MB) April 2006
The link downloads a Zip archive that contains the tutorial in PDF format, a dump file containing tables used in the tutorial, and…
[ This is a content summary only. Visit my website for full links, other content, and more! ]
Hyperion Solutions acquires UpStream Software
Source: Data Doghouse - performance management, business intelligence, and data warehousing [link]
In an acquisition greeted positively by analysts and users,
Hyperion Solutions announced it is acquiring privately-held Upstream
Software.
UpStream’s product, called WebLink DM, provides “a data
readiness and guided workflow application that is used to track the movement of
financial information from source to report.” (Quote from Hyperion’s press release of April 20, 2006
What does that mean? Sometimes concepts do not lend
themselves to easy classification and may be difficult to get the market’s
attention. The product enables data integration and data quality processes to
move data between applications and to track any flow and changes to the data.
So far, it sounds like Extract, Transform and Load (ETL)
tool. This is where it gets more complex. ETL is a general capability that is
offered in many tools, but what we have here is more of an application that
manages the data integration workflow and data quality processes. It works with
financial data (current application not a design limitation) including
Hyperion’s financial and business performance management (BPM)
applications. So it tracks and manages
data movement from the data sources to reporting. This sounds like just what
the market is demanding in financial transparency and the government with
Sarbanes-Oxley.
This product illustrates that data quality is much more than
cleansing name and address data. The latter is a great capability, but it
greatly limits the scope of what data quality is all about. Data quality needs
to address the numbers that business people use in monitoring their businesses
and making decisions. Data quality is not a one-time conversion or cleansing
operation, but involves managing and tracking what happens to the data from
creation (data sources) to consumption (reporting and analytics.) Data quality
is a process that is ongoing and needs to be measured just as key business
indicators (KPIs) are measured by the business. And the financial area, both
Hyperion’s and UpStream’s “sweet” spot, is just the corporate function that can
provide business justification to build those processes into data integration
and data quality.
UpStream was a Hyperion preferred partner since 2002 and its
approximately 200 customers are also Hyperion customers. The acquisition
appears to look like a “no brainer.” The product that should blend in well with
Hyperion and they’ve got a common customer base. Also, UpStream is pretty small (less than fifty people
is what I hear), so the organization and people portion of the acquisition should
be relatively easy (as acquisitions go.)
Although much larger acquisitions usually get most of the
attention, smaller targeted acquisitions by software companies are a great way
to pick-up product and people expertise. And it is a bonus when the acquired
company has an installed base of customers.
Java in Manila
Source: BLOX Chronicles [link]

The event lasted from 8 to 5pm at ShariLa Makati. Java is the de facto application development tool for many enterprises today. We were there under sponsor status, so were exempted from paying the PhP1500 entrance fee. And that is just what we need to enjoy all the nice looking and nice tasting food that Shangri-La offered all through out the session. All in all, the event is a success, and is worth the buck if ever you decide to attend next year’s event.

Rags Srinivas, on cowboy hats presented Java SE GUI makeover.

Javapassion.com guy, Sang Shin has a thick but cool oriental accent - “how-e-vveeerrr”. He charms the audience with his knowledge about Java EE, Web 2.0, AJAX, and the new technologies emerging in the pioneering web-based application development today.

Dr. Doris Chen, the beautiful Miss Lady geek, discussed Java Server Faces.++++++++
Visit us at http://bloxchronicles.blogspot.com for more fruitfull BI, Analytics, Data Warehousing and Alphablox discussion.
The Next Value - How much higher is my salary than the next in (Dense) Rank - Oracle Analytical Functions
Source: Weblog for the Amis technology corner [link]
It is not terribly important. But since I found the solution, I thought I’d share it with you anyway. During our Oracle 7Up workshop on SQL last week we discussed at length the use of Analytical Functions. Part of that discussion is of course the use of the Rank function in combination with Partitions and […]
The Next Value - How much higher is my salary than the next in (Dense) Rank - Oracle Analytical Functions
Source: Weblog for the Amis technology corner [link]
It is not terribly important. But since I found the solution, I thought I’d share it with you anyway. During our Oracle 7Up workshop on SQL last week we discussed at length the use of Analytical Functions. Part of that discussion is of course the use of the Rank function in combination with Partitions and […]
