Table Rock State Park

Just a few yards past the main parking area you will be greeted by beautiful scenery and this breathtaking view of Carrick Creek Falls.

The park had cute little features scattered around, like this stone water fountain.

Stone steps lead up to the main trailhead.

Surrounded by natural beauty!

We started to the right to follow Carrick Creek Trail.

Some natural rock stairs help in the initial accent, but the pup was not impressed with my demands.

My little nature explorer.

Trails were marked with these helpful color coded lines.

We had to save Table Rock Trail for another day. We took the Carrick Creek Trail that loops around.

We have so much appreciation for the people that maintain these wonderful trails!

Jackson loves to dig. 😦

I loved hearing the stream by our side as we hiked.

Lightening had hit this tree and blocked part of our path.

I hope to start early one day and make it up to the top with the dog if his little legs can handle it.

Can I please live in this cabin? Pretty please?

Paris Mountain State Park

Today Jackson and I hiked Paris Mountain State Park, a true beauty in the Upstate area!

img_2826

Jackson loves the woods almost as much as I do!

We took Brissy Ridge to Pipsissewa. It started out a bit rocky but quickly smoothed out. A few bikers were walking their bikes back towards the parking lot.

We loved all of the wonderful flower scents along the trail.

It was a nice easy stroll for the majority of the hike, but I still recommend that you pay attention to the difficulty ratings posted at the Brissy Trailhead when choosing your route.

Next we took a left on North Lake.

The water was crystal clear and so were the skies!

After our little stop by the lake we headed to Kanuga. Another hiker and his dog were enjoying the water below us as we continued on. I heard someone shout Boo! Which made my heart jump a bit, but I think the dog’s name was Boo. 🙂

From Kanuga we headed to Fire Tower, taking a winding route back towards our starting point.

From Fire Tower we headed down Sulphur Springs Trail. Jackson was pretty tired at this point, but it was just a perfect day for this perfect stroll down the most beautiful park in my own back yard.

Don’t forget to stop walking and look up, or you could miss this gorgeous view of the surrounding mountains.

Lots of blooms!

A bit of local history.

Match your Employees to their Skill Set

It’s amazing how productive a person can be when they are performing tasks that they are naturally skilled at. I’m a big fan of the StrengthsFinder 2.0 book by Tom Roth. I’ve used this to help identify my own skill set as well as those who work with me.

The benefits have been amazing. When we match employees with their natural talents we save time and resources and get equally happy employees.

As an example, some organizations are big advocates of Sales training, even going as far as spending thousands of dollars training technical introverts on sales presentation methods.  Sure, these efforts may improve a persons ability to sell, but they will never become as effective as someone who already has natural talents in the sales area.

Would we ever expect a Sales person to be able to code and output a statistical algorithm for predictive analytics? For some reason this one seems more obvious to companies, no, Sales people don’t code, and that’s OK.

So let’s respect our employees strengths and limitations, but first let’s spend some time finding out what they are.

Happy Coding…and Managing…

Your BI vendor is working With you, not For you

In the past years I’ve had the opportunity to work on both sides of the BI vendor table, as both the consumer and the retailer. I’ve seen many projects succeed, some projects fail, and some projects that seem to surpass all expectations and all parties involved are delighted. The latter group of success stories all have one common factor: TEAMWORK

These successful BI implementations often end with kindred feelings of friendship and it all starts with the attitudes of the two parties involved. When you approach your BI vendor as a team mate it is easier to see that you both have the same goal: a smooth, successful BI implementation.

This means that both sides will need to do their due diligence. Roles are not always clearly defined and a team work attitude will encourage flexibility. Your BI vendor will not always be an expert on the content of your data, so be prepared to source internally for validation stages.

Consider the two options for communicating with your BI vendor below:

Teammate Attitude: Our data doesn’t look correct, let’s investigate to see where the problem might be.
Authoritative attitude: Your data is wrong, you need to fix it so that we can go live, this project is already behind.

The teammate attitude opens up the opportunity for further conversation. As a BI vendor I will be able to request specific examples of inaccuracies and I will feel comfortable asking for help if the data appears to be non-standard.

The authoritative attitude shuts down any potential for creative problem solving right away. The assumption behind this statement is that the BI vendor did something wrong and is aware of how to fix it. What super-techie, number-crunching, data-loving nerd would knowingly choose to display inaccurate data? Ahhh! Sounds like a nightmare for any data guru.

Remember, when you’re shopping for your BI vendor, you are shopping for a partnership, not a dine and dash vendor. The earlier you help cultivate that partnership, the smoother your BI implementation will go (assuming you pick an awesome vendor to work with).

The Value of Doing Nothing (at work)

Today some coworkers and myself were standing around the kurig joking about how you couldn’t actually sit at the table in our office. The chairs (while totally cute, thanks Ikea) are made to be perfectly fitted beneath the tall table, leaving mere inches for thigh comfort.

20150819-170651.jpg

As we explored this table conundrum other questions of logic and functionality arose.

We began to discuss design methodologies and patterns that presented themselves as opportunities for automation. As we each chose to ignore the time briefly (it isn’t easy with 5 clocks on the wall) the conversation evolved into an incredibly valuable brainstorm.

These creative processes are often stifled when we are busy jumping from one meeting to the next. Try scheduling some “do nothing” time this week and see what problems seem to solve themselves.

Time is a created thing. To say “I don’t have time,” is like saying, “I don’t want to.”

~ Lao Tzu

20150819-170917.jpg

Using Leadership Training to Solidify Your Company Culture

When growing your organization you seek greatness, not mediocrity. You hope to recruit ingenuity, not bland worker bees. You desire to empower inspirational leaders, not just autocratic managers.

pic2

In growing companies the natural leaders are often appointed as managers without any official introduction to leadership styles, motivation techniques, or communication methods. This works great when a company is still in its infancy stage, but how do you maintain the culture at your company as growth increases and the need for qualified managers becomes exponential?

As you are probably aware, the attitude of a team is generally a reflection of the attitude of its leaders. Some people naturally gravitate towards fostering optimistic and trusting relationships, but other people, who may be brilliant in a business sense, simply aren’t aware of the concrete benefits of slight personality tweaks. You want these people in management positions due to their in depth knowledge, but you also want to protect the culture at your company, which is invariably a reflection of your attitude and beliefs.

p4

My recommendation is to tackle this scenario in two ways: 1. Formal leadership training conducted by a third party. 2. Internal leadership training designed by current leaders that have a solid understanding of the company culture that you wish to encourage.

Formal leadership training covers the topics that might be acquired in a college level leadership class. This will help your leaders determine their personal leadership style and will aid them in determining the different communication styles that are helpful when managing a varied group of employees.

There are also tried and tested techniques for inspiring and motivating employees, encouraging teamwork, and how to provide feedback in a constructive way. For these areas there is really no need to attempt to reinvent the wheel when experts have been studying these topics for decades.

The second level of training provides the opportunity for you to personalize the employee experience at your company. If there are any “hard lines” that you would not accept as behavior then it should be covered in this personalized training. As an example, I believe that yelling or expressing temper in a work environment is never productive, so I might emphasize that there is never a scenario where this is accepted at my company. There is generally a lot of focus on the customer experience within an organization, but I believe that clearly defining the employee experience holds just as much weight.

p3

It is important to remember that the attitude of your managers reflects your attitude. The attitude of teams reflects their leaders and managers. And the customer experience often reflects the attitude of your employees collectively. The end result is the result of the path taken so there really aren’t any major shortcuts if you wish to protect and foster your company culture.

Thank you for reading and please let me know if you have other ideas that will protect the company culture as it grows.

Build Dynamic Column Groups (and sub groups) in SSRS

I recently needed to create a SSRS report that allowed my client to group his data by choosing the group field from a drop down list. It’s actually quite simple to accomplish this, although not intuitive straight away, so I thought I would share the steps I took.

First create a report with a valid dataset. Include the fields you will be grouping on. I am using the Adventure Works 2012 Data warehouse. If you would like to follow along my query is:

SELECT top 3000
[TotalProductCost]
,[SalesAmount]
,[MonthNumberOfYear]
,[CalendarQuarter]
,[CalendarYear]
FROM [AdventureWorksDW2012].[dbo].[FactInternetSales] fs
JOIN [dbo].[DimDate] dd
ON fs.OrderDateKey=dd.DateKey

Next create a tabular design with your detail fields and a few blank columns.Image

Next Add a group by right clicking on the details group:

Image

Click on the expression builder:

Image

Paste this code into your expression:

=iif (Parameters!GroupBy.Value is Nothing,1,Fields(iif(Parameters!GroupBy.Value is Nothing, “CalendarYear”,Parameters!GroupBy.Value)).Value)

Image

This handles the scenario where we don’t want to choose a grouping.

Now we need to actually create the parameter by right clicking Parameters and selecting Add Parameter:

Image

Allow nulls in your parameter and assign available values:

Image

The names in the Value field need to match the names in your dataset.

Image

Go back to your table and delete the extra group columns that were added when you created your groups:

ImageImage

Now right click the field and paste this expression:

=Fields(iif(Parameters!GroupBy.Value is Nothing, “CalendarYear”, Parameters!GroupBy.Value)).Value

Image

Image

Next you will create two identical parameters with the below names:

Image

Now right click on your first group, select add group, select child group:

Image

The child group settings will be identical to the parent one except you will update the code to read your second parameter:

Image

You can add multiple sub groups this way to really empower your users!

Next I will show you why we deleted the group column and kept the regular tablix column. We want to be able to hide the entire column if the user doesn’t choose it to group on.

A “grouped column” doesn’t have the visibility property available:

Image

But you can right click on your regular column and select Column Visibility and then click on the expression builder:

Image

In your expression paste the below code:

=iif (Parameters!GroupBy.Value is Nothing,True,False)

This will effectively hide your column if you don’t choose it to group by.

Now right click on your blank field and choose expression:

Image

This expression will be:

=iif (Parameters!GroupBySub2.Value is Nothing,1,Fields(iif(Parameters!GroupBySub2.Value is Nothing, “CalendarYear”,Parameters!GroupBySub2.Value)).Value)

Image

Your column heading will be the parameter label (not the parameter value):Image

And now the fun part. 🙂 You get to preview your report:

No Group Parameters Selected:

Image

One Group parameter selected:

Image

Two Group Parameters selected:

Image

All three Group Parameters selected:

Image

And that’s it! Now I just need to clean up the formatting to make everything pretty.

I hope this is helpful. Please let me know if you find an easier way to accomplish this, or any feedback you might have.

Thanks for reading and have a great day!