Wednesday, October 30, 2013

Hack Anatomy: Right-Aligning Bar Chart Labels

This post describes a Tableau hack that lets one present the labels in a bar chart horizontally aligned at the chart's right side.

Why call it a 'hack', not 'tip', 'trick', or 'technique'? Largely because the number of things involved, and the depth one needs to dig into Tableau in order to accomplish this have crossed the threshold from relatively straightforward into real complexity. And 'hack' is an time-honored term for getting some thing to do something it wasn't initially designed to do.

Background

In this Tableau Community post Chaitanya K asked if Tableau can emulate Excel's right-aligned value labels on bars in a chart, as in this image:

Here's Tableau's default presentation of the same data in a labeled bar chart.

Each bar's label is the bar's quantity and is set past the bar's end. The chart's dimensioning is adjusted to accommodate the additional space required for the labels—since the physical width of the chart remains the same the axis is compressed to make room for the labels.

This is perfectly acceptable unless it's not what you want.

Ramon Martinez provided a solution, manually moving Tableau's labels to the right by click-dragging them over.

This works well. The labels overlay the bars since the chart doesn't make room for them.

Drawbacks to this approach are: the labels are now in a fixed position so if the chart changes the labels will be out of place; it's difficult to manually jiggle the labels into precise positions; and the labels don't adjust their color to contrast their background, as Tableau's automatically presented labels do.

Jonathan Drummey provided another solution that takes advantage of Tableau's inner workings. A slightly revised version of Jonathan's solution is shown at right.

How it works: a calculated field is used in a dual axis chart to provide two functions:

  • carry the individual bar's values and make them visible; and
  • horizontally position the bars' labels at the chart's right side.

The primary benefit of this approach is that the labels are automatically aligned, and their placement adjusts to the actual data so that they're presented well no matter the bars' values.

Recreating Jonathan's Hack.

Here's Tableau Desktop showing the dissected worksheet showing all the elements of the right-aligned label presentation. See below for the detailed descriptions of worksheet's parts, how create this, and then configure it so that it's the final product.

The Annotated Worksheet – the relevant bits.
Confusing? Don't panic. Everything will be clear soon.

As can be seen in the dissected worksheet there are a lot of parts that need to be in place and properly configured in order for this hack to work.

The Parts – brief notes:

Calculated Field
is the heart of the hack, which takes advantage of Tableau's ability to arrange its presentation to accommodate the data being shown.
LL's 'real' name contains the Tableau Tableau Calculation used to provide its value, i.e.:
WIMDOW_MAX(SUM([value]))
LL axis
is the secondary axis in the dual axis chart. Placement of the LL marks along this axis is how the labels get right-aligned. It needs to be synchronized with the value axis, and will be hidden when the LL header is hidden.
LL header
Will be hidden in the final dashboard, hiding the hack's mechanisms behind the curtain.
value axis
the final chart's axis, it can be configured to achieve different alignment effects—these will be covered in a separate section.
bar labels
are the labels Tableau provides by default. Sonce we're providing our own labels, these need to be turned off. If Tableau could right-align these labels along the right side of the chart we wouldn't need this hack.
LL presentation
is the combination of the mark (the circle) and the label (here with two numbers) for each value of LL in the chart. As seen here, there are four LL presentations, one for each bar.
LL marks
are circles, one for each value of LL in the chart. This hack works because Tableau anchors things to marks so these need to be here, the real trick is to make them tiny and invisible.
LL labels
show two values. The first is the bar's quantity value–we want to keep and right-align this. The second is the LL value for this mark; note that all four LL values are the same by design—this is what makes this hack work, and we don't want this to show.

Hacking the Worksheet.

All the parts enumerated above work together and it's difficult to untangle them, so I'll introduce them in the order of appearance in the process of transforming the standard Tableau bar chart into its right-aligned form.

I hope that this serves both as a cookbook for the hack, and to illuminate those Tableau operational characteristics that let this work so that you'll be able to leverage them in your future Tableau endeavors.

Note: we're going to overbuild the workseet at first—add some things that we'll back out later on. I'm doing it this way to make it easier to see what the individual parts are doing; it would be simpler to just go straight to the finished product but the principles underlying why things work the way they do wouldn't be as clear.

To recap, here's Tableau's default presentation the labeled bar chart.

Step 1. create the Calculated Field.

  • LL's Formula is: "WINDOW_MAX(SUM([value])) +50"
  • WINDOW_MAX(SUM([value]))
    will always evaluate to the same value in this formulation,i.e. when the window is the entire chart. This ensures a constant value for each row in the chart, which we in turn will use to place the field's marks in the same horizontal position, i.e. along the horizontal axis.
  • Adding 50 to the value ensures that the field's marks will extend past the bar ends, assuming that the LL axis is scaled appropriately, which we will ensure later by syunchronizing the axes.
  • The message "Results are computed along Table (Across)" is Created by Tableau, showing its default scoping for the calculation, in this case the entire table.

About the process.

From this point forward there are many different ways to get things organized into their right configurations. It really doesn't matter what path you take as long as you end up at the right configuration: with a dual axis chart; the primary measure is 'value'; the secondary is 'LL', calculated as above; the axes are synchronized; LL's header is hidden; LL's label is set to show only "sum([value)"; and LL's marks are made invisible.

When all these conditions are in place the chart's labels will be right aligned.

One of the tricky aspects of Tableau is that sometimes the path you take does matter. For example, if you hide LL's header before you synchronize the axes it isn't obvious how you go about doing so—the secondary axis is hidden and the only way to synchronize it is to unhide the header it's contained in first. Clear?

The following steps are one sequence that works. Follow them, or blaze you own trail if you're feeling adventurous. In the interest of trying to keep this post to a reasonable length I've combined seperate Tableau steps into single images where it seems to not cause too much confusion.

Step 2. set up the dual axis chart.

  1. Drag LL from Measures to the right of SUM(value) on the Columns shelf.
    Tableau will create a second set of bars on the chart for the LL values—these will all be the same size, although if Tableau isn't full screen you might not see their full size, as in the image.
    Tableau will also place both measure names at the bottom of the Marks card, and the Marks card's "All" will be selected, indicated by being bolded.
  2. Click on LL's selector in the Marks card (remember, LL's real name starts with "label location", or whatever else you may have named it)
    Tableau will make LL the selected field on the Marks card, bolding it.
    Tableau will also move both fields to the above the button section in the Marks card. (this behavior is cute but it really does make documenting this stuff harder)
  3. Select "Automatic" for LL's marks type.
    This doesn't have a visual effect, yet.
  4. Access LL's contect menu via the little down-triangle glyph in LL's Columns pill, as shown. Note that the glyoh normally shows as an up-triangle showing that it's a calculated field and only changes to the down-triangle when you mouse over it.
  5. Select "Dual Axis" from LL's context menu.
    Tableau will check "Dual Axis" to show it's in effect and then hide the menu.
  6. Set "value's" mark type to bar – not shown in the diagram.
    Select "SUM(value)" in the Marks card, then choose bar from the pulldown shown as 3.

Your worksheet now looks like this.

Both axes are showing, with different scales.

LL's marks are showing as circles labeled with LL's value of 350, as calculated.

The bars' labels are still showing.

This is excellent, we're well on our way.

Step 3. switch off value's labels.

This is a simple step, there's not much configuring to do with "value".

  1. Click on "SUM(value)" in the Marks card.
  2. Click on the "Label" buton.
  3. Toggle "Show mark labels" off.

In this image, value's labels have already been switched off.

Step 4. synchronize the axes.

This is pretty straightforward.

  1. Right-click on LL's axis (actually, pretty much anywhere in the header)
    Tableau will show the context menu.
  2. Toggle "Synchronize Axis" on.

The image shows "Synchronize Axis" already on and the axes synchronized.

It's easy to see LL's marks and labels clearly since they're positioned beyond the bars' ends due to the "+50" added to LL's calculated value.

Step 5. configure LL's labels.

  1. Click on LL's selector in the Marks card (remember, LL's real name starts with "label location", or whatever else you may have named it)
    Tableau will make LL the selected field on the Marks card, bolding it.
  2. Drag "value" from Measures to the Marks Card Label button;
    Tableau adds "SUM(value)" decorated with the "Abc/123" glyph to the bottom of the Marks card to show it's been made available for label use.
    Tableau replaces "LL's" values in the labels with "value's" values.

Step 6. make LL's marks invisible.

There are two actions to take here: making LL's marks as small as possible, and making them completely transparent. The combination of these renders them effectively invisible, even if they're not actually removed from the chart.

It doesn't really matter which you do first. I've shrunken the marks first, and the image shows them as mere dots.

  1. If it's not already selected, click on LL's selector in the Marks card (remember, LL's real name starts with "label location", or whatever else you may have named it)
    Tableau will make LL the selected field on the Marks card, bolding it.
  2. Shrink the marks by clicking on the Size button and then moving the slider all the way to the left.
    Tableau will shrink the marks to their minimum size—the dots seen here.
  3. Make the marks transparent by
    1. clicking on the Color button and then moving the "Transparency" slider all the way to the left; and
    2. setting the marks' border to "None" by choosing it from the Border pulldown menu as shown.
    Tableau will make the marks fully transparent, and they will disappear.

Step 7. hide LL's header.

Hiding LL's header will remove its last visible trace.

Unhide the header by unchecking the "Show Header" option in LL's contect menu, as shown below.

Congratulations

Here's your brand new right-aligned bar chart.


but...

you're thinking: "that's a nice chart, but it's somehow not quite what I'm after"

Clearly, as nice as it is, the chart could use some fine tuning. The axis shouldn't go that far past 300 and there's too much white space before and after the labels.

Fine tuning the chart.

The good news is that fine tuning the chart isn't difficult. But since this post has become much longer than I planned, there are a couple of options: wait for my next post on this&mdash:Fine Tuning Right-Aligned Bar Charts"; or dig in and try some tuning on your own. The basics of tuning are pretty simple.

A main tuning element is LL's label alignment, primarily its horizontal alignment. This determines whether or not Tableau places the label to the left, center, or right of the mark. Since the mark here is essentially an invisible point some experimenting will show what affects the settings have.

Another main tuning element is the padding value provided to LL's calue in its calculation formula. This determines the marks' position on the horizontal axis. Changing this value will change the gap distance between the bars' ends and their labels, and they may even overlap.

The third major factor is value's axis configuration. The major options are "Automatic" and "Fixed". Try changing between these, and changing the Start and End values when fixed, to see what happens.

As always, please let me know if you find this interesting or helpful.

Friday, October 25, 2013

A Small Matter of Labels

Sometimes the little things grab our notice.

In this case, here's a standard Tableau bar graph, and we'd like to have it show the bar's values as labels.

Tableau makes this simple and straightforward. See below for the main methods for doing so.

This composite image illustrates how to show the bars' labels (remembering that the bars are 'marks'), i.e.:

  1. the Analysis menu's
    "Show Mark Labels" option; and
  2. the Marks card's Label button's
    "Show mark labels" toggle.

In this case, here's a standard Tableau bar graph, and we'd like to have it show the bar's values as labels.

Tableau makes this simple and straightforward. See below for the main methods for doing so.

Where's the Friction?

It's really pretty simple, the labels for the options used to show/hide the marks' labels aren't the same:

Show Mark Labels
Show mark labels

Spot the difference?

It's somewhat picky to focus on the difference in capitalization, but some friction points are smaller than others, and they all add up.

It's also worth noting that the other options in the Marks card's Label button are all proper cased, matching the Analysis menu options.

Thursday, October 24, 2013

Tv8.1 Beta 3 Worksheet, Dashboard menus improved, still room for more

This post continues my previous post on these Tv8 menus. Please refer to it for background, this one only contemplates improvements yet to be made.

Functional Problems, Bugs

  • Dashboard right-click menu:
    • "Duplicate as Crosstab"
      does not work - active when a Worksheet is selected in Dashboard, choosing this option has no effect—the expected duplication of the selected Worksheet does not happen.
    • "Copy Formatting"
      does not work - cannot find any scenario in which the option is active.
    • "Paste Formatting"
      does not work - cannot find any scenario in which the option is active.

Top Level Menus

The Worksheet and Dashboard menus:

Residual problems include:

  • The items are organized differently, which causes unnecessary difficulty in locating them. The crossed lines indicate the different positions of "Actions..." and "Show Title". Not only are they in different orders, they're found in different compartments.
  • There's no "Format" option in the Worksheet menu, although the Dashboard menu has one. IT seems like there's no good reason for one to have this option and not the other.

Corrections:

These menus have been adjusted to align and coordinate their items, making the mechanics of selecting an option similar across the menus.

The Worksheet menu's Format option.

This Worksheet menu's Format option is shown with the 'more' glyph indicating that there is a submenu available. In this formulation the submenu could well be the same as the top level Format menu. Another option would be to simply launch the Format system in the "format a worksheet mode". This leads naturally into the consideration that Tableau's property sheet formatting mechanisms are dated and need a redesign, but that's another topic.

Right-Click Context Menus – now it gets interesting.

The Worksheet and Dashboard Right-Click context menus:

Interestingly, the menus have the same options. There are plenty of things that can be fixed here, including:

  • "<verb> Sheet" - the use of the generic "Sheet" creates a cognitive dissonance.
    The user has right-clicked on either a Worksheet tab or a Dashboard tab. Tableau knows which one it is, but chooses to not specifically identify it. Why not? Is "Sheet" something special, distinct from "Worksheet" or "Dashboard"? It's this sort of context slippage that introduces confusion.
  • The options are the same, even though they are not targeted the same in the different menus.
    The Worksheet options all relate to the Worksheet, but the Dashboard options don't all apply to the Dashboard, i.e.
    "Duplicate as Crosstab" applies to whichever Worksheet is active, if one is; if not it's inactive.
  • The Dashboard menu Formatting options do not appear to have any function. In my limited testing I haven't been able to find any way to have them active.

  • It's not at all clear what the "Color" option does.
    (actually, it just provides the opportunity to color the tab)

It looks like the Dashboard menu is a straight copy of the Worksheet menu, with some of the options re-targeted to the Dashboard. This is a bad design, muddling up the options for managing the configuration options available for the Worksheet or Dashboard of interest. The Worksheet menu is relatively straightforward, within the current context, but the Dashboard menu is a mess.

Right-Click Context Menus – Redesigned.

The main idea behind these redesigns is to clarify and regularize the management options appropriate for whichever type of sheet is chosen. As noted above, the current menu structures are the same for both, even though the legitimate management options differ. Notably, there are two distinct modes for a Dashboard: whether or not a Worksheet is currently selected in it.

As Tableau's functional span has dramatically increased since the initial management by menu architecture was implemented it would be useful to reconsider how to best offer the appropriate mechanisms for managing its components and content. I'll leave this for future posts. This post is restricted to considering only these two modes, disregarding whether it would be useful and/or appropriate to include other Dashboard object management options via this menu.

Worksheet Menu – New and Improved

There's not a lot changed here. The options remain the same, with some changes made to their presentation.

  • The "Worksheet" item was added to call out that these are Worksheet options, and the options were indented; this is unnecessary in the context of this one menu, but it's done to be consistent with the new Dashboard menu (below).
  • The "Color" option was renamed "Color Tab" to clarify what was being colored. "Color" is pretty confusing all by itself, leading naturally to the question: "Color what?", at which point the user was left to try give it a go and see what happened, and if they selected a color not noticeably different from the current color they might well not identify what happened.

Dashboard Menu – New and Improved #1

The main objective here is to update the Dashboard menu to better present those things that can be done with and to the Dashboard and/or Worksheet.

The challenge is to come up with a way to clearly identify which object an option acts on.

The biggest difference between this menu and the existing one is that the new design clearly segregates the Dashboard and Worksheet options into their own menu segments. Doing this makes it clear which option applies to which object.

On top of moving the options into their own segments, the Worksheet options are only active when a Worksheet is selected in the Dashboard. The left menu shows the Worksheet-selected active Worksheet options, the right menu shows inactive Worksheet options.

Although useful, this approach takes up a lot of space, imposing its own usability burden. One solution to this problem is below.

Dashboard Menu – New and Improved #2

In this model the Worksheet segment has been collapsed because there's no currently selected Worksheet in the Dashboard.

The "Worksheet" item has also been greyed out as a visual cue that there is no active Worksheet.

This design works fairly well, although there is a bit of a jar in the conditional appearance of the Worksheet segment. The design below looks to address this.

Dashboard Menu – New and Improved #3

In this version the Worksheet options have been moved into their own submenu.

The Worksheet menu item and options are activated when a Worksheet is selected in the Dashboard, inactive when there's not one selected.

This works well in terms of consistency of presentation. Everything's in the same place all the time, and even when there's no Worksheet selected the user can see what options would be available to manage one if selected.

This is starting to look pretty good, but in considering it the question comes up: why not provide access to all of the legitimate Worksheet management options through this menu? What would that look like and how would it work? So I put it together below.

Dashboard Menu – New and Improved #4

In the version the Worksheet submenu has all of the options from the main Worksheet menu. It's not obvious whether or not this works well. It might overload the menu, confusing the user with all the options in two places. We're now into real user interface design and usability territory and investigating whether and how well this works would be a real valuable activity.

That's all, folks.

Tuesday, October 22, 2013

How Tableau Saved Enterprise BI

When I started using Tableau in 2006 Enterprise Data Warehouses were the sine qua non of Business Intelligence.

Common wisdom, backed by the opinion of experts and years of practice, held that the only meaningful way to achieve value from an organization's data was to collect, organize, homogenize, restructure, and present it in enterprise-spanning industrial scale data stores from which meaningful and valuable reports, dashboards, balanced scorecards, strategy maps, and their ilk could be developed to deliver business information to those few, those lucky few, who could make use of it.

Notwithstanding the obvious self-defeating biases of this hierarchically-stratified decision-making paradigm, creating these massive data cathedrals and their information-exposing front ends turned out to be one of the most difficult, expensive, and error-prone business undertakings. Failure rates of enterprise BI projects have historically been embarrassingly high. There are many causes for this, the primary being the almost inevitable disconnect between business needs for timely data-origin information and the inward-looking technology focus of the BI development effort.

Tableau, used appropriately, can rescue enterprise BI through the application of its fundamental ability to immediately access and instantly and effectively analyze and understand business data wherever it lives. The key being: data wherever it lives.

Tableau provides a previously impossible, and largely unrecognized, opportunity to change the Enterprise Data Warehouse-based BI model. It does this by enabling several fundamentally new approaches to applying direct and pervasive data analysis to the full spectrum of activities.

Business Intelligence.
The Business View.

From a business stakeholder's perspective the whole point of BI is to deliver accurate information when it's needed, in a form that makes it easy to understand.

The business stakeholder should not be concerned with, nor adversely affected by technological factors—these should be safely hidden behind the curtains.

Using Tableau, it's possible to work intimately with the business stakeholders to analyze their data, in their local context, and achieve immediate, even instantaneous insights into the data they need to understand to make effective decisions.

This intimate coupling of people with their data observes the simple truth that all BI is local—people are first and foremost concerned with the data within their immediate business horizon; without understanding that data they cannot do their jobs properly. This is the truth that traditional enterprise BI failed to recognize.

Creating and delivering these analyses up front and continually achieves an immediate knowledge benefit to the business stakeholders, which invests them in the process and builds their trust in the ability of the initiative to deliver the goods, which is a tremendous incentive for them to remain engaged.

These high-value business analytics are then the gold standard requirements for the analytics the enterprise BI system needs to deliver (if it needs to deliver them is a legitimate question). Having been already vetted by the business stakeholders who need them, they provide the bright line path that can guide the whole program, from the design of the ODS and Data Warehouse, to the final operationalized reports, dashboards, etc.

So do we need Data Warehouses?

Given the rosy scenario painted above, the elephant in the room is the question: do we still need data warehouses and the benefits of enterprise BI?

Tableau enables Business Intelligence Delivery.

image/svg+xml X Tableau $ 83 441 14 321 127 126 68 427 6 323 Sociosqu ad Lorem ipsum Quisque facilisis Pellentesque Maursat pede 234,567.00 1,211,842.00 34,567.00 Dolor sit amet Quisque leo Etiam pharetra Nam nisl 32,567.32 892,762.12 791,135.00 Praesent semper Donec tempus Mauris et pede Quisque 135,567.47 753,433.31 264,112.11 1,480,976.00 1,716,464.44 1,153,112.89 4,350,553.33 Lorem ipsum Dolor sit amet Praesent semper Sociosqu ad Dolor volutpat viverra ut molestie consequat Dolor Praesent Sociosqu mis in fau facilisis non obortis dimentum cubilia Cur DeliverValueEarly DeliverValueOften Of course,how's this? Professional Analytics Can I also see ...? Sure thing.Here it is. How about ...? ? How can I improve my business? $ How much moneyam I making? # How many widgetsam I selling? Who are my customers? How is mybusiness doing? ? This businessman needs to make decisions for his business. Copyright 2013 Chris Gerrard Analytics based onlive business dataprovide vital insights,frequently in hours Dolor Praesent Sociosqu 25% 20% 15% 10% 5% 0% 30% % 400 300 200 100 0 600 500 2,000 1,500 1,000 500 0 3,000 2,500 3 2 1 0 5 4 250 200 150 100 50 0 300 Avg Order Size US $ New Customers Count Cust Satisfaction Top rating of 5 Revenue US $ (1,000s) Profit 2013 YTD Continuouscollaborationdelivers thebest outcomes.Faster.Cost effectively.Highest quality. With Tableau, there can be near-zero latency in delivering criticalbusiness insights. He has questions.He needs information. He needs business intelligence

Yes. We still need Enterprise BI and Data Warehouses.

The problems and failings with traditional enterprise BI are of practice and implementation, not of principle. Attempting to build the universal answer-anything universal data store and query engine is a doomed approach. But as long as an organization's data is collected by disparate systems, and this will likely always be true, the need to collect, organize, and align it into a common context so that sense can be made of it at the enterprise level will exist. This is the raison d'etre for enterprise data warehouses and the enterprise platforms that support them.

How then do we conduct Enterprise BI?

I'm glad I asked.

It's simple: build outward from the business stakeholders' information needs. As shown above, and in proven in practice, starting with live, valuable stakeholder-approved analytics works. Using these analytics, every enterprise BI element can be conceived of, designed, and implemented with a clear idea of exactly how it will support delivery of one or more of the business analytics. Anything that doesn't support this goal is unnecessary, even harmful in its pollution of the BI space.

But isn't Tableau just an eye candy toy tool, good for making pretty pictures?
It doesn't fit in the industrial strength tool arena where real developers build real data infrastructure.
Does it?

It's a big surprise to many BU traditionalists schooled in the industrial production process approach, but introducing Tableau into an enterprise BI project can provide tremendous benefits in the velocity, accuracy, effectiveness, and quality of the activities across the project process spectrum. I've been successful in rescuing multiple enterprise BI projects that had gone off the rails by bringing Tableau into the mix. At first it was for my own use in understanding the data in play. It didn't take long for my ability to rapidly and effectively understand the data to be noticed, at which point other people would become interested and start either using Tableau for themselves or asking me to provide them with the analytics from their data. Eventually, Tableau found a place across the full range of activities.

This might seem strange, as it did at first to many of the technical people. After all, enterprise BI projects are conducted by "real" developers using "real" SQL-based data analysis tools, sometimes native to the technology in use, sometimes standalone tools like Toad. Which is one of the problems at the heart of traditional enterprise BI - the people who need to understand what's going on inside the data processing systems are hampered by their tools. SQL query tools are by their very nature low level mechanisms ill suited for the higher level cognitive activities involved in data analysis. This isn't to say that SQL query tools don't have their place—they do, but it's not as the primary tool for understanding bodies of data, and assessing them in terms of expectations and realities. That's what Tableau was designed for, and does so exquisitely well.

Here's a link to a diagram showing how Tableau fits into a typical enterprise BI project. It's too large to fit into a web page, much less a blog post. But you should look at it, preferably at poster size.

The diagram includes the Business View from above (which was really extracted from the main diagram), connecting that perspective to everything behind the curtain that's out of the business person' sight (or should be). When used effectively Tableau, can be used by everyone to help them understand their data, as shown in the shaded areas in the diagram.

Used in this way Tableau provides the opportunity to introduce enormous benefits and gains in the conduct of those processes. Since the entire process chain is at heart a series of data processing stages, Tableau's ability to instantly, flexibly, and effectively analyze any and all of the data means that the internal project people can lift their efforts above writing SQL queries or looking at table-based tools to the realm of Tableau's visual analytical approach. It's not unreasonable to expect that by using Tableau effectively enterprise BI projects can be delivered successfully, with greater value and stakeholder satisfaction, in 40% of the time, at about the same fraction of cost, as projects conducted in the traditional manner.

Tableau isn't a silver bullet.

Tableau provides the opportunity to improve the conduct of enterprise BI projects. It doesn't guarantee results. The effectiveness of any project rlies upon the skill and effort of the people involved. All Tableau does is provide the means whereby enterprise BI projects can be directed towards delivering what the business stakeholders want and avoid working on anything they doesn't contribute to that effort, while removing the internal data analytical barriers that can impede progress.

Whether, when, and how Tableau actually replaces data warehouses and enterprise BI for the delivery of valuable business information are questions undergoing vigorous debate. There are no clear lines segregating the realms—the boundaries are and will remain flexible. We'll cover at least some of this territory in future posts.