Welcome to my Blog!


My name is Stanislava. I like the variety of a lot of things in every aspect, to develop and improve myself. I am glad to share with you the things which I really like and that excite me and hope you will find them interesting and valuable!

This is my blog. It contains articles on many different topics.

The first section contains topics about Business Analysis, Business Intelligence Systems and Self-service BI solutions. .

The Second Section is about Programming. You will find out here who is “guilty” for my inspiration in programming. So, I will tell you now - that was Svetlin Nakov . and the very best Softuni, which is his dream turned into reality.

The Third Section is dedicated to Bulgaria - a country with lots of beautiful places and rich history. And to expand the horizon - places outside my homeland are included...

Thank you!

Stanislava Tropcheva


Team VISION Bulgaria

Team VISION is first in many things: The company is the first supplier of Microsoft Dynamics NAV (Navision) in Bulgaria with 100% satisfaction from customers. Furthermore - it’s the first supplier of the BI solution Tableau!

Tableau Software

Tableau is easy to use software. You can do complicated analyses and visualizations, answer questions for important business decisions.

Telerik Academy

Telerik Academy is a Sofware academy, where everyone who is searching for qualified training can find his place. It’s hard way, but the success is sweet.

Software University

Software University is a result of the enthusiasm of Svetlin Nakov – he motivates people, trains them, so hundreds are able to find good job.

Bulgaria is Beautiful!

Here you can find so wonderful places of nature...


RunKeeper and Tableau – Lighting Talks, SoftUni Conf, May 2014

It was a great pleasure for me to attend Softuni Conf, which was conducted on 14-16th May this year in Borovets, Bulgaria – an event with so much professionalism, designed for the first students who enrolled in the institution and for all other enthusiasts.
I am also glad that this is the beginning of that type of conferences.

You can see the program and the lectures from the link below:

There were not only enthralling lectures and workshops, but also well-organized sport
and entertainments.

Additional interactivity was set by “Lightning Talks” – “Participants become lecturers”, which was directed for everyone who wants to show something interesting in 10 minutes.

I decided to take the challenge and to speak in front of a smart audience – a hard put to

succeed in my opinion. The content should have been exciting, deep enough and duration

10 minutes (8:30 when preparing before the real presenting).

My interests are in the same field as in my job – so the topic I have chosen was about analyzing data with Tableau.
The data which I started to analyze was from RunKeeper App, installed on my own phone – it’s for tracking personal activity in a variety of sports like running, hiking, even walking.

At that time I was tracking my routes from going to work and back home by cycling.

You can watch the presentation here (but it’s only in Bulgarian audio.):


And the presentation is available here (It’s in English :) ):


My Lightning Talk has two main parts:

1. Short explanation and definitions

2. Demo

Part 1 – Beginning

So let me ask you the same questions:

How many of you have smart phones?

How many of you download different apps on it?

How many of you do some sport outside?

How many of you, who are doing exercises, track their activity with an app and which app exactly if any?

Luckily there was an answer – RunKeeper. Excellent!

Now I was able to begin.

I continued by asking questions – What do we need to analyze data?Instantly there was the answer – DATA!


Download Runkeeper data – Csv (performance) and Gsp files (geo data)


The short time for the presentation given I couldn’t show and explain everything – only listed

the stages but not in detail (And this is why I am writing now. :) even though so late – please

take my excuses) to end result – visualizing data from RunKeeper:

Download personal data from RunKeeper website (for 3 days). I haven’t made a

registration, but after I did it, the data was available.

The data was in gpx and csv formats.

CSV files contains information of passed kilometers, burned calories, duration…

GPX files contains geospatial data – the route, where we passed. (A lot of points in every route, because it should visualize detailed map.)

My aim was to load that geo- data in Tableau and the other information as well.

CSV files were ok, but I couldn’t use the gpx files in Tableau. Tableau has own map but the data in these files weren’t in a format that Tableau can read.

For reading geo data in Tableau I need tms (tableau mapping source) files or excel with columns for latitude, longitude and location. Otherwise to use custom geocoding instead of
the built-in geographic roles in Tableau.

It turned out that this was the most time consuming part.

I had to modify the files from one format into another a couple of times to get the proper excel file (and made some modifications in excel file itself).

Custom geocoding – from GPX to Excel

1. From GPX to KMZ

Convert GPX file into KMZ (KMZ is a zipped KML file – google maps)


KMZ is a file extension for a place mark file used by Google Earth. KMZ stands for Keyhole

Markup language Zipped. It is a compressed version of a KML (Keyhole Markup Language) file.

KMZ File Format

2. From KMZ to KML

Convert KMZ file into KML – rename the file extention to .zip and unzip it with any Zip program.


3. From KML to Excel, which needed further adjustments

Extracting Geographical Lat-Long data from Google Earth KML files to Excel

Follow the instructions here:

4. Reshape data -Tableau add-in for Excel

The excel file contains a huge number of columns with data which was practically the same,

i.e. they should have been in only one column. Tableau add-in for Excel saved me time in

this point – and the data was reshaped in the proper manner – latitude, longitude and name

of the road!

Part 2 Visualizations (Demo)

We had the data. Now what? We needed a tool that could help us understand our data fast and in a visual receptive way. So BI (Business Intelligence) comes to rescue us. (You can start reading about BI almost everywhere. However I made my first steps with the book:

“Business Intelligence Roadmap: The Complete Project Lifecycle for Decision-Support Applications”)

I chose Tableau– not only because we use it in work, but because it’s my inspiration at all.

Tableau is a Self-Service BI, which gives you the opportunity in a quick and effective way to “see” your data and answer your questions in the speed of thought.

The viz in the left corner shows the maps, thanks to the custom geocoding ( our excel file).

On the right side are accessible the different performance indicators, which the app tracks.

All the 3 vizes are connected. When you choose the route go ( going to work), we will see

change in the other 2 visualizations. (The data is filtered by route “go”)

Moreover the routes on the map are with different corpulencethe more
emphasized, the more often I have gone from there

The data is very scarce, but I used it for the purpose of demonstration of what can be achieved in the analysis.

And I forgot to complement during the presentation on the Conference: “Exercise for energy, strength to study, work and enjoy much more!”

Custom Totals in Tableau (with the help of Customizing Grand Totals – Part 3 by Jonathan Drummey)

Have you ever wondered what to do if Tableau’s ability to show you totals and subtotals doesn’t work the way you want?
I suggest you to read the following article:
Customizing Grand Totals – Part 3

and then continue reading this one.

My aim was to create a viz, showing the subtotals for sub-categories (Product Type), totals for Categories (Product Line) and grand total for all of the data with the additional condition that if the sub-category has only one record (Product) to exclude the subtotal for that sub-category.
In my example I filtered the data (Coffee sub-category has only “Delaf Irish Cream” item) to show this scenario.

So I started following the very best steps in Customizing Grand Totals – Part 3 (I also recommend you to read the previous two parts.).
Jhonatan Drummey said in Customizing Grand Totals – Part2: “Just like the MIN() and MAX() technique, the calculation will fail when using subtotals and there is a single value for a dimension in the subtotal.” Part 3 opened my eyes how to fix this problem:

1. First set up an union query (As you see I use Tableau’s sample data source – “Sample – Coffee Chain (Access):

2. Create two hierarchies:

Products Hierarchy:

Product Line – Category
Product Type – Sub-Category

Product (Headers) Hierarchy:

Sub – Category Header (Product Type):

Notice that we have additional condition in the else – clause in the Case statement:
blank if the product is “Decaf Irish Cream” (Don’t exclude it!).

Product Header (Product):

3. Create your viz:
Filter by [Product]. We only want to see data for “Decaf Irish Cream”:

Drag [Product Line], [Product Type], [Sub – Category Header (Product Type)] and [Product Header (Product)] onto Rows and Hide [Product Type].

Sort [Sub – Category Header (Product Type)] Manual:

And now – the funny part – Create a calculated field for Sales!

There are 3 main levels in the formula:
For data rows
For Subtotals
Tableau’s totals and Grand Total

Drag the [Sales (Custom)] calculated field onto Text and choose Compute using Pane Down.

You can download the workbook here.

Tableau Data Extract API – Create an Extract from CSV file

I decided to explore Tableau Data Extract API and it’s GREAT!

You can programmatically create Tableau data extracts (.tde files). Why to do that? Three main reasons:

    to create extracts server side (instead using Tableau Desktop)

    to connect to data sources that Tableau cannot connect directly yet

    to reshape data.

You can write in C, C++, Java, and Python with the Tableau Data Extract API. So choose your language and explore!

I am using Python 2.7.8, Windows 64-bit and Tableau Data Extract API (Python 64 bit version).

I decided to follow the intro video on Tableau’s website and try to create and extract from a CSV file.

After some modifications in the code of the given example:

    setting the locale to English_United States.1252
    changing the logic of recreating the extract (instead of exception handling I am using if-else statements)
    creating a floatNum function to replace “,” with “.” when the fields are floating-point numbers
    using a different date format
    changing the order of the fields in the table schema, which helped me to understand the logic better.

the data from SuperStoreCSV.csv (sample dataset from Tableau) was extracted.

You can download the csv file and also the generated tde file
Here is the code:


Java Basics Exam 3 September 2014 (Problem 3)

On September 3rd passed Java Basics Exam.
It was quite interesting. I solved 3 of the problems given.

So here is the third task – “Problem 3 – Biggest 3 Prime Numbers” and my solution below (100 out of 100 points):

My solution:

Link: https://gist.github.com/StaniTr/c7a818cbf33fef0a64cf

Java Basics Exam 3 September 2014 (Problem 2)

On September 3rd passed Java Basics Exam.
It was quite interesting. I solved 3 of the problems given.

So here is the second task – “Problem 2 – Adding Angles” and my solution below (100 out of 100 points):

My solution:

Link: https://gist.github.com/4eb5cc1718b73b6c398b.git

First steps in PHP

First steps in PHP

MindMap of the “Install and Configure PHP: XAMPP, LAMP, IDEs” lecture, PHP Basics Course


Java Basics Exam 3 September 2014 (Problem 1)

On September 3rd passed Java Basics Exam.
It was quite interesting. I solved 3 of the problems given.

So here is the first task – “Problem 1 – Dozens of Eggs” and my solution below (100 out of 100 points):

My solution:

Link: https://gist.github.com/0809cca28e4283149eaf.git

The 3-Minute Win

The 3-Minute Win is Tableau Software’s initiative. It’s for those who want to show their ability to create dashboards for less than 3 minutes and for the rest who want to see what is possible to be done for 180 seconds.
I also decided to join. The following video contains the steps I passed trough to create a dashboard, which shows the performance of students in university in tasks (who of them sent a solution, who aren’t and the time they still have the chance to send it – now the due date passed so there is no more time left.)
If the students have uploaded their solution on Tableau Public, then it’s possible to be open it directly in the dashboard. The data is modified.
You are more than welcome to watch the video below!

Connecting to a text file and analysing it in Tableau!

After creating a text file with a C# program, we are ready to open it with Tableau.
Below is a bubble chart, showing the number of words used in the novel “Under the Yoke” by Ivan Vazov, written in 1888. The workbook is published on Tableau Public and the extract doesn’t contain all the data.

Words form any text into one column (C#)

The purpose of that C# program is to read the content of a text file and then return another file containing all of the words from the first file but in one column.
Why is this necesary? Because I open this one-column file in Tableau – a powerful BI software for data analyzing.
In this case the text file is “Under the Yoke” by Ivan Vazov, written in 1888. Off course, it can be any file you want!

The C# code is below. You can also see the Tableau viz here.