Have you ever experienced a moment when you feel self-empowered with many possibilities ahead? The state of empowerment to me is kind of an ideal scene that hardly has the chance to come true in reality especially where supervision, favoritisms and hierarchical powers supersede the situation we are in. Recently, I have a totally new joy of experiencing self-empowerment with a little breakthrough in my work.

There were some part of my works involving Tableau and database which were quite manual and time consuming. Although it had been improved significantly as compared to the very initial stage when things were still in Excel and PowerPoint, these particular portion of the updates were still needed to be done manually in order to keep things running and syncronized. As I had got myself into the stage that most of the usual tasks could be resolved with least efforts, I started to spend some time to think about how to get these annoying but essential tasks to settle on its own.

I started to do small research to find the best way of getting the works done. When we talked about automating the boring stuff with minimum coding, the first thing would be using Robotic Process Automation (RPA). I knew a safe open source API that I could use. However, very soon I found out that this didn’t seem to be a good way as part of the works would need to read from the screen with copying features was disabled. I would need an Optical Character Recognition (OCR) to integrate. It became slightly complicated than what generally presumed an easier set up of a RPA. Moreover, the same client was better left untouched while it was running. So it didn’t really increase the productivity unless I ran the whole thing in a separate client. The amount of time didn’t really get shortened a lot while RPA was in action in my laptop.

I started to look into the next solution with options from Tableau Extension. In the midst of understanding the relevant APIs and its documentation, an intern who I used to share some codes and tasks told me about Tableau Server Client. After a closer look, I got better idea on how that API could be the right one for my case. While integrating the general procedural scripts, I started to write customised functions to handle different parts of the workbooks that I wanted to automate. It took me about 3 days to write them up and a weekend to find-tune and finish the last part.

On a particular Monday morning, I put the codes running live to test them out with the actual workbooks and the required credentials. When the word ‘Done’ was finally printed out, I gave myself a shout of ‘YES!’. It was so much faster than what it originally took. In the past, I would probably spend half a day to get all these data updated and synchronised. I added some codes to time out the whole process and it returned an awesome 46.18s for the first task and 7.62s for the second task. A speed that even RPA couldn’t compete. Out of a sudden, I had freed up half the day of my working hours to explore other new topic of interest.

Image of HS_crab_mudfield

As a beginner in coding, having the ability to code things out myself and to put it in real working environment, enabling the automation of repetitive tasks is simply amazing. Though I think an experienced coder could possibly complete the script faster and and perhaps with more efficient coding steps, I still enjoy the ‘Yahoo~~’ moment and take pride of this little achievement. I feel empowered. I’ve unlocked myself with codes. A small step that footprints into many more possibilities in the future. I’m no longer worried about learning something totally new and hard anymore. As long as there’s persistence and determination in addition to great passion and interest, things can be achieved and get better over time.

I’ve got my time off for 3 months doing coding and data science early this year a worthy one. I’m glad that I’ve kept the learning momentum going even after the course ended. The future and the road ahead is long, yet it is surely a colorful and an exciting one —–