The Wayback Machine - https://web.archive.org/web/20111016093757/http://www.databasejournal.com/features/mssql/article.php/3468821/MDX-Essentials-The-CROSSJOIN-Function--Breaking-Bottlenecks.htm

Free Newsletters:
DatabaseDaily  
Database Journal Search Database Journal:
 
MS SQL Oracle DB2 Access MySQL PostgreSQL Sybase PHP SQL Etc SQL Scripts & Samples Links Database Forum DBA Videos
internet.com

» Database Journal Home
» DBA Videos
» Database Articles
» Database Tutorials
MS SQL
Oracle
DB2
MS Access
MySQL
» RESOURCES
Database Tools
SQL Scripts & Samples
Links
» Database Forum
» DBA Jobs
» Sitemap

News Via RSS Feed


follow us on Twitter




internet.commerce
Be a Commerce Partner



Brocade Doubles Down on 16 Gbps Fibre Channel

Microsoft Wants iOS Apps to Run on WP7

Avaya Debuts New Virtual Services Switch

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


Database Journal |DBA Support |SQLCourse |SQLCourse2







Technical Specialist – Pre-sales (MA)
Next Step Systems
US-MA-Littleton

Justtechjobs.com Post A Job | Post A Resume

Featured Database Articles

MS SQL

February 7, 2005

MDX Essentials: The CROSSJOIN() Function: Breaking Bottlenecks

By William Pearson

About the Series ...

This article is a member of the series, MDX Essentials. The series is designed to provide hands-on application of the fundamentals of the Multidimensional Expressions (MDX) language, with each tutorial progressively adding features designed to meet specific real-world needs.

For more information about the series in general, as well as the software and systems requirements for getting the most out of the lessons included, please see my first article, MDX at First Glance: Introduction to MDX Essentials.

Note: Service Pack 3 updates are assumed for MSSQL Server 2000, MSSQL Server 2000 Analysis Services, and the related Books Online and Samples.

Overview

In this article, we will return to a function we introduced in an earlier article, CROSSJOIN(), whose mission it is to combine two sets of dimension members into one. We will discuss how CROSSJOIN() works in general, and then discuss how its performance can become an issue in medium to large-sized data sets. We will then undertake a multiple-step practice example intended to assist us in gaining an understanding of the issues, before exposing approaches to minimizing the performance overhead that we can encounter in using CROSSJOIN() to reach our reporting and analysis needs.

To accomplish this objective, we will undertake the following steps in this article:

  • Create a copy of the Warehouse sample cube for use in our practice exercise;
  • Prepare the cube further by processing;
  • Discuss the operation of the CROSSJOIN() function, and factors that may make its use suboptimal in our queries;
  • Enhance a suboptimal query employing a CROSSJOIN() function by substituting NONEMPTYCROSSJOIN();
  • Provide further enhancement by leveraging the set count parameter in the NONEMPTYCROSSJOIN() function;
  • Explain the results we obtain from the steps we take to accomplish the solution.

Tools:
Add databasejournal.com to your favorites
Add databasejournal.com to your browser search box
IE 7 | Firefox 2.0 | Firefox 1.5.x
Receive news via our XML/RSS feed

MS SQL Archives

Comment and Contribute

 

 



Latest Forum Threads
MS SQL Forum
Topic By Replies Updated
Oracle - Dynamic Trigger santhya 3 October 7th, 04:47 AM
Dynamic SQL inet 2 September 28th, 04:13 AM
Need to shrink database after drop-ing big table laserovic 3 September 23rd, 07:41 AM
Database mail setup using gmail smtp yogesphu 3 August 2nd, 09:02 AM