UKOUG Business Intelligence & Reporting Tools SIG
Source: Mark Rittman's Oracle Weblog [link]
Today was the day for the
UKOUG Business
Intelligence & Reporting Tools SIG meeting, held up at the
Institute of
Physics, London. Most of you probably know that I chair the SIG which
involves doing the welcome bit at the start, introducing (along with Andy and
Jagdev) the various speakers and getting feedback from the attendees on what to
include in future events. This time around we had Jonathan Lewis and Carl Dudley
in the audience, together with Peter
Scott and Jeff Moss. Here’s
a few photos from the day.
First up is Jeff Moss, with "Five Tips for Tuning Your Data Warehouse"…

Kevin Lancaster, with two presentations, one on SQL access for
Analytic Workspaces, and another on extending the calculation abilities of
Analytic Workspaces…

And who is this dashing gentleman in the lilac suit…?

Finally, Jagdev and Andy, the two SIG Deputies.

More over at
Flickr. I was pretty pleased with how the day went actually; beforehand I
was worried that I’d made it too "techy", too many data warehousing
presentations (as opposed to reporting tools, business-type ones) but the
feedback we’d got recently was that there wasn’t enough technical content, so we
gave it a go. In the end we had a fairly packed room which stayed that way
almost right through to the end, and the presentations were all excellent and
delivered in an interesting and engaging way. Well done to everyone.
Check back here and on the UKOUG
website for news on the Reporting Tools event that we’re planning for May.
It’ll be like a "super-SIG" event, with two streams (business and technical), a
focus on reporting tools, third-party vendors and a venue that’ll probably be at
a hotel in central London. Until then, I’m off for a few days to Nice, so best
not to expect any updates for a few days (I’ve been told not to take the laptop,
but little does she know that I can still get ‘net access on my phone…)
Scary…but not so bad! (…presenting that is)
Source: oramoss oracle [link]
Well, my first presentation at the BIRT SIG seemed to go down pretty well then…everyone seemed to have positive comments which was really nice…made the need to change my underwear that bit more bearable!
My attempt at humour even had the audience laughing which was great.
I definitely need to learn more about timing though! Last night’s practice run throughs were taking 55 minutes…the slot was
UKOUG BIRT SIG meeting
Source: Pete-s random notes [link]
I had a “treat myself” day today; to London for the UK OUG BI and Reporting SIG meeting today, not really working at all, just listening to a half a dozen presentations. I really enjoyed it, meeting old friends and meeting loads of new (to me) people. I also leant a few things too.
Mark Rittman barred me from entering the competition to win a copy signed copy of Jonathan Lewis’s book – said it
Active and Right-Time Data Warehousing Defined
Source: Blog: Dan E. Linstedt [link]
Recently I’ve been asked about Active Data Warehousing, and (Real-time) Right Time Data Warehousing, what do these mean to the enterprise? In this short blog entry, I offer my opinion on the definition of each. In future entries I will define the basics of building one, the questions to ask, and potential value to the enterprise. I lead an effort in Active Data Warehousing, and Right Time Data Warehousing for Myers-Holum, Inc. We have best practices surrounding these efforts, and will soon offer tips and tricks for free on our site.
Blogs on Oracle.com coming soon?
Source: Oracle Business Intelligence Blog [link]
So far the only official Oracle blogs have been by some of the senior mangement folks in the Apps division: John Wookey, SVP of Applications Development, Jesper Anderson, SVP of Applications Strategy (formerly from PeopleSoft), and John Schiff, VP and GM of JD Edwards World (link to executive blogs page on Oracle.com). But no other employee blogs are hosted on Oracle.com.
On a lark I entered www.oracle.com/blogs in my browser. I first got redirected to http://www.oracle.com/blogs/index.html and then to http://www.oracle.com/technology/community/opinion/index.html, which happens to be the home page for all links to Oracle technology related blogs.
I am using this very sparse and frankly thin piece of page redirects evidence to surmise that Oracle may come out with a comprehensive blogging infrastructure like hosting support (like a blogs.oracle.com or other URL) and software for blogs. Currently, as people would know, Oracle blogs are hosted on third-party blogging sites like Blogger, Livejournal, or on Orablogs.com. Companies like Sun, Microsoft, and others have a substantial blogging presence by their employees.
App Server 10.1.3 is now available
Source: Oracle Business Intelligence Blog [link]
For those who missed it, Oracle Application Server 10g Release 3 (10.1.3), is now RTM and available for download from OTN (link to download page).
This is just the first of the R3 releases, and the version number reflects that (10.1.3.0.0). This contains the core app server components like Oracle HTTP Server, Oracle Application Server Containers for J2EE (OC4J), Oracle Enterprise Manager 10g Application Server Control, Oracle Business Rules, and Oracle TopLink.
Portal, Integration, BI components and more will be added to this in later releases. So, for those who may ask, “what is the latest Discoverer release”, the answer continues to be 10.1.2.48.18, available with Oracle Application Server 10g Release 2 (10.1.2.0.2), available from this download page. If you want the latest Discoverer release, then this is the version that you need to download and install.
And for those clued in on the RSS revolution, OTN has added a new page for new downloads (link to page) as well as an RSS feed (link to RSS XML feed) so people can simply add the feed to their favourite RSS reader (think Thunderbird) and see a list of new downloads added.
Great post on Commercial Open Source
Source: bayon blog [link]
Nanoblog (which has nothing to do with Nano technology) has good advice for Commercial Open Source Companies. I know the Nanoblog author and he is working in an IT organization that is trying to make OSS work in their environment so he’s formed these opinions working with multiple OSS companies.
Some comments:
“Let go of the control on product vision.”
Product vision is what helps COSC make money… If there is zero revenue in feature X then the company shouldn’t fund that. Now, flip side, the company should not stand in the way if someone who cares nothing about revenue wants to build feature X themselves. There is nothing evil with COSC prioritizing their contribution to OSS according to their revenue as long as they aren’t dictating standards/interfaces/etc that exclude the collective community will.
“Play well with other open source products.”
This is, easier said than done. It’s tough enough to assemble products with expertise on call (companies) and thorough and complete documentation and integration “road maps.” However, the “integrator” in open source almost always bears the burden on both sides of the projects… Someone wanting to play nicely with other OSS projects would have to become quite knowledgable about t’other to be successful int hat integration.
“The community is your number one customer”
I think this makes a good sound bite, but just can not be true for a company. Right or wrong, a companies purpose it to generate profit. It’s not a company (it’s a trade org, or co op, or association, or non profit) if it serves another interest (perfectly valid right? Mozilla Foundation, yes?).
I think Nanoblog omits some of the important, mutually beneficial aspects of COSC. Open Source “projects” at their core, are interesting and useful to engineers as they put together solutions. However, it is the application or solution that is of actual value to society, people, and business. ie, the Mozilla XUL package is valuable to the engineer, but it’s value to the world is actually as Firefox. ie, TCP/IP is cool to the engineer but email changes the world. Thinking of money as a currency of reward for value, people/societies/biz aren’t willing to pay for pure engineering genius. Unless of course, it’s an act of charity. They ARE willing to pay for something that makes their life better, easier, less expensive or provides an emotional experience ($20 toilet designer brush at Target).
The commercialization of open source provides the actual benefit of the inventors work to society… it validates the inventors passion with mass adoption or value; I can think of nothing more gratifying to the inventors spirit than to “change the world” for billions of people. This actual benefit is what people are willing to provide contribute back to the company/community. This, in theory, should provide the needed capital for the inventor to continue the pursuit of passion to provide the world his/her talent. This is not always the case; some productizations of open source don’t necessarily reward the actual inventions for their worth. How much profit should the person bringing technology X to the market reap, when they did nothing more than “apply it” instead of “invent it.”
Herein lies the paradox of Commercial Open Source that is the most interesting “tech” debate of the 21st century. Commercialization of open source projects brings sustaining capital as reward to these projects (in terms of comitters, paid OSS developers, testing, QA, conferences, etc). However, commercial direction in Open Source is considered in opposition to the freedoms of OSS and the inventors spirit. Ie, commercial application of OSS (whether for internal engineers or commercial open source applications) pay the bills of the inventors while they invent. This has always been the case (ie, Bell Labs was able to function b/c of huge profits by the commercialization of technology at AT&T).
The tsunami of open source “VALUE” is just beginning. Microsoft didn’t invent the mouse, they made it valuable to you and me. etc. I think it’s very much “black and white with 1000 shades of grey” on how companies are balancing this. Some do well, others do poorly. Time will tell what makes up the real secret sauce of “commercial open source.”
Step closer to nanotech hardware
Source: Blog: Dan E. Linstedt [link]
I’ve written several articles here in the past about Nanotech, the time-lines, and nanohousing(tm). About a year or two ago I wrote about the fact that IC chip manufacturers needed to get on board. We’ll, looks like they’ve done so. In this brief entry I’ll discuss their foray into nano scaled transistors and logic gates on computer chips. It is all very interesting, and I’ll speculate on what it might mean going forward.
El Instituto de Empresa en el puesto 12 del ranking de escuelas de negocio elaborado por el Financial Times

Hoy publica Expansión el ranking realizado por el diario Financial Times sobre escuelas de negocio con MBA a tiempo completo. Por primera vez en este ranking el Instituto de Empresa aparece en una muy buena posición 12, por delante de la prestigiosa escuela IESE, lo que refleja el esfuerzo realizado en áreas como la proyección internacional y la investigación. Seguro que también tiene que ver el hecho de ser una de las escuelas de negocio con mayor porcentaje de mujeres en el claustro: 34% sólo superado por una escuela italiana (SDA Bocconi). Otra buena noticia es que ESADE también escala puestos hasta el lugar 27, lo que coloca a tres escuelas españolas entre los 27 primero puestos igual que el Reino Unido y una más que Francia que sólo tiene dos, por lo que comenta el artículo que “En los claustros de las escuelas europeas se empieza a hablar castellano”. Bueno, un motivo de orgullo para los que elegimos Ie como escuela para nuestro MBA.
Entre los elementos utilizados para la realización del ranking están:
- Salario actual (media de los tres primeros años)
- Incremento salarial (desde que se terminó el curso)
- Retorno de la inversión (sobre el coste del curso)
- %Objetivos conseguidos (de los programados por el alumno al emprender el curso)
- % de alumnos que consiguen empleo en 3 meses
- % mujeres en el claustro
- % profesorado internacional
- Movilidad internacional
- Experiencia internacional
- Idiomas
- %Profesorado doctorado
- Investigación (#artículos publicados)
A Series of Unfortunate Events, and Recommendations for Linux Support
Source: Mark Rittman's Oracle Weblog [link]
I just got in an hour or so ago after a week spent over in Ireland. As I
mentioned the other day, I was due to do a bit of presales work with a public
sector client, and I took the opportunity to
spend the
weekend in Belfast with Janet and the kids and the rest of her family over
there. Amazingly, for once the weather over in Belfast was better than back home
and we spent Saturday around town, down by the new
Titanic
Quarter and in W5. W5 is a kind of
"Science Museum and kids play centre" at the Odyssey Centre with lots of
interactive
displays,
multimedia PCs and a
kids play area,
not a bad way to spend a January afternoon if you’ve got children to keep
occupied.

One thing that didn’t go so well last week was the gradual breakdown of all
the technology I took over with me. As per usual I took over enough gadgets with
me to fill a branch of Dixons, with my work laptop, iPod, 3G data card, mobile
phone and lots of little add-ons and accessories. Things started to go wrong on
Monday when my laptop’s hard disk started spinning and whirring and clicking
when I tried to boot it up, and I had to wait until about two hours after I
first switched it on before the "Welcome to Windows XP" screen came up. The same
thing happened again the next day, and so I started copying all the files onto
my external hard disk in case it was about to give up on me for good. Next, and
presumably completely unrelated, the light behind the LCD screen went, which
meant that I had to borrow a flat screen monitor from the client to get any work
done. By this time though the disk had started working OK again - strange.
Next calamity though was me dropping the laptop backpack on the floor, which
didn’t affect the laptop but broke the 3G data card that was still plugged in
the PCMCIA slot - so that’s what the PC Card carrying case was for… These
things happen though, so although I could only use my laptop with an external
monitor, and I’d lost 3G access, I still had my phone … or at least I did have
it, until on Saturday morning the on/off switch on the top of it broke, and I
couldn’t use the phone now either.
Anyway, the upshot of all this was that by Saturday morning I’d managed to
break my laptop, 3G card and mobile phone and I was reduced to using Teletext to
catch up with the football scores (Arsenal still lost, which softened the blow
somewhat) and my brother-in-law’s PC running Windows Me and with a 26k
connection to try and keep up with emails. Eventually even I saw the futility of
this and decided to take a break from it all until I got back to England.
As I’m now in the market for a phone (work’ll replace the laptop and 3G card,
thankfully) it got me thinking again about getting one with decent (or any, to
be honest) Linux synchronization support. Every year or so I go through a phase
where I try and migrate my work and home PCs to Linux - for the obvious reasons
really, it’s just the "right" thing to do, and it’s some good experience that’ll
be useful for work - but I always get scuppered by poor driver and peripheral
support. Now that I’m suddenly in the market for a new phone, it sounds like a
good chance to get one that is syncable using GNOME or KDE. Does anyone know of
a phone - a recent one, ideally something by Nokia or SonyEricsson - that syncs
out of the box with GNOME or KDE? If it helps, I’m on Orange in the UK, usually
sync using a USB cable, and ideally want to sync with Evolution or Thunderbird
although being honest syncing with anything would be a bonus.
Whilst we’re on the hardware subject I’ve recently been given a budget for
getting new laptops for the team at work and we usually get stuff like this from
Dell - no problems here and I’ve never had a problem with them before, excepting
the laptop backlight going out of course. What I’m looking for particularly now
though is a range of laptops, ideally backed by a mainstream vendor such as
Dell, IBM, HP and so on - where all of the hardware has Linux drivers. I’d like
to get my team working with Linux if possible - or at least make it easy for
them - and what I’m looking for is a laptop range where the Wifi cards, modems
and so on have easy to obtain, working Linux drivers. I think for the Dell
machine I use - a Precision M60 - you can get Wifi working with
third-party drivers from a company called Linuxant but what I really want is
a machine where the vendor sorts out the drivers for you. If anyone knows or
uses such a setup please write in and let me know.
That’s it for now. On Tuesday we’ve got the
UKOUG Business
Intelligence & Reporting Tools SIG, where I’ll hopefully be meeting up with
Peter Scott and listening to
Jeff
Moss’s presentation on Data Warehouse Performance Tuning. After that, I’ve
got a few days off and we’re flying over to Nice, so updates will be a bit
irregular for the next week or so.
New Laptop - Dell XPS M170!
Source: oramoss oracle [link]
Right – done at last! My UKOUG SIG presentation is complete – just got to read and practice it before 31st January, 2006. That took me sooo long to do and that was before I had to cut a considerable number of slides after my reviewers all pointed out it was too long for the time slot – they were all absolutely right though – think I’d have needed a whole day with the way it was before I trimmed it
How Do You Debug OLAP DML from BI Beans Part 2
Source: Oracle Business Intelligence Blog [link]
This is part two of a post covering how to debug OLAP DML from BI Beans. The first session explained how to enable tracing of OLAP DML from BI Beans. This session explains the output from the various debug options. There are three basic options
- Prgtrace
- Monitor
- Trackprg
In addition Badline can be used to uncover additional information about an error.
Prgtrace
Controls whether each line of a program is recorded in the current session. It is used to uncover problems by tracing the execution of a program and records the name of the current program and shows the line of code being executed. In the example below the program being called is RUN_FCAST_MODEL, which in turn calls CALC_FCAST_MODEL. Prgtrace can be used to examine program flow within a session. Below is an example of the output when prgtrace is enabled:
(PRG= UTILS!RUN_FCAST_MODEL) argument T_PRESCONTEXT text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_DIMCONTEXT text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_DEBUGCONTEXT text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_TIME_FP text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_TIME_PP text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_METHOD text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_MEASURE0 text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_MEASURE1 text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_MEASURE2 text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_MEASURE3 text
(PRG= UTILS!RUN_FCAST_MODEL) argument T_MEASURE4 text
(PRG= UTILS!RUN_FCAST_MODEL)
(PRG= UTILS!RUN_FCAST_MODEL) variable T_MEASURE text
(PRG= UTILS!RUN_FCAST_MODEL) variable T_MODE text
(PRG= UTILS!RUN_FCAST_MODEL) variable T_VAR text
(PRG= UTILS!RUN_FCAST_MODEL)
(PRG= UTILS!RUN_FCAST_MODEL) trap on ERROR
(PRG= UTILS!RUN_FCAST_MODEL) pushlevel ‘RUN_FCAST_MODEL’
(PRG= UTILS!RUN_FCAST_MODEL) push SHAWPRODUCTS, SHAWPROMOTIONS, SHAWCHANNELS, SHAWGEOGRAPHIES, SHAWT_TIME, prgtrace, badline
(PRG= UTILS!RUN_FCAST_MODEL)
(PRG= UTILS!RUN_FCAST_MODEL) context T_PRESCONTEXT apply
(PRG= UTILS!RUN_FCAST_MODEL)
(PRG= UTILS!RUN_FCAST_MODEL) switch upcase(T_METHOD)
(PRG= UTILS!RUN_FCAST_MODEL) case ‘SEASONAL’:
(PRG= UTILS!RUN_FCAST_MODEL) T_MODE = ‘WINTERS’
(PRG= UTILS!RUN_FCAST_MODEL) break
(PRG= UTILS!RUN_FCAST_MODEL)
(PRG= UTILS!RUN_FCAST_MODEL)
(PRG= UTILS!RUN_FCAST_MODEL) if T_MEASURE1 eq ‘on’
(PRG= UTILS!RUN_FCAST_MODEL) else if T_MEASURE2 eq ‘on’
(PRG= UTILS!RUN_FCAST_MODEL) else if T_MEASURE3 eq ‘on’
(PRG= UTILS!RUN_FCAST_MODEL) else if T_MEASURE4 eq ‘on’
(PRG= UTILS!RUN_FCAST_MODEL) then T_MEASURE = ‘SHAWSALES_AMOUNT_SOLD_VARIABLE’
(PRG= UTILS!RUN_FCAST_MODEL)
(PRG= UTILS!RUN_FCAST_MODEL) if T_MEASURE eq ‘SHAWSALES_MARGIN_PERCENT’
(PRG= UTILS!RUN_FCAST_MODEL) else CALL calc_fcast_model(T_MODE, T_MEASURE, ‘SHAWSALES_AMOUNT_SOLD_FCAST_BF_VARIABLE’)
(PRG= UTILS!CALC_FCAST_MODEL) “============================================================================================================================
(PRG= UTILS!CALC_FCAST_MODEL) ” Created by Keith Laker November 2002
(PRG= UTILS!CALC_FCAST_MODEL) ” Modified by Dave Wild : 17th Dec 2002
(PRG= UTILS!CALC_FCAST_MODEL) ” Modified by Keith Laker : 29 Aug 2003
(PRG= UTILS!CALC_FCAST_MODEL) “============================================================================================================================
(PRG= UTILS!CALC_FCAST_MODEL) ” This Program creates AW forecasts using one of the following AW Foprecasting methods
(PRG= UTILS!CALC_FCAST_MODEL) ” These methods are passed into this program as arguments via _method
(PRG= UTILS!CALC_FCAST_MODEL) (PRG= UTILS!CALC_FCAST_MODEL) “
(PRG= UTILS!CALC_FCAST_MODEL) ” T_METHOD arguments include:
(PRG= UTILS!CALC_FCAST_MODEL) ” WINTERS - Holt Winters Seasonal
(PRG= UTILS!CALC_FCAST_MODEL) ” TREND - Trend
(PRG= UTILS!CALC_FCAST_MODEL) ” EXPO - Exponential
Each line of code that is shown contains important information. For example, if the start of the line includes an equals sign, this indicates the code is executed as a compiled line of code:
(PRG=RUN_MODEL)limit SHAWT_TIME to ‘1813′
if line includes a colon, this indicates execution of uncompiled code. Typically, uncompiled code is slower to execute than compiled, as it has to be parsed and validated prior to execution. If the line is executed within a loop then this could consume a large amount of processing time.
(PRG:RUN_MODEL)limit SHAWT_TIME to &arg1
Uncompiled code usually occurs when dynamic substitution is used to alter the way a line is executed as shown above. In this case the time dimension is limited to a specific dimension member that is not known until execution time. Hence the &arg1 is used to parse the first argument passed to the program.
Badline
This can be set to get more detailed error messages in the log file and may help to provide more information regarding a particular issue.
Monitor
The MONITOR command records data on the performance cost of each line in a specified program. It is used to identify the time-consuming lines within those programs.–If the program executes a given line repeatedly, MONITOR records the cumulative cost of all the executions on the single line –A line of code is considered to have a high performance cost if it takes a long time to execute. If you wish, you can use both TRACKPRG and MONITOR simultaneously.

Trackprg
Tracks the performance cost of every program that runs while you have tracking turned on. Each time each program is executed, TRACKPRG stores its cost data as one entry in its tracking list. A program or line of code is considered to have a high performance cost if it takes a long time to execute. Use TRACKPRG to identify programs that have relatively high costs and then use the MONITOR command to identify the time-consuming lines within those programs. If you wish, you can use both commands simultaneously.
With the help of these three debugging options it is possible to determine how and why programs are being executed within the AW. Once you know where the problem is, then you can use the OLAP Worksheet within Analytic Workspace Manager to edit the program and make the required changes.
It is always a good idea to test any OLAP DML program within the OLAP Worksheet first before attaching the program a JSP page or calling it from another application. That way you can resolve the more obvious issues first. More technical issues can then be resolved using PRGTRACE, MONITOR and TRACKPRG as described
ODTUG Paris Presentation
Source: bayon blog [link]
ODTUG accepted two of my presentation proposals on OWB. Unfortunately, the presentation on “Real Time Data Warehousing” had to be cut because the same happen to the feature in the Paris release.
However, I’ll still be giving a survey of new features.
Oracle Warehouse Builder 10gR2-Late, but PACKED with Features!
Oracle Warehouse Builder 10gR2 is packed with useful features and not just for the data warehouse professional. Improved ETL, expanded metadata capabilities, and advanced dimensional editors will mean a great deal to data warehouse developers. Features like model-based streams integration and the data profiling/cleansing features will even make DBAs sing Oracle Warehouse Builder praises.
If you’re interested in attending, register for the virtual conference here: https://www.odtug.com/ssl/Virtual_2006_registration.asp. You can still get early bird pricing until February 1st.
Business 2.0’s 101 Dumbest Moments in Business
Source: Clickstream [link]
Every year I enjoy reading through the list of the dumbest moments in business. I love the executive quotes they sometimes capture.
Speaking at an ad industry event in Toronto, WPP Group’s worldwide creative director, Neil French, says there aren’t more f
BI Pathfinder
Source: Chris Webb's BI Blog [link]
![]()

Cluster Migration
Source: Chris Webb's BI Blog [link]
![]()

Impressions of Pentaho
Source: Chris Webb's BI Blog [link]
![]()

Paper on Data Mining Reports
Source: Chris Webb's BI Blog [link]
![]()

The StrTo functions and CONSTRAINED
Source: Chris Webb's BI Blog [link]
- StrToMember can only take a string containing a member name
- StrToSet can only take an explicitly defined set, ie a list of member names or tuples in curly brackets
- StrToTuple can only take an explicitly defined tuple, ie a list of member names in brackets
- StrToValue can only take a constant value
WITH
MEMBER
TRTOSET_TEST1 AS COUNT(STRTOSET("{[Measures].[Internet Order Quantity]}"))MEMBER
TRTOSET_TEST2 AS COUNT(STRTOSET("MEASURES.MEMBERS"))MEMBER
TRTOSET_TEST3 AS COUNT(STRTOSET("{[Measures].[Internet Order Quantity]}", CONSTRAINED))MEMBER
TRTOSET_TEST4 AS COUNT(STRTOSET("MEASURES.MEMBERS", CONSTRAINED))SELECT
STRTOSET_TEST1, MEASURES.STRTOSET_TEST2, MEASURES.STRTOSET_TEST3, MEASURES.STRTOSET_TEST4} ON 0FROM
[ADVENTURE WORKS]
c=”http://c.spaces.msn.com/CollectionWebService/c.gif?space=cwebbbi&page=RSS%3a+The+StrTo%3cSomething%3e+functions+and+CONSTRAINED&referrer=” width=1 height=1 border=0 alt=”">
MDX Limericks
Source: Chris Webb's BI Blog [link]
Here are the rules:
- Each entry must be an MDX query executable against any cube/perspective in the Adventure Works database, and must take the form of a limerick (see http://en.wikipedia.org/wiki/Limerick_(poetry for details)
- The query must return at least one cell which contains a value other than null
- Entries should be posted as comments to this blog entry
- Extra points will be awarded for wit and creativity
It’s actually pretty difficult. Here’s my first attempt:
WITH MEMBER [Date].[Day Name].[TODAY]
AS 1 + [Date].[Day Name].[THURSDAY]
SELECT [Average Rate]
ON 0, [Date].[Date]
ON 1 FROM [Direct Sales] WHERE([MAY])
As an aside, this brings up the vexed question of how you should pronounce MDX. In my limerick I’m not pronouncing the punctuation so it reads:
WITH MEMBER DATE DAY NAME TODAY,
AS ONE PLUS DATE DAY NAME THURSDAY,
SELECT AVERAGE RATE,
ON ZERO, DATE DATE,
ON ONE FROM DIRECT SALES WHERE MAY.
However I’m prepared to be flexible on this point.
So come on all of you (and especially you Jon, as I know you can never resist something like this) and get composing!
UPDATE: I’ve decided two rule changes, to make things easier. First I’ll allow queries from Foodmart 2000 for those of you on AS2K; second I’ll allow statements other than SELECT statements (eg CREATE SET, UPDATE CUBE etc) so long as they execute without errors.
src=”http://c.spaces.msn.com/CollectionWebService/c.gif?space=cwebbbi&page=RSS%3a+MDX+Limericks&referrer=” width=1 height=1 border=0 alt=”">
