Steve's profileSteve's spacePhotosBlogLists Tools Help

Blog


    June 25

    ADOMD.NET: Could not load file or assembly Microsoft.AnalysisServices.AdomdClient

    If you are developing a .NET/ASP.net solution using ADOMD.NET locally, and everything works great, and you go to release to a production server and end up with this error:

    Could not load file or assembly ‘Microsoft.AnalysisServices.AdomdClient, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91′ or one of its dependencies. The system cannot find the file specified.

    You need to install the “Feature Pack for Microsoft SQL Server 2005” which you can find here: http://www.microsoft.com/downloads/details.aspx?FamilyID=50b97994-8453-4998-8226-fa42ec403d17&DisplayLang=en

    Microsoft BI: Creating Local OLAP Cubes using XMLA and ascmd.exe

    Most people, when using OLAP cubes, are hitting the live version that is located on SQL Server Analysis Services (SSAS). They hit it with Excel, or some other reporting tool, etc. I have blogged previously about offline cubes and how you could possibly use them.

    Now, the blog I did before, I talked about creating them with Excel, and that works great for end users. But what about automating the process? What about filtering dimension members, or measure groups, etc?  Now that you can use the Panorama Gadget for Google Apps/iGoogle (http://google-pivot-tables.blogspot.com/2008/04/panorama-analytics-gadget-for-google.html) you can upload .cub files and do BI in the cloud, how cool is that!

    506479481_683e31e6db

    Well, one option is purchase CubeSlice – http://www.localcubetask.com/  and use that to create your .cub files. CubeSlice works great, and is a good option if you want something with a ton of options and ease of use.

    You can also create .cub’s using CREATE GLOBAL CUBE syntax in MDX, and you can also use XMLA to create a .cub. Options galore! Chris Webb blogged a few years about about using XMLA to create .cub’s here – http://cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!877.entry  He was using the MDX Sample App (I believe that comes with SQL 2000?)

    What I was looking for was an easy way to us GLOBAL CUBE or XMLA and automate it, CubeSlice is nice, but there has to be a way to replicate (at least in a basic way) what they are doing. Thinking about XMLA – as to me it seems more powerful, that was the route I chose. I didn’t want to install the MX Sample App from SQL2K, and what Chris Webb says in his blog, and other things I read, basically the problem with using XMLA to create you .cub in SQL Server Management Studio is that you can’t specify a connection string, you have to connect to an SSAS instance. Using the MDX Sample App, you can specify a local file, and then run the XMLA and it will create the .cub file. So I just need to replicate that. 

    I have also blogged about using ascmd.exe here . ascmd comes with the SSAS Samples with SQL 2005 (usually located here: C:\Program Files\Microsoft SQL Server\90\Samples\Analysis Services\Administrator\ascmd) . You just need to compile it and you can use it to execute XMLA. So I decided to try that. I created an XMLA file to create my cube, and then executed it with ascmd.exe

    ascmd -S c:\MyOfflineCube.cub -i c:\MyOfflineCube.xmla

    In seconds, you have an offline cube. Now, in your XMLA you can have filters, etc. You could create an XMLA file that has some kind of variable, and you could create a replace task to replace that with what you wanted filtered, think maybe based on location, or employee, etc, and then kick out personal cubes for users, etc.

    One thing I didn’t really get into is how to get your XMLA script. You could figure it out for yourself, but I actually just used CubeSlice for this example. You can create an offline cube with CubeSlice and actually see the XMLA code and use that. Maybe creating the XMLA script manually/yourself would be good info for another blog post :)

    June 21

    Ob-La-Di, Ob-La-Da, Playing around on the Piano This Morning..

    Ob – La – Di, Ob – La – Da by Steve Novoselac  
    Download now or listen on posterous
    Always wanted to learn this. Few screw ups, but I just started learning this about 2 hours ago. No vocals, maybe do one with some time in the future. With the syncopated left hand and the reggae right hand, and keeping the lyrics and where are you are straight is like skipping on one foot, sending an sms message, and brushing your teeth all at the same time. Life goes on… :) Happy Fathers Day all dads out there.

    Posted via email from scaleovenstove’s posterous


    June 19

    5 Years Ago Today...

    Wow, two “X years Ago Today” this week..

    5 Years ago today, I started this blog. June 19th 2004. I wish I would have started earlier. I was addicted to reading them (like crack) from like 2001-2003, and finally bit the bullet and started one in 2004. First on Blogger, then moved to WordPress (wow I jacked my SEO on that one), but then a few hosting providers later, even my own server, and here I am. Media Temple is my current hosting and I have never been happier with a hosting provider.

    I do need a new theme, I wish someone would help me out! I would even pay – 50 bucks? Who wants to? I did add the “ads” about a year or so ago, and surprisingly it brings in decent money, not huge $$ but enough to pay for hosting for the year for sure.

    I love blogging, I love my blog too. Why? Because it’s mine. I can blog about whatever, and it’s mine. It has been with me through 7 apartments, 3 girlfriends, 5 cities, 5 computers, 4 OS’s, 1 baby, 5 jobs, and much more. It’s always there.

    People say “blogging is dead” and I don’t agree. Blogging may be dead, for the lazy. I can “tweet all day” but if I have something to really say, or put out there and think through and share, the blog is the place. I see so many A-list bloggers just let their blogs die because of Twitter/FriendFeed. For Shame. Don’t you have anything share that is longer than 140 characters? Come on.

    Anyways, this blog will be around for a while, looking back I just wish I would have blogged more. Make it a ritual. Share knowledge. Share with the community (does that make me a communist? oh noes!) Have fun!

    Thinking back 5 years ago, I can’t even remember much of what I was doing. in St. Cloud, MN. Working for St. Cloud Wireless Holdings. Doing ASP Classic/SQL 2000. Reading blogs with RSS Bandit and other tools. Using a PPC 6601 as a phone. Driving a Chevy Silverado 1500. Had a 1 bedroom apt, bachelor pad. Was starting to play guitar again. Never thought I would be where I am right now, never. And 5 years from now, I bet I will say the same thing :)

    Happy Blogging! :)



    iTunes DJ - iPhone, Remote App - Party!

    Not sure when this came about, but I just realized that there is an “iTunes DJ” in iTunes now. It obviously lets you just play a random selection it picks. But what I didn’t know, is allowing anyone on your wifi network to connect with their iPhone and the Remote App. Once you connect with the Remote app, you can browse the library, and request a song. Multiple people can request a song, and vote it up. Totally awesome!!



    I also pump out the output from my MacBook to the MacBook and AppleTV through iTunes so I get total surround sound.


    So the Apple Remote app, iPhone, iTunes DJ = ultimate geek iPhone party! Who’s game?



    June 16

    Bookmark Bar - Uber Micro Sharing

    I use pretty much every browser. I switch between them depending on mood, system I am on, phase of the moon, etc. But there are some essential “bookmarklets” that I always want to use/set up.



    There are a few things I wish I could tweak though. Like with Yammer, the ability to choose a group before it hits the page. Also with the Yammer bookmarklet there is about a 50/50 chance the URL/title wont come through so you have to do it manually.

    With the Gmail This one, on Safari, it opens in a tab instead of a popup, and loading Gmail is kind of slow (IMHO) when you want to just write a mail from out of no where.

    What bookmarklets do you use? Are you a share-a-holic?



    June 15

    One Year Ago Today...

    One Year Ago Today, I bought my MacBook Pro. And guess what? It is still running, on the original config, original boot, no reformatting, no repaving, no major surgery, nothing. And it still runs great. I have a ton of apps installed, but just enough, just what I need.

    What is funny though, is that using VMWare Fusion, I have reformatted or redone my Windows VM’s multiple times because of issues. Is that just how things are? I think so.

    This is probably the longest time EVER that I have had a machine without reformatting it. I think back when I was eleven years old, like 1991, reformatting our 386 25Mhz Packard Bell every 6 or so months with Windows 3.11

    I have to say, the MacBook Pro is an awesome machine. Every time I use it, I wish I could just run a Windows VM for work on it, off a USB drive, just take it back and forth, and that is one less physical machine I would have to worry about.. someday..

    What is the longest you have went without reformatting, voluntary or involuntary?


    Photo Courtesy of Alistair Israel



    June 10

    New Bike, iPhone, RunKeeper

    Since working at Trek, I have been hounded to get a new bike, even more so than by my friends in Portland when I lived there, and EVERYONE has like 5 bikes there.

    So, I finally decided to pick up a new bike, a Trek 7.2 FX, Newport Blue, 22.5 inch. It’s a Hybrid - not a road bike, not a MTB, but somewhere in between.

    Some pictures are here, of the bike building process, because when you work at a bike company, you take 25 minutes of out of the day to build a bike.



    http://www.flickr.com/photos/scaleovenstove/sets/72157619164047726/

    So after getting my bike, I had to get some more gear. The usual, helmet, lights, pump, bag, tools, all that stuff. Most other people will get a “computer” for their bike, a little electronic device to track speed, etc. Guess what? I already had one, it is called an iPhone (what doesn’t the iPhone do.. “there’s an app for that”.. is true.)

    I jumped on Amazon and looked for a good armband for the iPhone 3G, with good reviews. This is the one I ended up with

    So what other parts are there to this equation? The app of course. RunKeeper Pro. (http://www.runkeeper.com) It lets you set your activity type, you start the music before you start RunKeeper, lock the GPS on, and start your activity. You can “lock” the screen so you dont bump it, and then tap it to get pace/speed info. It will also tell you every 5 minutes and/or every mile what your speed/pace is. Once you are done with your activity, you upload it to their site. It maps it out, elevation, speed, nice google map interface. Aggregates miles over weeks/months, and lets you share with your friends.

    Here was a ride I did the other day, http://www.runkeeper.com/ui/activities/1000402


    RunKeeper really keeps you motivated. I haven’t used Nike+, but I am guessing it is pretty similar. But Nike+ doesn’t work on the iPhone, just iPod Touch.

    I really like my bike, there was a Gary Fisher I had my eye on though, so maybe that will be my next bike. Using my iPhone and RunKeeper, I can keep track of my rides, miles, and share with my friends (which kind of helps you stay motivated too). Fun Stuff - Go By BIke!



    June 07

    Pen Tablet Blog Post

    Today, I picked up a Bamboo Fun Pen tablet by Wacom.

    image

    As you can see, I wrote this post using nothing but the tablet, pretty sweet!

    June 04

    Microsoft Business Intelligence Development in a Team Environment

    Today I received an email asking to some extent best practices on development with SQL Server Integration Studio (SSIS) and Business Intelligence Developer Studio (BIDS) in a team environment. Here is part of the email:

    Me and another DBA belong to the same team, we have a SQL server with SSIS running. We use the SSIS transfer data among multiple data sources. In SQL 2000 DTS, both of us can save the package on the server and open/edit it in the enterprise manager. In SQL 2005, I can see the package on server, but can’t open it directly. We came out a solution: create a shared folder on the server called ‘SSIS Projects’, both of us can access to it. We run the ‘SQL Server Business Intelligence Development Studio’ on local PC, to open the project in that shared folder. When done with the change, save the package to the SSIS server. Now, we have more than 50 packages in a project. Problem is: it’s very slow when open a project, ‘Business Intelligence Development Studio’ tends to open/verify every single package inside a project, takes up to 10 mins and getting worse. We really miss the SQL 2000 DTS, but we have to turn to SQL 2005.

    1. Are we doing the right thing? Is there any better solution for SSIS developing in a team environment?

    2. When open a project, does ‘Business Intelligence Development Studio’ has to open/verify every package?

     

    This got me thinking, and I figured instead of write an email back, it would be good info for a blog post. So here is what I think and some things I have done that have worked.

    First, yes, SQL 2000 DTS allows you to just edit on the server, do more than SSIS, is just way better than SSIS. Wait, what? Well, yeah some people will say that, because it does one thing that might be a little rigmarole in SSIS, but no, SQL 2000 DTS is not better than SSIS, just wanted to clear that up.

    So, the is meant to be a starting point, by no means all encompassing, and as always, YMMV.

    One thing that I first thought about is this: Yeah, if BI devs and SQL devs have never really worked in a team environment, developing software, how would they know what to do, or best practices? They would just go about “making it work” until everything breaks or who know what.


     

    So how to develop Microsoft Business Intelligence Solutions in a team environment?

     

    1) Standardize on Versions

     

    First, figure out what “versions” you are going to support, and what you are going to use, and get standardized on them. I am guessing majority of BI devs right now are on the 2005 stack. Yeah, there is still probably a bit of 2000 legacy stuff out there, and some people are now getting into the 2008 stuff, but 2005 is pretty much the norm from what I see, at least at this point.

    So, 2005. Get all your dev’s on 2005 on their machine – same patch level, etc. Get BIDS up to the same level. Get BIDS helper installed everywhere. Strive to get all your ETL packages in SSIS 2005, get all your cubes to SSAS 2005, etc, etc. Come to a consensus on things like config files for SSIS, naming conventions, within your development and on disk – folder structure is key! With a smaller number of versions of things floating around, it makes it easy for anyone on the team to open up a solution and start hammering away without tons of setup.


    2) Get Source Control

     

    This is crucial! I have talked about source control in the past, and also about some that aren’t so great. Really it doesn’t matter what you use, I prefer SVN. I install Tortoise SVN, SVN proper (to do scripting etc if I need to using cmd line) and also purchase Visual SVN, an add on to Visual Studio that integrates with SVN. for 50 bucks you have your source control system. Visual Source Safe works but is outdated, honestly I hate it. Team Foundation Server is good, but expensive. Other solutions might be using something like GIT, etc. Whatever you do, just get a source control system going, and learn it well. Learn how to create repos, commit, update, revert, merge, etc. Set up a user for each BI dev and make sure they commit often, and make sure they leave comments in the source control log when they commit, history is your lifeline to go back to something if you need to! Note: exclude .suo, bin, obj directories, .user files, etc. Anything that changes every time you build, open, etc, you want to exclude from source control.

     

    3) Development Box

     

    You now have your version standardized, and your source control setup. You can get most of your work done on your machine, but you need somewhere to test deployments, run scenarios, etc, etc. Make sure you have a comparable box to your production server. Set it up the same, same software etc. Make sure its backed up. Let all the devs know its a dev box, it can be wiped at any time for any reason if need be. It can be rebooted 5 times a day if need be. Its a dev box! But you can test and develop and tweak and change settings to your hearts content and not have to worry about breaking Mr. Executives reports.

     

    4) Developing, Merging, Committing, Collaborating, Communicating.

    So now you have your setup, well.. setup. Start creating stuff. SSIS Packages, ETL’s, SSAS Cubes, SSRS Reports, the whole MSFT BI Solution. This is where stuff can start to get tricky in a team environment though. SSIS/SSAS/SSRS isn’t as clean cut as something like C#/VB.NET, etc. Everything is in some form of XML behind the scenes, and with graphical based editing, you can move stuff around and it changes the files. Things like that are going to be your enemy. This is why you need to collaborate and communicate. Usually one person should be working on one project at a time. You can get really good at communicating and then in SSIS at least have multiple people working on different packages. Also in SSAS dimension editing and stuff can be done by multiple people at the same time as long as the dim is already hooked up to the cube. But you want to make sure that you communicate, “Hey, I am checking this in, you might want to do an update”, or “Is anyone working on this or are they going to? I want to modify something, and I will check it in so you all can see it”

    You want to make sure you have your folder structure, and solution/project structure set up well. C:\Projects  ..  and then maybe a folder for each major project “CompanySales” and under that, “ETL”, “Cube”, “Reports” and have a solution under each with 1 project of each type. You can also have a generic SSRS solution with many projects, which might work well for you. In any case, just come up with a standard and stick to it. Trust me it will make your life easier. The question from the email above, it sounds like they have every package in one solution, one project. Sounds like it needs to be split, multiple solutions, multiple projects.

     

    5) Deployment Scenarios and Strategies

    Now that you have everything developed, tested, checked in, what do you do?

    Personally for SSIS I like xcopy deployments. One folder on the server, not on the C drive, but another drive, lets say “E:\SSIS” under that a folder for each project. Put your dtsx and configs in the same folder. 99% of the time you are going to call the dtsx from a SQL Agent Job, and most likely you are going to run into a scenario where you need uber rights to execute it, so learn how to create a proxy/credential in SQL security so you can run the step as that. Once you have this folder and subfolders setup, you can use something like Beyond Compare to compare the folder on the server to the one you have locally that matches. Remember to copy files from the bin directory of your project after you build it, not the files directly on your project. As far as BIDS validating every package, there are workarounds out there you can do, here is one.

    For SSAS, I try to lean towards using the Deployment Wizard that comes with SQL Server. You can use BIDS deployment, but if you start doing anything advanced with roles, partitions, etc, you are going to run into trouble. Take control and use the deployment wizard. I usually like to deploy, and then process manually when developing. And then later use SQL Agent or and SSIS package to actually do processing when it comes to a scheduled processing.

    SSRS, I have become used to the auto deployment from Visual Studio. To really do this though, you need a project for every folder in SSRS, which can become a pain. You can always just upload the .RDL file and connection and do it manually, but if you start off right with using the deployment from BIDS, it can make your life easier.

     

    So that is just a 10 minute overview of everything to kind of get started. Everything depends on your infrastructure and the way your team is setup, etc. But I think the biggest thing to take from all of the above is to standardize on things. If you standardize on as much as possible, SQL versions, setup of machines, naming conventions, layouts, design patterns, etc, everyone can do things faster and pretty soon it will start running like a well oiled machine!

    May 19

    Early Arriving Facts, Late Arriving Dimensions, Inferred Dimensions

    Most ETL systems (at least that I have seen/studied/worked on) that populate data warehouses run something like

     

    1) Load Dims

    a) populate an unknown

    b) populate dim data

    2) Load Facts

    a) join/lookup to dim’s, and if no match, set as “unknown” dimension record

    3) Process Cube

     

    This type of system works in many cases, but there are some flaws that bubble up over time. First, unless you reload your fact table, or update your unknown dimension keys on your fact, you could end up with unknowns, that will be unknowns forever. The system described above also means you need to run it in that order. Dims first, Facts second.

    1155499_the_blends__4

    Early Arriving Facts/Late Arriving Dimension – If you are an optimist, we have the fact data before we have the dimension data. Or, if you are a pessimist, we don’t have the dimension data when we load the fact. You choose, but in either scenario, we have data missing somewhere.

    Like I mentioned earlier, many systems will just set the early arriving fact as “unknown” and set it to a unknown dimension key (usually –1) in the fact table. Some people might just ignore the fact record completely. You probably don’t want to do that.

    But what if we have the “business” key in our fact data select. What can we do with that?

    One option is to modify your dimension data select to UNION in all the distinct business keys from your fact data that aren’t in your dimension data. This works in a small data set. If you fact table is 500 million rows, you won’t like the performance of this option.

    Another option we can use is the idea of an inferred dimension. As you load your fact table data (preferably through SSIS) you do a lookup to your dimension. If you have a match, cool, take that key and move on. If you don’t have a match, instead of setting the key to –1 (unknown), do this:

    1) Insert a new dimension record with your business key from your fact table

    2) Grab the newly created dimension key from the record you just inserted

    3) Merge the key back into your fact data pipeline.

    Awesome. Now, sometime in the future, your Dimension process can come through, and if you are doing Slowly Changing Dim’s, it should just update your inferred dimension records with data. If your inferred dimension records are some one offs that might never get updated, you might be able to get someone to manually update them through some interface, or whatever, in any event you aren’t stuck with tons of fact records that are set to –1/unknown.

    Of course, the method above works best using SSIS, with a “Get Data -> Lookup Pattern –> Insert” method.

    Happy ETL’ing!

    May 05

    Using Windows Performance Toolkit to find System Issues in Vista/Win2k8/Win7

    Windows 7 RC1 just came out. I am a TechNet subscriber, so I wanted to try it out. I have an old (2005) Dell desktop, 2.8 GHz, 2 GB ram, 160 GB drive box. 3.7 rating for Vista (because of the Graphics card mostly, would be 4.4 otherwise – not too bad, even for being kind of an old box). It has been sitting in the basement since I moved into my new place in October, doing nothing really. I use Mac full time at home, so it just sits.

    A few times I have tried to get Windows Vista running smooth on it, Media Center, or just a file server,etc. Thing is, it was just flaking out. I knew it was a hardware issue, but figured it might be the CPU fan, or overheating, etc. Vista installed fine, but as I was using it, I would see just hang-ups, lockups. Not BSOD’s, but it would just hang, for 30 seconds, 1 minute, and then come back. WTF?

    Nothing in the Reliability monitor, nothing I could see in event logs, etc. I rebooted, did Windows Memory test, nothing there. If you go into Computer Management, you will see Performance, then Data Collector Sets and Reports, Monitoring Tools. You can set it up to run a test on metrics of your system and it will give you a report

    image

    I did this, and everything was ok. BUT… Avg Disk Length Queue was > 2 – red flag. Disk issues. But I wanted to know more. So I started digging around, and there is a Windows Performance Toolkit you can download. Here is another good site going into detail about the WPT.

    So I fire up cmd line (as admin! – start->run, cmd ctrl+shift+enter), and run

    xperf -providers K

    to see what providers are available for the Kernel flags. IOTrace looks like something I want, so I then run

    xperf -on IOTrace

    and let it run. I go and open/close things, play around, see if I can replicate the issue. Once I feel I have, I want to stop and analyze the trace. You need to stop it and output to a file using this command:

    xperf -d iotrace.etl

    Side note: Files are named ETL. Coming from a BI background, this makes my world explode, since it has nothing to do with Extract, Transform, and Load

    Now that my trace is done, time to analyze:

    xperfview iotrace.etl

    And you get some awesome stats like this:
    image

    Although I didn’t save my stats from my tests that showed the bad IO, what I saw were just gaps in the graphs, glitches in The Matrix. Time missing. Something is really bad here. So I did the drive error checking in Vista:

    image

    And when that ran, after reboot, it got to 11% and croaked. Bad drive. So I went and bought a new 500 GB SATA drive and loaded it up, and I am running Windows 7 now. Pretty sweet.

    After all this fun spelunking into Windows performance, it also got me thinking about things, like running these detailed traces on SQL Server boxes or other servers on intervals, and saving them somehow, reporting on the data. The IOTrace is just one of hundreds of traces, that you can then auto analyze. I know that there are perfmon tools but there are some added benefits to xperf that you can you utilize, and I am glad I learned more about it and put it to use, just another tool for the sysadmin tool belt.

    April 20

    OLAP PivotTable Extensions on CodePlex

    This weekend, I ran across this on CodePlex - OLAP PivotTable Extensions which got me thinking back to a post by the Excel blog about adding calculated measures and named sets in VBA (which is another blog post completely)

    From CodePlex:

    OLAP PivotTable Extensions is an Excel 2007 add-in which extends the functionality of PivotTables on Analysis Services cubes. The Excel 2007 API has certain PivotTable functionality which is not exposed in the UI. OLAP PivotTable Extensions provides an interface for some of this functionality.

    What an awesome tool. I have been playing with it for a couple days and I have turned on some of the “power” users of the OLAP cubes to it as well. The first thing I thought of when running across this was “Woah, ok, when business users request calculated measures that might be more obscure, or just specific to them, they can add them! We don’t have to do a special release, maybe not even a release at al!”

    The uses for this tool could be pretty extensive. You can import and export calculation libraries, you can also see the MDX that Excel is producing, which is another plus (I know there are other ways to get it, but this tool makes it easy!) - With the MDX you can just copy it and run it in SSMS to see the results there. You can see how Excel is doing things behind the scenes with your result set to make it look nice.

    Another sweet feature, if you have a cube with tons of attributes, there is a search tab to search for the attributes you want.

    I haven’t seen any issues yet. One user had to install the Visual Studio 2005 Tools for Office Second Edition Runtime which the CodePlex site says is required, so no big deal.

    If you have tons of users using OLAP Cubes with Excel 2007, take a look at this free open source tool on CodePlex, you probably will get some good mileage out of it. I think Microsoft should put these features in the next version of Office!



    April 18

    Using Offline OLAP to Develop Cube Reports Without SSAS

    One feature of Excel 2007 that I think is really cool, and also a little hidden, is the “Offline OLAP” feature.

    If you insert a pivot table connected to an OLAP cube into Excel 2007, and go to the PivotTable Options Ribbon Menu, You will see the “OLAP Tools” Button. Click on that and then “Offline OLAP”.

    image

    Once you go through the Offline OLAP Wizard, it will create a .cub file for you. What this ends up being is a local disconnected “cube” you can analyze in Excel, if you are on the plane, or in some remote area with no internet connection.

    Other uses for the offline .cub files that I have found is this. Let’s say you want developers to develop Web based reports using .NET, maybe using the Dundas OLAP Services controls. If you don’t want to have to load SSAS or set them up to connect to any server so they can just develop locally, the .cub file is the way to go. In their .NET code, they can just change the connection string to point to the local .cub file, and then later when you are ready to go live, you can just change the connection string to the live cube. That way, if you are developing the cube at the same time reports are being developed, you don’t have to worry about uptime, etc. Just send them an updated .cub file every once in a while.

    I don’t know much about the details for upcoming releases, like Microsoft Project Gemini, but I have a feeling that it might feel a bit like this, using Offline OLAP, or local analysis.

    On a final note, if you really want to get geeky, you can actually create the .cub files from .NET, but that is another blog post :)

    April 04

    Book Review: The Cult of the Amateur by Andrew Keen

    Recently, Amazon released their Kindle application for the iPhone. Since I don’t have a Kindle (but I want one!) I figured this would be the next best thing. They have this technology in the app called WhisperSync which sync’s up the page you are reading, so if you do have a Kindle, you can switch between that and the iPhone app and pick right up where you left off.

    I have had the Kindle app for a few weeks now, but have just read samples on it (you can send samples of books from the Amazon site to your iPhone). Now, whenever I hear of some book that might sound interesting, I will note it in the iPhone, and then later go to Amazon and check it out. One of these books I heard about recently was “The Cult of the Amateur: How Today’s Internet is Killing Our Culture” by Andrew Keen


    I heard Mr. Keen on an NPR program talking about his book, and it piqued my interest. First off, let me say that reading the book on the Kindle iPhone app rocks. I read this book in like 3 days just reading it here and there when I had some free time, just pulled up the iPhone and started reading, very slick.

    Now, about the book. He goes into detail about how Wikipedia, Illegal movie and music downloads, blogs, YouTube, Google, User Generated Content, remixes, mashups, etc, and everything Web 2.0 (and even Web 1.0 - in my opinion sometimes he just blur’s the distinction) is killing our minds, and media, and jobs, and culture, and everything else.

    I got the feeling while reading this, imagining an author back around the time cars started to get popular, but horses were still on the roads, where the author is complaining about autos and transportation using them, arguing we need to save horses as the method for transport.

    If newspapers, local tv news, magazine, artists, etc don’t want to keep up with changing technology, then in my eyes they almost deserve to fail. He refers to Beethoven and Mozart and how they would never use the methods today to distribute their works, etc. It seems that there is this same arguement over and over. I can just see/hear it: “Sheet Music is killing the ability to play by ear!”.. “Radio is killing Sheet Music!”.. “Vinyl Albums are Killing Radio”.. “8 Tracks are killing Vinyl” (ok, I am joking on that one).. “Cassettes and CD’s will kill Vinyl”… “Mp3’s are going to kill CD’s!”..

    Wait up. The part I didn’t add on all those quotes was this . ” and the artists suffer”, yet the artists always continue to survive. Its the fat cats, the middlemen who end up losing out. The publishers and then go betweens that need to change their models and they just don’t adapt to change fast enough, or do they want to change. It seems that they just want it how it is right now, and everything will be fine, and I guess I disagree.

    Wikipedia, YouTube, all the mashups - they release creativity. What you as a user of these services need to realize is that you need to take everything at face value. You shouldn’t take Wikipedia as gospel, it is up to you to know that. Most people don’t do that though, and thats the problem. Instead of blaming the services and the content, how about we look at ourselves?

    Ok, I could keep ranting on every part of this book in the same manner, but I will stop. It is a good read, gives another perspective of the “Web 2.0 Revolution” (as I roll my eyes - it isn’t a revolution at all, its an evolution - things will always change).

    In the end ,it just seems as the old media and the old ways of doing things are trying to cling on to anything they can to try to make it stay the way it was, but that just isn’t going to happen. With everything, you CHOOSE to be a part of it or not. You don’t need to use Google, or the internet or anything, and you will be just fine, but if you do choose, then you play by the rules (or non-rules) of the net, plain and simple.

    So, if you do have an iPhone, I would gladly recommend checking out the Kindle app from Amazon and start reading some more books (And if you have a Kindle as well, even better!)




    March 29

    Twitter or Yammer?

    Recently I have been using Yammer more often than Twitter, but they both have their place. You probably know what Twitter is as it has been going mainstream like crazy the last month or two. Yammer on the other hand is less known. Yammer is sort of like Twitter, but just for your organization.

    What Yammer brings, besides being just internal to your place of work, are other enhancements. Groups, for one, is huge. I can create a group say for “Microsoft SQL Server”, and anyone on Yammer in my place of work can join that group and share, discuss, and consume anything from that group. Instead of me sending out emails from articles and tips, people can just subscribe to them.

    Also, departments can create groups , private groups, to have discussions just within their dept.

    Yammer also has an iPhone app, and a Adobe Air Desktop App (I think I heard TweetDeck integration soon if not already), and it uses SMS message as well if you want, and also you can get daily digest emails from your groups and people you follow.

    I would suggest groups of employees that are on Twitter going back and forth, take a look at Yammer for internal needs. What I try to do is save anything for Twitter that is more applicable to everyone, and Yammer for things I just want to share with people I work with.

    On that note as well, I separated out my Twitter and Facebook feeds, and am going to try to use Facebook for more non-technical status updates.

    So,

    Yammer = company/corporate/internal groups

    Twitter = colleagues outside of the company, and people I find interesting in my same line of work, etc

    Facebook = family, friends, etc

    March 28

    Instant Messaging

    I have been using IM since 1995/1996 starting with “procomm plus” then ICQ (my number is in the first 600,000)

    Now there are multiple clients, windows live, yahoo, aim, gtalk, facebook, myspace, icq, and more. Take all the IM programs, and the multi clients, trillian, digsby, pidgen. meebo, etc.; I have used them all. Nothing seems good enough to me. Adium on the mac is the best I have used so far.

    What I am trying to do now is consolidate. I am going to try to just use google talk with my steve@stevienova.com account and will see how that goes. I will still keep my other accounts but probably won’t sign in as often. This is an experiment so we will see how it turns out.

    Feel free to add me and chat/IM !!

    * this post was written from the WordPress iPhone app

    March 17

    Sr. Technical Business Analyst position at Trek Bicycle Corporation (Waterloo, WI)

    We are again looking to fill out our Business Intelligence team at Trek Bicycle Corporation. What I am looking for with this position is someone who is both technical and has the business analyst skills needed to work with end users, gather requirements, etc. You can read more about the position here:


    Feel free to email your resume (make sure to say that you found this through my blog!) to my work email steve_novoselac@trekbikes.com

    March 16

    Blogging in 2009

    I have been looking through some of my Google Analytics logs, and I really find it funny. The top 3 posts on my blog really don’t have anything to do with stuff I am really into, but they are more things that I did in my spare time and blogged about.

    1) Linux on my Ps3
    2) iSight Camera Drivers on Macbook/Parallels
    3) Ruby on Rails and MySQL on Vista

    So yeah, I don’t really do any of that stuff “full time”. Even looking back over my blog posts, and seeing how things have changed since 2004. Talking about ASP development, SQL 2000, ASP.NET, C#/VB.NET, C++, BI, Other tech stuff. Fun stuff.

    Now that I am doing Business Intelligence full time, but in more of a manager role than a “doing” role, I usually don’t fall into crazy development debacles or solutions that require a “blog” to explain, or a “blog” to save the next sorry sucker who comes across the setup or crazy steps I had to take to get something to work.

    That, coupled with Twitter, and Facebook, and Yammer, and whatever else, blogging takes a back seat. But I still think there is a good time and place for blogging. You make it what you make it. You can use it as log to look back on (I do, I search on stuff I blogged all the time, instead of having to remember it), or just a good way to keep people up on what you are doing, in more than 140 characters.

    Where do things go from here? I am sure there tons of things coming down the pipeline that I will be blogging about. SQL 2008, Sharepoint, Excel Services, More BI stuff (SSIS, SSRS, SSAS), Cloud Computing, iPhone, Mobile, Gaming, just good old plain geekery. And don’t forget lil Ella, and music and much more.

    I have mentioned before that my blogging has also changed dramatically since I started using Mac’s full time at home. It makes it tough to get a “full solution” into a blog post. I have tried with VM’s but I just get too distracted :)

    I have found that I get more though, out of reading and just consuming as much info as I can. Books, eBooks, Blogs through Google Reader, Twitter, etc. Still subscribing to 250-300 blogs, the cream of the crop, and I add more every day, mostly BI blogs these days. Unsub’d from most of the .NET Dev blogs since I Just am not into that as much any more. Things like that. I’d rather learn more than just regurgitate or create some kind of “echo chamber” here.

    Blogging in 2009 is much different than 2008, or 2004, or whenever, and I am sure it will evolve. It should be fun! and I hope to embrace the changes that will come in the upcoming years.

    March 08

    Book Review: Information Dashboard Design by Stephen Few

    A couple of months ago, a colleague lent me Information Dashboard Design: The Effective Visual Communication of Data by Stephen Few.


    What a great book. I read it in one afternoon. It goes through a bunch of different software systems you can buy or implement in regards to Business Intelligence and Dashboards, KPI, Reporting, etc. It explains why most are worthless, and don’t convey information in the best way. Finally at the end it explains some great ways to convey the most information visually to the end user of your dashboard.

    It talks about things like sparklines and bullet charts. It goes into why 3D, Thermometers and Gauges are pretty much the worst things you can add to a dashboard.

    After reading the book, I was intrigued by the possibilities of getting information out to people in better way. Bullet graphs/charts, sparklines, well how? They don’t have them in Excel.

    I then stumbled upon xlcubed.com, and MicroCharts - http://www.xlcubed.com/en/

    It’s an add on type product that allows you to create bullet charts and sparklines and share excel over the web (kind of like Excel Services). Looks promising.

    I am also reading a book about Information Dashboard Reporting in Excel 2007 and they actually walk you through on how to create bullet graphs from scratch in Excel, pretty sweet.

    If you are sick of some of the limitations of SSRS, sick of some built into dashboard products that you might have used, and also want to display your information visually to your end users, instead of just raw data, then I would say read this book, right away, and go from there,