What are logical functions in Power BI, and how to use them?

Logical functions in Power BI

The logical functions in Power BI are essential while writing DAX expressions. Logical functions help us in decision making to check if any condition is true or false.

Once the data has been extracted through Power Query, these DAX expressions help us to fetch important information from the data. Here is an article explaining the difference between Power Query and DAX, which you may be interested in.

The logical functions in Power BI I will discuss here are IF, AND, OR, NOT, IN and IFERROR. They are all true to their names and do the task exactly as they are used in English.

I will discuss them along with their application on a data set containing the area and production of different crops of different Indian states. Below is a glimpse of the dataset.

Dataset with crop production
Dataset with crop production

I have collected the data from web with the data scraping feature of Power BI. Here is the article where I have explained how you can take advantage of this nifty feature of loading data from the web in Power BI.

“IF” logical function

The IF function accepts three arguments. The expression of this logical function is as below. We can see that it has the same English conditional context and very easy to understand.

IF (expression, True_Info, False_Info)

The first argument of this function is a Boolean expression. If this expression has some positive value the IF function returns the second argument otherwise the third argument.

Let’s see a practical example of its use on the India_statewise_crop_production dataset. I have created a new column Production_category using the IF function. If the production is less than 10, then it is under LOW production_category; otherwise HIGH production_category.

Creating new column using IF function
Creating new column using IF function

“Nested IF” function

We can use IF within another IF function, which is called the nested IF function. It helps us to check more than one condition at a time.

For example, I have placed two conditions here. One is the earlier one I used in the IF function and added another that if Production is greater than 500 then the production is HIGH else MEDIUM.

See the result below, how the Production_category column has the new values according to the NESTED IF condition.

Nested IF function
Nested IF function

“AND” logical function

It can take two arguments. If both the arguments are correct, it returns TRUE else FALSE. Its syntax is as below:

AND (Logical_condition1, Logical_condition2)

I have applied the AND function to find out if the productivity is high or low. I have used AND to check if the conditions Area is less than 10 and production is higher than 200. If both the conditions are TRUE then it returns “High Productivity” else “Low Productivity”.

Use of AND function
Use of AND function

“OR” logical function

Unlike AND logical function, in the case of OR function if anyone condition holds true, the function returns TRUE. It returns FALSE only if both of the conditions are FALSE.

For the crop production data set, I have applied the OR function to check if both the conditions that are Area<10 and Production<20 are true then it should return “Low production” else “High Production”.

Use of OR function
Use of OR function

“NOT” function

The NOT logical function simply changes FALSE to TRUE and TRUE to FALSE. It is very simple to use. See the below example.

I have used NOT with the IF function. If the IF checks the condition Season=” Kharif”, if it is true, IF returns True, again the NOT function turns it to False. See the output column “Kharif_check”, it has False corresponding to Kharif and for other entries it has True.

Use of NOT function
Use of NOT function

“IN” logical function

The IN function lets us check the specific entries under a column and calculate corresponding values for other columns.

In this example, I wanted to calculate the total production for only three states “Assam”, “Bihar” and “Uttar Pradesh”. In order to do that, I have created one measure using the SUM and IN function nested under the CALCULATE function. And see the result on a card.

Use of IN Function
Use of IN Function

“IF ERROR” logical function

The IF ERROR is another very useful logical function that checks for any error and returns values accordingly. This function is very useful while checking arithmetic overflow or any other kind of errors.

The syntax for this function is as below:

IFERROR (Value, ValueIfError )

You can get the syntax guide when you will select the function in the Power BI editor, see in the below image. As soon as I have started to type the function name, Power BI IntelliSense guided me with the autocomplete and the syntax for the function.

Use of IFERROR function
Use of IFERROR function

In my example, I have checked if there is an error in the Crop column. In case of any error found it should return “Error”. As there was no such error in the column so the IFERROR column has the exact values as in the Crop column.

How to use the “COUNT” function in Power BI?

"COUNT" function in Power BI

The COUNT() is an important function in writing the DAX formula in Power BI used. It is one of the time intelligence functions of DAX, which means it can manipulate data using time periods like days, weeks, months, quarters etc. and then use them in analytics.

We apply DAX to slice and dice the data to extract valuable information. To import data from different data sources and perform required transformations we need to know the use of Power Query. If you are curious to know the difference between Power Query and DAX, Here is an article you may be interested in.

Use of COUNT() in Power BI

The syntax for count function is very simple, we have to pass only the column name as argument like below

Measure = COUNT (Table_name [Column_name])

Count function when applied on any column, it returns the count of cells containing numbers. So it returns only whole numbers and skips the blank cells. If any cell of a column does not contain anything (string, date or numerical) then the function returns blank.

Here is an example of the application of COUNT() on the data set I have on the rainfall of different Indian states. The dataset has three columns “SUBDIVISION” containing different ecological zones of the country, “YEAR” from 1901 to 2019 and “ANNUAL” containing rainfall in mm of the corresponding year.

Application of COUNT() in Power BI

I data I have collected from the web using the data scraping feature of Power BI desktop. Here is a glimpse of the dataset.

Glimpse of the rainfall data
Glimpse of the rainfall data

First, I have created a new measure using DAX (see here how can you create a new measure in Power BI). A measure has a default name “Measure” which I have changed to “Measure_count“.

Using COUNT() in a measure
Using COUNT() function in Power BI

Here you can see COUNT() is used to get the count of ANNUAL column cells having numbers. To see the result of COUNT() I have used a “Card”. The number “4090” in the card shows the cell count of the ANNUAL column having a number.

If we change the column and replace ANNUAL with SUBDIVISION, then the count function returns “4116”. This is because rainfall of all the subdivisions are not present in the ANNUAL column. We can check the difference and know how many subdivisions and year combinations do not have rainfall data.

The COUNTA() function

If a column consists of binary values like True and False, COUNT() fails to count them. To count such values COUNT() has another version which is COUNTA(). COUNTA() is for counting any logical value or text and also the empty cells of the column.

In this data set we dont have any logical values. If COUNTA() function is applied on the same columns i.e. ANNUAL and SUBDIVISION, the results are same as COUNT() gave.

The COUNTAX() function

For those columns which have values other than strings, digits, logical values, date like formulae then there is another useful variation of COUNT() which is COUNTAX(). It returns the count of non-blank rows evaluating the result of an expression on a table.

The DAX formula for COUNTAX() is:

COUNTAX ( <table>, <expression>)

It also returns whole number and unlike COUNTA() function, it iterates through the cells of that column, evaluates the expression and returns count of nonblank rows.

Here is an example of the application of COUNTAX() on the same table. I have used this function to calculate the count of row number of ANNUAL column for a particular YEAR in the rainfall table. I have used the FILTER() function nested under COUNTAX() to filter the particular rows corresponding to the YEAR=1910 and 2010.

Application of COUNTAX()

From the above figure we can see that the COUNTAX() function has returned two different whole numbers for two different years 1910 and 2010. This is because not all the SUBDIVISION has the record of annual rainfall for the year1910.

Blogging takes time & that’s why I love it !!!

Blogging is not something that gives you overnight success. It needs time to grow. A blog is visible only after years of effort put into it. And this is why many of us avoid it.

I would suggest you to read this article on why “you should also start writing online”.

Having said this, for this reason only, I loved it so much. Surprised? Let me explain.

I am a person with average intelligence. In my student life, I have many of my batchmates, who were more intelligent than me. We used to study together. The teachers gave us problems to solve. And those friends of mine are quicker than me to solve them.

It was an unequal fight. We were friends who never engaged in an unhealthy competition of beating each other. Rather I took inspiration from them and they set a target in front of me. Hard work was the only alternative for me to be at par with them.

Intelligence is something that can not be acquired, people born with it. But thankfully there is something called consistency and patience which are a good alternative to talent. And we can grow these qualities with practice.

I understood that I may not good at something instantly but with the practice for sure. The world used to see only the success and not the hard work put behind it.

We find our own voice with time

Writing takes time to bring the original idea from us. Usually we read good articles and got inspired to write our own. In the initial phase of writing, we unconsciously just reproduce those original articles.

It takes time to find our own voice. When we write for a considerable period, we gradually start to identify our own writing style and thought process. And when it happens the content carries our own unique identity.

Only those blogs get noticed among zillions of other online articles, which has authority on the domain. And authority comes with time and dedication. Like goodwill in the business. No business achieve it overnight.

There may be zillions of article online on the same topic. But we all have our very own perception and point of view to analyze any topic. So, the same topic stands out from the crowd when we put our own thought on it.

Blogging is a marathon race

The marathon race is all about endurance. One, who can run for long, wins the race. The same applies to blogging.

That’s why blogging suits me so well. I do my work during my spare time. At my own comfort while no one noticing it. I pour my heart into it, try to record every idea and thought as they come into my mind.

It is not always I publish everything that I write. Many of them I just saved in draft form. Those are only for my reference for future articles.

Only when I feel any content is worth sharing, can prove helpful to others, I publish them.

During the last two years experience of writing, I have gone through several phases of learning. Made many mistakes and then came to know what was right. These experiences may help you to avoid the same mistakes I committed.

My blog is my digital diary and it has an account of my everyday activity, my achievements and failures.

Over time, blogging has become a part of my routine. I try to manage at least 30 minutes every day.

I may not publish them instantly. They appear to be very insignificant. But when I look back to them, those small things help me to assess my progress, correct my mistakes.

For the last two years, I am building this brick by brick. As I did during my student days. It went very well with my nature. It allows you to work in silence and let your writing speak for you.

When I was just starting it, I just wrote for myself. I knew no one is going to read them accept me; never expected anything from it, only enjoyed the writing itself. This was the reason I hardly miss any opportunity of writing I get during the whole day.

An overview of DAX in Power BI

An overview of DAX in Power BI

As the name suggests Data Analysis eXpressions or DAX in Power BI is nothing but collection of operators, functions and constants which we use in writing formula or expressions to return value/values. It is a native language for data analytics tools of Microsoft. DAX is also a highly versatile and functional language with the capacity to work with a relational database.

DAX helps us to dig into the data we already have in our hand to explore new information. It helps us to perform dynamic aggressions, slice and dice the data. It is different from Power Query with M language at its core. Power Query performs the data extraction from different sources. Whereas DAX is applied to the extracted data source for analysis purpose.

It is very common to confuse between DAX and Power Query. You can refer this article to know a detailed comparison between Power Query and DAX.

Excel formula is similar to the DAX formula. Anyone with experience in writing Excel formula finds it easy to write DAX formula. However, DAX is far advanced than the Excel worksheet formula.

DAX is mainly used to create “Measures” and “Calculated Columns”. Below is an example of creating a measure using DAX.

Example of DAX formula

Writing effective DAX formula is the key. An effective DAX formula helps us to get the most out of the data. Writing the DAX formula in Power BI is easy. Power BI DAX editor has a smart complete feature, which automatically prompts us with probable options.

Now let’s try writing a DAX formula to perform a simple calculation. I already have a data set in the Power BI desktop on the rainfall of different Indian subdivisions. The data was scraped from the web using the data scraping tool of Power BI. You can get the details of how to do it in this article.

Below is an example of how a DAX measure has been created on the Power BI desktop. The screenshots from my Power BI desktop shows the steps of creating a measure. The purpose of the measure is to create total annual rainfall.

First of all to create a new measure, right-click on the “Fields” pane of the Power BI desktop report/data window and then choose “New measure“.

Creating new measure
Creating new measure

The default name of the measure is “Measure“. I have changed it to “Rainfall“. As you start writing the function name Power BI starts suggesting with relevant functions name. Here I have selected “CALCULATE“. It is a very popular and frequently used function of DAX.

Steps for creating a measure using DAX
Steps for creating a measure using DAX

As we enter into the “CALCULATE” function, it starts to prompt us to show that it will accept an expression followed by filters. I have selected the “SUM” function and the “ANNUAL” column of the “rainfall_india” table inside it as we want to calculate the total annual rainfall.

With this, the measure has been created. We can check the “Rainfall” measure in the “Fields” pane under the “rainfall_india” table.

Nested function in DAX

Inside the “CALCULATE” function again I have chosen the “SUM” function. This is an example of a nested function, which is a function within another function. Nested functions help us to narrow down the query to achieve the desired result.

DAX can have up to 64 nested functions. Although using this many numbers of nested functions is very uncommon as debugging of such complex functions is very tough and the execution time of such functions is also high.

Using a measure in another measure

Another useful feature of the DAX formula is it allows using a measure already created within another measure. For example, if want to further narrow down the result to calculate the total annual rainfall of any particular subdivision, we can use the “Rainfall” measure we already created. Let’s see how to do it.

For example, we want to know the total annual rainfall of the state “Kerala“. The measure “Rainfall” calculates the total annual rainfall. So, we need to provide a filter within the calculate function along with the “Rainfall” measure.

Using a measure within a measure

See the above image where I have nested one measure within another. A table and a bar chart are also created to compare the total annual rainfall and Kerala_rainfall just show how the measures are performing.

Row context and filter context of DAX

These two concepts of context are very important for the effective use of DAX. Context refers to the dynamic analysis of the data.

Row context is related to functions while applying filters to identify a single row from the table. In most of the cases, we even dont realize that we are applying the concept of row context.

Filter context is a more complex concept than row context. It applies to narrow down the data. For example, here you can see how the column “SUBDIVISION” of “rainfall_india” has filtered the context and helped us to get the annual rainfall of a particular subdivision.

An overview of Power Query in Power BI

An overview of Power Query in Power BI

Power Query in Power BI plays the role of a data connection technology. It does the data mashup i.e. connect, combine and refine data from many sources to meet the need of our data analysis.

Power Query is available in Excel 2016 or later version of Excel. It can also be added in Excel 2010 as an add-in. It is mainly used for data Extraction-Transformation and Load (ETL) in Excel worksheet or Power BI model.

ETL is something which takes the major portion of time of a data analyst. To ease this task Power Query takes raw data from the source and convert to something more workable form. This form of data is easy to analyze and to draw insights.

Data sources for Power Query

Power Query in Power BI and Excel allows us to extract data from almost any external sources and Excel itself. Here are some examples of the external sources we can bring data from. And there are many more…

Some examples of external sources power query in Power BI can bring data from
Some examples of external sources power query in Power BI can bring data from

After the data has been extracted from the desired source, Power Query helps us clean and prepare the data.

Using Power Query, we can easily append or stack different data tables. We can create relationships by merging different data tables, group and summarize using Pivot feature provided by Power Query.

The beauty of Power Query in Power BI lies in the fact that all this data transformation does not affect the original data set. The data transformation happens in the Power BI memory and we can anytime get back our old data just by removing any particular data transformation step.

Applied Steps can be managed from Query Settings
Applied Steps can be managed from Query Settings

Once we have summarized the data extracted from diverse sources, the report can be refreshed with one click. Every time new data added in the source data folder, Power Query helps us to update the report accordingly with this refresh feature.

Flow of data processing by Power Query in Power BI
Flow of data processing by Power Query in Power BI

The M language and structure of Power Query

The M language is at the core of Power Query. It is the same as the F# language, case sensitive and contains code blocks starting with "let" and "in" as shown below.

let
     <em> variable </em> = <em> expression </em> [,....]
in
     <em> variable </em>

These blocks consists prcocedural steps of declaring and defining variables. Power Query is very flexible with physical position of these logical steps. That means we can declare a variable at the begining of coding and then can define at the last.

But such a type of coding with a different logical and physical structure is very tough to debug. So, unless absolutely necessary, we should maintain the same logical and physical structure of Power Query.

Editing the Power Query

Luckily we don’t need to write the Power Query in Power BI from scratch. It is already written in the background when we perform the data transformation steps. If it is needed we can tweak the Power Query to make desired changes.

First of all, we need to open the data transformation window by clicking the “Transform data” option in Power BI. Then the Power Query can be edited using either the “Advanced Editor” or editing the code for each “Applied Steps” of “Query Settings“.

Editing the Power Query in Power BI
Editing the Power Query in Power BI

The image below consists of an example of Power Query where the data is stored in a variable called “source“. Some other variables are also declared here to store the data with different transformation steps.

The programming blocks of M language

The variables can be of any supported type with a unique name. Only if the variable name contains spaces, then the variable must contain a hashtag in the beginning and enclosed with quotes. It is the protocol of declaring Power Query variables.

Create your own website: the best way to show your work

Personal website to show your work

If you are working on your goal, the best option to share your progress is to create your own website. Create a website on that topic, post regular updates on what you are doing. It will help you to track your growth and to get good advice from people with similar interest.

We all have goals in our life and want to work on them. It needs extra work and time to spare in addition to your full-time job. And you need to do this consistently.

I was always eager to do some practical use of my data analytics and data science knowledge. The only way to know the worth of my knowledge is to share them and get feedback.

There is a saying that “if you want to know how useful the knowledge you have, the best way is to try to do business with it.” I did not mean business, my purpose was just to check if I have something useful to share here on this website.

Why a website?

In this regard creating a website is very helpful. The page views, subscriptions and comments on your posts are indicators of your growth.

These indicators will give you a good idea if your work is loved by people. The regular updates, reader counts will give you the feeling that you are progressing, not stagnant and you are not alone here.

Take my own example. For the first few months, I did not have any pageviews. It was frustrating. I tried to provide articles with good content and kept my fingers crossed that situation will change.

The lean phase

The initial days of any new venture are always tough. We are motivated and start with lots of enthusiasm. As days pass, it becomes difficult to continue the momentum. The motivation starts to fade out. Daily life routine and several other liabilities gradually take us away from the goal.

During these initial days, we do not have any sign of growth. No one knows about our work, have no visibility, no one to appreciate. It is like performing in an empty auditorium. Like opening a new shop without any customer.

So, naturally, how can you keep your momentum? How long the initial motivation keeps you going? Not very long. We need some positive signal to let us know that we are going in the right direction.

The page views started to increase gradually. And it was enough to encourage me to put more effort into my blog. I increased my frequency to post articles and the result was evident from even more pageviews and positive comments from my audience.

It was like I am directly interacting with my readers and they are guiding me towards my goal. I still regret I have wasted too much time. I should have created it long before.

The website is kind of your logbook. The effort you put in every day is being recorded here and nothing gets unaccounted for. Day by day, brick by brick you are building your dream here.

All the bits and pieces which may appear insignificant right now can have big cumulative effect. And help you grab big opportunities in future.

If you are still reading this, I hope have convinced you to create your own website. So lets talk about how to create one. You can get many good videos and literatures online with step by step guide. I will rather share my experience here and tell you how I did it without any prior experience.

Power query Vs DAX: what is the difference?

DAX Vs Power Query

This article presents a discussion on Power query Vs DAX. As they can perform many similar tasks so it is very normal to get confused when to use which one. Except for some features in common these two are completely different in use and syntax.

Power Query performs the query from the source, through ETL process format and store the physical data tables in Excel or Power BI. DAX comes into the picture once the data is already queried from the source to calculate tables and different analysis.

Here we will briefly go through the concepts of these two with uses and example.

Power Query

It is a powerful query language and helps us build queries to mashup data. The name “M” of the M language which is actually behind the Power Query has come from “Mashup”. Power Query is available with Microsoft Excel 2016 Get & Transform and Power Query in Excel.

It is the M language syntax used in both Excel and Power BI Desktop. Mainly used for data Extraction, Transform and Load (ETL). ETL is an important step and allows us to start with our analysis tasks.

  • Power Query is used in both Excel worksheets as well as Power BI models.
  • It has lots of similarities in syntax with F# multi paradigm language which encompasses imperative, functional and object oriented programming methods.
  • Case sensitive and contains programming blocks with “Let" & “In
  • The user may need a little programming experience in order to create advanced data mashup queries.

Power Query is used for query-time transformations in order to shape the data while extracting it.

Uses of Power Query

As mentioned, Power Query is basically for data extraction from the source. So, if we need any kind of data transformation operation to perform, then we will do it using Power Query before loading it into Power BI.

Particularly in Power BI desktop, if we are clicking “Transform” instead of “Load” we are using Power Query or M to make a required transformation in the source data.

Example of Power Query
Example of Power Query

In the above image, we have an example of Power Query, used for calculating the length of the target text.

Suppose the source data has two columns with First Name and Last Name. And we want to concatenate them to create one single name column, then we should use M or Power Query to do that.

It can also be done using DAX but it will require several lines of codes. So better to use M for creating a new column, Pivot or Unpivot in Excel etc during ETL itself.

DAX (Data Analysis Expressions)

DAX has few functions identical to Excel but many other functions too and way powerful than Excel functions. It is used for Power Pivot, summarize, slice and dice complex data. Unlike Power Query, DAX performs In-Memory transformation to analyze the extracted data.

DAX is a common language which can be found in SQL server analysis services Tabular, in Power BI and Power Pivot in Excel.

Use of DAX

As the name suggests, DAX is typically for data analysis tasks. After the data is already extracted, it is used for data modelling and reporting. Data analysis, slice and dice can be easily done with DAX.

It is very similar to Excel functions, does not have any programming blocks like M. So, any person has experience in Excel, can easily use DAX.

While creating Power BI report, DAX helps us to calculate Year to Date, calculate aggregates, ranges and several other analytical tasks easily with built in functions.

Use of DAX
Use of DAX

Here is an example of DAX in the above image. It is used here to create a new column for reporting. The new column calculated the total value of another column. Here you can notice the difference between the syntax of Power Query and DAX.

Final words on Power Query Vs DAX

Power Query and DAX are different. They are built with different purposes, they have different syntax and used in different stages.

Power Query is available both in Excel and Power BI. Users with Excel and the above version has this feature. Whereas DAX is exclusively available with Power BI.

The Data Analysis eXpression language is the far more advanced version of Excel worksheet functions. Still, DAX has many similarities with Excel functions hence easy to use as almost every one of us have experience of using Excel.

Both of them are required to use the Power BI platform to its full potential. You can not chose any one of them as they are specialized for different stages of a complete analytical tasks.

The year of transformation 2020 and the pandemic

The year 2020 was very tough for me. The threat of the COVID-19 pandemic, locked down in isolation something I will never forget in my life. I will also never forget that this testing time helped me to transform my way of thinking.

Life was going smooth up until the corona pandemic strikes hard the country. I was away from my home, at my place of posting, a small town called Jhansi of Indian state Uttar Pradesh.

Busy in my daily routine, I was not even following the update of the spread of the pandemic and all kinds of speculations around it. Our residential campus was almost insulated from the outside world and we used to live in our own micro-climate.

Of course, there was tension mounting in social media and news channels. But again, it was nothing new in 2020. In the recent past, news of some infectious disease during winter has been a routine in one or other part of India. So, we all were sure that this year also it will get vanished as the temperature rise.

Locked-down

It was around 20th March 2020. My family was away from me in my home town. There was news of lockdown speculating. I was planning to bring them. And then all of sudden the nation-wide lockdown announced.

It was like bolt from the blue for me. Locked inside my campus and has no clue when I will be able to meet my family. I was badly missing my 4 years old twins and worried about aged parents at home.

It was kind of a test for me. When you have no idea of the period of your confinement it seems more traumatic. The same happened to me. As the lockdown periods got extended my restlessness increased.

Writing, the source of positivity

I was looking for something to embrace to overcome this tough time, to calm me down. And guess what helped me? Yes… it was again writing.

I emerged myself even more into writing activities. It was then for the first time changed my blog’s topic. I thought it was best to start writing about my own field.

I have spent a lot of time in data analytics and data science in my career. Published a lot of research articles. But all of them in research journals. Which are so technical that they could not be fathomed by any non-technical person.

I always felt the need for articles that can explain these complex topics in easy language. So the demand and my passion, driven me to start writing on small applications and concepts of data science and analytics.

It was all about writing during the whole period of lockdown. And it made me realize the power of writing even more. As always a trying time teaches you the real values of assets you have.

Without it, I may have spent this valuable time being depressed and tense. Rather I have utilized it to the fullest and it is paying the dividend now. I have learned a lot of things since then in the urge of sharing them with my readers.

Experienced the ages old saying that you learn things better when you share them. Felt exited knowing that my little knowledge is also worth sharing.

The year 2020 and lockdown introduced me to my audience which otherwise perhaps remain unknown to me forever.

Reached typing speed 54 WPM !!!

This may sound completely ridiculous to the pro-typists writing more than 100 words per minute or more. But believe me, I achieved this with more than one year of struggle. Yes, I am a slow learner. So I consider it as a success and let me celebrate it 🙂

Here is an article on “Why you should start writing on the internet” which I strongly suggest for reading. Here I have explained why I started my blog and you should too.

Typing speed was one of the main hurdles when I started blogging almost one and a half year back. It took hours to type only a few pages. Could not type without seeing the keyboard and used my two fingers only.

Slow typing was not allowing me to complete my target set for each day. It was frustrating. Consequently, to fix the problem I started to find shortcuts. Tried Google “Speech to text” feature for several days.

The first time I came to know about this feature in Google docs, I was really excited and thought it will make my writing easier. But very soon I found that my English accent is horrible and Google fails to understand almost 80% of the words I pronounce.

Realized that short cuts would not work and I need to learn touch typing if I want to continue with my blogging. I have given it a try earlier also. But it needs a lot of practice and patience in the start. So, on every occasion, the lazy me win over and stopped me from continuing the learning.

But this time situation was different and I was determined. I started learning touch typing in March 2021. I followed several blogs and youtube videos to know the basics of touch typing. But finally, it was all about practice, a lot of practice.

This was the time when Corona just started to gain momentum in India. The Corona terror, lockdown for several weeks were like blessings in disguise for me. I got ample time to practice my new typing skill and improve it. Also, focus on my writing skills.

Today, after exactly one year, my writing speed stands around 54 words per minute. Which is not that bad for an amateur. Below is the screenshot of typing speed test from 10fastfingers.com.