Excel Monkey Uprising! (and a Contest!)

March 4, 2010

 
Excel Monkey Getting Overdue Respect

“It’s about time you noticed”

-Excel Monkeys everywhere

As I mentioned the other day, I drew some fire when I role-played as the head of a business unit and referred to my army of “Excel Monkeys” who could crank out what I needed in a day, rather than the four months IT required to give me the same numbers.

It was a sympathetic joke that I thought would be taken as such – and I think by most, it was.  But these are a sensitive, downtrodden people.  Business runs on their backs.  Multimillion dollar decisions hang on the data they produce every day.  And because of that, they often are the first to arrive in the morning and the last to go home…  or at least, the last to go to sleep.

In my experience, they are neither properly respected nor compensated for their outsized importance to the business.  They are viewed as producers of documents, just as if they were taking dictation in Word.

They are viewed as Excel Monkeys.  But they are really Shadow IT.  Special Ops.  Ninjas.  Pick your analogy.  Writer’s guild, auto unions, pilots’ unions…  all of these pale in comparison to the power an Excel Monkeys Guild would wield, were one to exist.  They could bring the world to its knees.  But I digress.

Things might be different if they were viewed as applications programmers, as I explained in my post Microsoft Announces New Programming Language – XL#.  And PowerPivot itself is hopefully poised to start changing the landscape as well.

In the meantime, let’s do something else:

Excel Monkey T-Shirt Design Contest!

We need t-shirts, the cornerstone of any proper revolution.  And for that, we need a proper design.  Some of you out there are talented with graphics tools.  (I am not). 

So…  send me your designs!  Email me at robert.c.collie@gmail.com – send me pictures, or URL’s to pictures.

David Coe of Microsoft has set the bar high with his initial entry:

David Coe Excel Monkey

Bring it on!

Prizes!

Yes, there are prizes.  Denny Lee has volunteered an autographed copy of the upcoming PowerPivot book he is co-authoring.

Mr. Excel, Bill Jelen, then upped the ante with an offer of TWO autographed books – his upcoming PowerPivot for the Data Analyst book and his Pivot Table Data Crunching book, which is also highly relevant to PowerPivot.

Fabulous prizes indeed.

Contest Rules

Rules???  There ARE NO RULES!!!  OK, maybe a few things are worth saying:

  1. Contest will be open until 11:59 PM US Pacific Time on Friday, March 12, 2010.
  2. Contest will be judged by me, Denny, and Chris Givens (who had the guts to call me from a crowded bank lobby and make monkey hooting sounds into the phone – a man amongst men).
  3. The winner will be announced during the week of March 14th.
  4. Contest is open to everyone.  Doesn’t matter where you live or who you work for.

Begin!


Minnesota in the morning

March 2, 2010

Today’s webcast was quite a success, with over 500 attendees and a wealth of good questions.  Word of advice:  if you ever refer to Excel Pros as “Excel Monkeys,” make sure you clarify that you yourself are an Excel Monkey, and are making a sympathetic joke about how undervalued we are :)

Because if not, Tushar will get upset at you.  He’s as fierce as the name sounds.

Anyone wanna design an “Excel Monkey” t-shirt?  I’d wear mine proudly.

Tomorrow I am off to Minnesota to speak at the BI User Group.  I’m interested to see how that compares to the SSUG meeting in Sweden last month.  Same climate right?

Depending on how tomorrow night goes, I may check in with a post.  If not, posts resume Thursday night.  Til then…


Just joining us?

March 2, 2010

The past week or so I’ve noticed a spike in traffic – always nice to see PowerPivot’s profile growing, as I really think it’s going to change the game.

If you happen to be visiting for the first time, bear in mind that I’ve been posting several times a week since October.  I’ve covered a ton of topics, starting from the most basic and progressing into more powerful techniques.  Recent content is not the place to start.

I recommend checking out The Great Football Project as a starting point.

Everything on the New to the Site page is also a great place to break-in.


Guest Post: Dany Hoter on Cube Formulas

March 1, 2010

 
album shot

“OK, I want the brooding frontman in the foreground, and the keyboard player and drum machine programmer in the back.”

-Photographer for the EuroSynth band, MDX

I’ve always loved this photo.  Dany Hoter, master of the analysis arts, takes his rightful place in the foreground.  Pierre-Henri and I, lurking in the back with mirthful smirks.

It always looked to me like the back cover of a cd booklet – this is kinda what I expected the Chemical Brothers to look like.  Alas, there is no cd, and no band.  This was taken in 2003 by Allan Folting (the Pivot Master) while the four of us were awaiting a hydrofoil car ferry (!) in Denmark.  (Post-production effects a la U2’s “Unforgettable Fire” provided by Dave Gainer, former Group Program Manager for Excel).

Today folks, we are honored to have Dany, the world’s leading authority on cube formulas, finish the lesson that I began.  A fitting conclusion indeed.

(For more information on Dany, one of my favorite human beings, be sure to check out his profile).

Take it away, Dany…

In the last chapter of the Fantasy Football case, Rob introduced the Excel cube functions. These 7 functions were introduced in Excel 2007 and are not directly related to PowerPivot. The cube functions purpose was to enable data from OLAP cubes to be brought into Excel cells using functions and thus enable any shape of report combining other Excel formulas, data from different cubes in one report etc.

Because PowerPivot create a data source which is compatible with OLAP cubes it can be consumed by these functions and open up many interesting scenarios.

In Rob’s post he used cubeset to generate the children of a member and to show the top N members in the set using a measure.

In the comments that followed Rob’s post people were asking about allowing filters on other dimensions while calculating the top N members in the set.

Download the sample now!

It is probably easiest if you go ahead an open up the workbook I created, located here, and then follow along below.

How it works

The only thing we need to keep in mind in to achieve our goal is to make sure that the order of the members in the set is by descending order of the measure combined by the filters. If you want to report on the top 10 products in June and show how they are selling in July , you need to make sure to get the top 10 based on sales and June. May be you want also to use a specific geography and report on the top 10 products in Canada in June.

The way to sort a set by a combination of values from different dimensions is by creating a tuple which is in MDX terminology a collection of single members , each from a different attribute(Or hierarchy). Sales of Ice cream in Seattle in June is a tuple with three members in it. A tuple can be created by reusing one the functions we already met in the original post – cubemember.

If you supply a range of cells to cubemember instead of just one it will create a tuple from all the members represented by the cells. It is your responsibility to make sure that each cell in the range contains a valid member and that they are all from different fields/columns.

In the attached example you can see such an example based on AdventureWorks data.

clip_image002

You see three slicers, on Country year and month. Notice that I use the month number and not the month name because I haven’t found a way to sort the months by their number value while showing their names.

In the upper box you can decide how to create the top 10 product report. You can choose between the selected month sales and the previous month. You can also choose between using just the measure value or a tuple which is created from the values of the filtered members in the slicers + the measure. In order to use the filtered member I need to extract the first member from the slicer set using cuberankedmember. A set is not a valid argument to cubemember.

So the formula to extract the first member from the countries filter is =CUBERANKEDMEMBER("Sandbox",Slicer_EnglishCountryRegionName,1)

And the formula using to define the tuple is =CUBEMEMBER("Sandbox",(O3,O4,O6,IF(L3="Selected Month",P5,O5)),"Tuple")

P5 extracts the filtered month while O5 contains the following formula =CUBEMEMBER("Sandbox","[Time].[MonthNumberOfYear].["&P5&"].lag(1)")

The MDX function lag(1) returns the previous member of a given member.

The solution has one main flaw: it cannot guarantee the right order and thus the true top 10 products if the user selects more than one member in any one of the filters. The reason is that multiple members cannot participate in the tuple creation and so only the first member in the filter set can be used. In the example a message is shown if the user selects multiple members .

We can be even more strict and blank the report completely if the value of cell Q3 is >1. This cell contains the formula =CUBESETCOUNT(Slicer_CalendarYear)*CUBESETCOUNT(Slicer_EnglishCountryRegionName)*CUBESETCOUNT(Slicer_MonthNumberOfYear)

Remember that each slicer returns a set with the filtered members and so can be consumed by cubesetcount and cuberankedmember. The same is true for any page field in a pivot.

The set in a page field is referenced by its cell address while the set in a slicer by using the slicer’s name.

I use conditional formatting to show only rows that are not empty and to show a border for the non-blank rows.