Saturday, April 20, 2013

GeoFlow Viewer Please

Over the past week or so, I've seen a lot of people ask the following:

How can I provide my GeoFlow Tour for consumption in

  • PowerPoint
  • SharePoint
  • My website
  • A tablet
  • Any mobile device?
I think it's great that people are asking these questions. It suggests that people want to use GeoFlow. The problem, is that currently there isn't a way, that I know of, to present GeoFlow tours in those above formats minus a tablet running Windows 8 (non-RT) with Excel 2013 Professional or certain versions of Office 365.

There are a lot of discussions about Microsoft needing a mobile BI strategy, and I agree. When I was at Dallas Day of Dot Net in February, I heard a presenter talking about how the PC era is dying and mobile is taking over. From my perspective, software developers not learning about mobile software development may find themselves not nearly as marketable as they used to be. I say this as someone with a lot of software development industry experience and not someone looking in from the outside.

Now back to BI, and GeoFlow specifically, what are some options for making GeoFlow consumable from the aforementioned devices and software? Let's consider Office 365. Office Mobile Viewers are already supported on iPhone, Android and Windows phones. GeoFlow, however, is not.  

Here are some ideas for the future:
  • GeoFlow mobile viewer that works with Office 365. Thanks to Jen Stirrup for bringing to our attention that Office 365 may be a great direction for Microsoft to go with their mobile BI strategy. Jen's feedback was provided via comment on a blog post here.
  • GeoFlow SharePoint web part for displaying GeoFlow tours
  • Save to Animation option within GeoFlow. This should provide a good option for presenting GeoFlow data within a PowerPoint Presentation.

There were several people on-line that also mentioned wanting to see GeoFlow merged in with Power View and then providing a Power View Viewer. At least one person mentioned wanting to be able to build GeoFlow tours using mobile. The primary message, though, was GeoFlow consumption beyond Excel 2013 on a PC. Hopefully, Microsoft will be able to take some of our GeoFlow ideas and put them into reality.

Update: GeoFlow has been renamed to Power Map and is scheduled to be part of Power BI for Office 365!

Saturday, April 13, 2013

Using GeoFlow to create SQL Saturday Emergence Video

On Thursday evening, I downloaded the Community Preview of GeoFlow. I just had to try out GeoFlow the first day it was available. That resulted in me creating a map of the past 1.5 years of U.S. based SQL Saturdays and tweeting a picture of that map here.

This afternoon my goal was to make a video showing the emergence of all U.S. based SQL Saturdays which may be seen here.

GeoFlow is a free add-on to Excel 2013. You'll need Office Professional Plus 2013, Office 365 ProPlus, or the Midsize, E3, or E4 versions of Office 365.

I liked how easy GeoFlow was to start using once I had installed both Excel 2013 and GeoFlow. I did, however, have an initial issue of the GeoFlow button being greyed out. This appears to have been an issue for some others, as well. I've heard at least one person say that disabling and re-enabling the add-on worked for them. In my case I un-installed my no longer needed Office 2007, and that fixed the issue for me.

In order to use GeoFlow you'll need to put data into an Excel table and then select Insert--> Map-->Launch GeoFlow-->New Tour



Much of what you need to know to get started may be found by downloading the sample Excel data sets available on the site containing the Community Preview. The sample data set I downloaded included instructions on how to build an initial tour.

Having worked with the tool beyond those tutorials, though, I have found GeoFlow powerful but sometimes hard to navigate. For example, the below option to set the time length I found by clicking Play Tour and then exiting the tour. There's probably an easier way to find the setting, but I wasn't able to quickly find it. (Update: To get to the below setting, with Tour Editor on, click on the Scene and then click on the cog/wheel icon on the scene.)



The following items are things I would like to see in a future version, assuming they are not hidden somewhere in the CP. (Update: Added a few items and clarified a few others.)

  • Capability to align the Title text in a textbox.
  • Capability to change the colors being used for items in a legend, minus changing Themes. For example, if I have two event types like SQL Saturday and SQL Rally, I would like to be able to pick the color attached to each item. Update: This feature became available in the September preview release.
  • Provide an optional window for a second portion of the map, like for Hawaii and Alaska which do not show up in a zoomed in map of the U.S. (In my video I scrolled the map over to Hawaii at the end)
  • Capability to save the animation of a tour to video file format. I used Camtasia to screen grab my tour's video. Update: This feature became available in the September preview release.
  • Capability to embed an actual interactive GeoFlow tour into a PowerPoint presentation. Even if the machine had to have Excel 2013, this would be nice.
  • An option for the values in the optional 2D chart to grow as time passes in the animation. Currently, the values appear static in the 2D chart.
  • An optional 2D rolling total for the measurement regardless of geo-spatial location. For example, if 67 SQL Saturdays have appeared by date X, then 67 would show as the total.
     
Below are a few of the things I really like.

Once I went through one of the tutorials, it was very easy to get my first map screenshot ready. I had one tweeted on day 1.

When playing a tour, you can stop it at any time and hover over an item in the map to see the data as of the point in time when the video was stopped.  This screenshot was from me stopping at the 10/27/2008 point in time. Orlando has had several more SQL Saturdays since October 2008.



Overall I've enjoyed trying out GeoFlow and look forward to seeing more of GeoFlow's potential.

Saturday, January 14, 2012

SQL Server vs. Oracle Differences Part 2 (Object Naming Differences)

There are a couple of key object naming differences that I noticed when working with Oracle for the first time. The first is the max character difference. In SQL Server, an identifier (table name, view name, stored procedure name, etc.) can have a max of 128 characters. In Oracle, the max length is 30 characters, except for a few cases. Coming from SQL Server, the 30-character restriction in Oracle was quite noticeable. I especially noticed it when naming stored procedures. I've found myself having to abbreviate words when naming Oracle stored procedures instead of spelling words completely out.

Another difference with naming appears to be somewhat related to the GUI tools. With SQL Server, if you create table Orders, SQL Server Management Studio (SSMS) will display it as Orders. In Oracle, however, a table created as Orders will display in the GUI as ORDERS. This occurs because nonquoted identifiers, like Orders, are not case sensitive with Oracle. Oracle interprets them as uppercase. Thus you'll see the table you created as Orders listed as ORDERS when looking at the database through a GUI tool like Toad or SQL Developer.  Quoted identifiers, such as "Orders" are case sensitive, but then you are required to include the quotes when referencing the object. Since nonquoted identifiers tend to be more popular when naming common objects such as tables, views, stored procedures, etc. I found this important to note.

Oracle's upper-casing interpretation of nonquoted identifiers has resulted in a somewhat common practice of using underscores when naming objects. For example a SQL Server stored procedure SelectProductsByCategory might be named SELECT_PRODUCTS_BY_CATEGORY in Oracle. In this case we have a 27 character name, which is just barely under the 30 character limit. If we wanted to rename SelectProductsBySubCategory to SELECT_PRODUCTS_BY_SUB_CATEGORY we would be at 31 characters which is 1 beyond the max. The use of underscores, in this case, is what pushes us above the 30 character max.

Fortunately, from a querying perspective,  the casing of object names doesn't seem to be as relevant. That is, of course, dependent upon the settings. Assuming your SQL Server database is created with a Case Insensitive collation, SQL Server will not require specific casing when querying your objects. If you create table Orders, both "SELECT * FROM Orders" and "SELECT * FROM ORDERS" will be valid queries. With Oracle (using the default settings), "SELECT * FROM Orders"and "SELECT * FROM ORDERS" would both be valid, as well.

There are, of course, more details on SQL Server and Oracle naming rules than I've been able to put into my post. SQL Server's naming conventions are available here. Oracle's naming rules are available here.



Tuesday, January 10, 2012

SQL Server vs. Oracle Differences Part 1 (Cursors)

Since my first job out of college, where I was working with SQL Server 6.5, I've been told that cursors are BAD, BAD, BAD! Cursors are evil! I was, eventually told the reason to be performance. In SQL Server world, cursors are still considered evil in most situations. I would submit that T-SQL code with a cursor would be considered "bad code" by many in SQL Server world, assuming there wasn't a code comment explaining the use of cursor. I'm not saying this is right or wrong, I'm just submitting what I would expect would happen.

Now get ready for it, with Oracle PL/SQL, cursors are often a BEST PRACTICE! This was, probably, the hardest best practice difference for me to grasp. Cursors are very much accepted as good practice in Oracle world. You'll even see them used quite often in Steven Feuerstein's Oracle PL/SQL Best Practices book that I found to be very useful.

SQL Server vs. Oracle Differences From a Developer's View

Over the past 2 1/2 years, I've been doing a lot of software development with Oracle as the RDBMS. After a decade of only working on development and BI projects with a SQL Server back end, I found myself primarily working on a quite large, already existing web application that uses Oracle as its RDBMS. Don't get me wrong, I'm still involved with the world of SQL Server. I still see it at work and, even more, I'm President of our local PASS chapter. I also did two years of speaking on SQL Server at various events and user groups during this time period.

As a software developer, though, I've found working with Oracle to be a great opportunity to become familiar with another leading RDBMS. When I started my current job, I was told that I'd be able to pick up Oracle quite quickly, given my strong data background. I'd like to think that I picked things up pretty quickly, but there are A LOT of best practices differences and, also, some capability differences that I needed to become aware of as a developer. Since, I haven't seen a lot of resources that put these differences together into one place, I decided to start this blog post series.

I hope to make this blog post series a resource for developers who are switching between T-SQL and PL/SQL. This is not intended to be a "which RDBMS is better?" conversation. I personally believe that there are multiple RDBMS solutions that have the capability to meet a variety of business needs. I hope this series will help developers shorten their learning curve between the two products. Note: At the writing of this post, SQL Server 2008 R2 is the latest officially released version of SQL Server. I have been keeping up with the upcoming T-SQL features for SQL Server 2012, though.

Monday, August 15, 2011

SQL Saturday Oklahoma City, August 27th

I am very excited to be on the Steering Committee for SQL Saturday Oklahoma City! We're sold out with 250 registered, but we're hoping to be able to include those from the wait list.

We've got DBA, Developer, and BI tracks planned. I look forward to seeing those registered. As the Speaker Chair, I very much hope everyone enjoys the sessions:)

For those wondering where I've been on the blog front, I've been spending most of my community time with regional community involvement. OKCSQL assisted with three SQL Server Boot Camps in 2010. We're, also, still meeting monthly at the OKCCoCo. Plus, I've been helping plan SQL Saturday OKC. As for speaking, I'm currently on sabbatical. My last speaking engagement was at Tulsa Tech Fest 2010.

I hope to see you guys at SQL Saturday OKC!

Tulsa Tech Fest 2010 Presentation

Back in November I had the opportunity to give my latest presentation Intermediate SSAS 2008 - Developing Time Calculations which is available here.