Advertisement

02.08.2008 at 02:09AM PST, ID: 23147279
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

People who use OLAP - how much should they know?

Hi all,

Previously I was a VB programmer and as such generally tried to program so the user couldn't break it.

I have noticed that creating OLAP cubes seems to throw up a few instances where the user can crash Excel, create reports that take ages to run or return data that doesn't make sence.

Am I supposed to be making it so this doesn't happen or is this an accepted point in OLAP and people should know enough not to make it happen?  As i'm really struggling to make my cube so none of that happens.

Examples:
I have  2 fact tables.  If I bring in a measure from fact 2 and dims from fact 1, the dims get listed and the measure values are split accordingly.
If I bring in a measure from fact 1 and a dim from fact 2, the measure has the same value for every single one of the dim members. i.e.
Issue Type    Number of subscribers.
FREE      1944424
OTHER      1944424
PAID      1944424
A subscriber does not have an issue type!  Therefore it isn't relevant.  Should the user know this and therefore I don't have to code round it.  Or should I be making it show blanks if irrelevant or something?

I have a Dimension with 207000 members.  If the user filters on the member in the filters its fine.  If the user tries to filter on a dimension in the Row Labels Excel crashes.
Should the user know that you cant filter on a 207000 member dimension in that way or should it not be crashing?

If the user tries to display measures for all campaigns split out by country it will take ages to run.  Should it? From an SQL user point of view, trying to count 207000 campaigns split by 289 countries should take ages and the user should either expect it or not really want to do that kind of count.  Is it accepted to create a cube with calculations that take ages or should everything in the cube be quick?

My final question being; should a user know they can do things to make it crash/take ages or is their horror/disappointment when excel locks up and bombs out or takes ages valid and it should not be doing that?

Regards,
Kinton
Start your free trial to view this solution
Question Stats
Zone: Database
Question Asked By: kinton
Solution Provided By: PFrog
Participating Experts: 1
Solution Grade: A
Views: 0
Translate:
Loading Advertisement...
02.08.2008 at 02:31AM PST, ID: 20849020

Rank: Wizard

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.08.2008 at 02:56AM PST, ID: 20849101

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
02.08.2008 at 02:31AM PST, ID: 20849020

Rank: Wizard

This really depend on who's going to be using it.
If it is used as a technical tool by a few people who know what they're doing, then you can afford to leave stuff up to the user.
It sounds like your system will be used by non-techy users who don't really know what they're doing, in which case you have two options:
  1) Build in as many safeguards as you can
  2) listen to the users slate you and your cube because the darn thing gives rubbish data
!!!

However, there are some things that you just can't cope with. Such as
If the user selects 207000 individual members to search on, it will cause problems - but you try running a SQL query will 207000 where clauses... I'm guessing you'll get a similar experience. The only trick here is to limit the user's access to such large attributes. Can you add a hierarchy so that they see smaller, more manageable lists? Or remove this option entirely from their perspective.

Regarding the measure from 1 and attribute from 2, you can protect against this if you want by using calculated members. Rename your "Subscribers" measure to "Subscribers_" and make it invisible. Then create a calculated member "Subscribers" that checks whether any appropriate dimensions have been selected, and return 0 if they haven't. i.e.
  iif([dim].[att].CurrentMember=[dim].[att].[All], 0, [Measure].[Subscribers_])
which will only show the number of subscribers if [dim].[att] is included in the rows or columns of the query

I suppose the best way of thinking about it is that you could try and train your users to use it properly, however the more time and effort you put in now to make it foolproof, the less you're going to have to deal with fools using it in the future!

Please shout it you want me to elaborate on anything...
Accepted Solution
 
02.08.2008 at 02:56AM PST, ID: 20849101
Thanks PFrog.

You are right, we have people who are practically computer illiterate (by that I mean sales people or account executives as they now like to be know :) ) using it (not all of them, but thats the extreme).

I have broken the 207000 into slightly shorter lists but for some reason if I filter on it, it crashes (see other post http://www.experts-exchange.com/Database/OLAP/Q_23147246.html)  I mentioned that its broken down by first letter, but its also broken down by last years campaigns, this years and a few others like it, so once i've fixed my filtering problem I guess thats just a case of the user knowing not to be an idiot.

The thing with the measures could be useful, though i'll have to look into that.  Theres 29 dimensions relevant to the subsctiptions fact and currently 3 relevant to issues fact.  However I know we're supposed to be adding in another fact table at some point so I may have to leave that one until everything is in.
I think the Adventure works cube has the same "problem" so I guess its normal practice.

At the moment I have more problems with product expectation than I do with the technical side of it.  People have an expectation of how long a cube query should take to run and they have an expectation of what a cube should and shouldn't be able to do.  They don't seem to have anything to back up their expectations and I dont have anything to prove or disprove them.  I think the bods at microsoft need to make a few more than the Adventure works one, specially ones that we don't necessarily have background access to i.e. make a load and host them theirselves then make the https path to msmdpump.dll available so we can connect to them and see what should and shouldnt happen, and people who will use our cubes can do the same.

Thanks for your help again PFrog

Regards,
Kinton
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628