Saturday, August 25, 2012

Data summary options - COUNTIFS/ SUMIFS

This function was a life saver for me recently!
I have some data with 30 columns and nearly 2000 rows which needs to be regularly summed up based on a host of criteria. Add to that I need to run several slicing and dicing operations to derive different conclusions.
Now doing this with a simple SUMIF or PIVOT is difficult enough and considering the time crunch, its a nightmare!!

What I would do earlier is to get a sum of the criteria individually and then add them up together. Consider this example of some Sales data where we would need some basic data analysis.
  • Region wise PLANNED sales where previous CSAT was below 3.5
  • Region wise ACTUAL sales where previous CSAT was below 3.5
  • Similarly summation with current CSAT










 And where reports can be created as:






Now doing this with Pivot tables would mean that I would probably have to consolidate it in different pivots and then get the data in a third table for deriving the region wise sales where CSAT is above a certain value. And changing these pivots to get a new set of conclusions would have been extremely time consuming.

Now let's look at how to use the function ->

Function Description:
SUMIFS ( Sum Range, Criteria Range1, Criteria1, Criteria Range2, Criteria2, ...., Criteria RangeN, CriteriaN)

Sum Range: C3:C8 - Range of values to be summed
Criteria Range: B3:B8 - Range of values where region is stored
Criteria - "US" for summing up only US related sales values

You can quickly add any more criteria like previous CSAT > 3.5 but current CSAT > 4 etc...

Note: Please note that you will need to ensure data sanctity before using these functions as it will only pick values with "US" and something with "USA" would be missed out


Sunday, March 4, 2012

TortoiseSVN - The Starter Pack - Basic Concepts

I have delved into a lot of aspects of SVN but somehow missed on writing on the basics of usage. Though the TortoiseSVN help is quite self sufficient, I feel there still needs to be some basic start-up kit to give a walkthrough of the features and a step by step guide to start using TortoiseSVN from a purely non-technical perspective.

So here goes -> We will start with some basic concepts and then go on to the usage part.

TortoiseSVN acts as a client to access the repositories stored on the SVN server.

Working Copy
It is a local copy meant to sync with the server. It is a ordinary folder on your machine which contains SVN metadata to differentiate it from other folders. The metadata tells TortoiseSVN about the repository that it should connect to for updates

Checkout
It is the first step towards using SVN. Checkout allows you to create a working copy of a particular path in the repository. This is a one time activity.

Update
Get latest copy of data from SVN server. Once you have created a working copy, you will want to get the latest data from the server before you start making your changes

Commit
Once your changes are done and you want to save the changes to the server, you "commit" that data.

Delete
SVN gives default delete rights to all users as it is just a soft delete. You can still retrieve that data from earlier revisions [refer earlier posts "Retrieving Deleted Data"]

Cleanup
Cleans the corruption caused due to conflicts in working copy or file
corruption

When a friend recently suggested Bazaar as an alternative to Subversion, It got me to think that would be those parameters that would cause me to move to something other than SVN.

Subversion gives me a lot of convenience
Environment:
1. Can be hosted on a almost any environment - Linux, Unix, Windows etc...
2. Can be hosted over the internet and comes with the most updated security settings
3. Can be integrated with LDAP for enterprise use

Usage Features:
1. Server setup and configuration are very easy - less than 10minutes
2. Works with multitude of clients -Command line (SlikSVN), GUI Based (TortoiseSVN), Web based (WebSVN), Different OS (RapidSVN for Unix & Linux)
3. Integrates with Build tools - Ant, Maven, Jenkins, Hudson, Cruise Control
4. Integrates with Developer IDEs - VisualSVN (AnkhSVN) & Subclipse (Eclipse)
5. Multiple online forums and support available - SVNForum, Collabnet being most popular
6. Easy administration

Something to be desired from SVN would be:
1. Role base access levels
2. Project level administration roles
3. More out of the box reporting tools/ features
4. Better branching and branch histories for parallel development scenarios