Microsoft certified: Business Data analyst training
iMeta: 3-month training programme

Overview
This was a 3-month Microsoft certified training programme which covered the fundamentals of data analysis using Microsoft Excel, SQL server, python and Microsoft Power BI. The programme included class hours, self-study and assignments, adding up to nearly 200 hours of learning and practice. The modules in the course included:
- Data types and functions
- Models and exceptions
- Object-orientated programming (OOP)
- Data analytics and Big data
- Advanced data analysis and machine learning
Microsoft Excel
The Microsoft Excel module included the following topics:
- Basics: Navigation, formatting, conditional formatting and rules.
- Data cleaning: Formatting, data types, functions, sorting, filtering, removing duplicates and blanks, space trimming, un-stack data.
- Data import: CSV, web scraping.
- Complicated functions: SUMIF, AVERAGEIFS, COUNTIFS, IFS, IFERROR, XLOOKUP.
- Data analysis: Pivot tables, visualisations, dashboard design and slicers for specific audiences.
Key files:
SQL Server
The SQL server module included the following topics:
- Basics: Creation of databases, tables and data types
- Data cleaning: Checking imported tables, CONVERT, DATE
- Manipulating data: Using SELECT, WHERE, GROUP BY, SUM, DATENAME, DATEPART.
- Advanced queries: Using CASE, WHEN, THEN, ELSE
Key files:
Python
The python module included the following topics:
- Basics: Variables, print(), len(), looping, strings.
- In-built functions: Data types, input(), indexing, IF/ELSE/ELIF statements.
- Data structures: Lists, append(), insert(), arrays, tuples, dictionaries.
- Conditional Statements: IF/ELSE/ELIF statements, While.
- Functions: Creating new functions.
Key files:
Basics
.. code:: ipython3
#Position number 0 1 2 3 4
#Word h e l l o
a = 'Hello World'
print(a)
print(a[1]) #Selects the position 1 from the string, 'e'
Hello World
e
.. code:: ipython3
#Selects each character of the string with '\n' being a new line break
print('\n',a[0],'\n',a[1],'\n',a[2],'\n',a[3],'\n',a[4],'\n',a[5],'\n',a[6],'\n',a[7],'\n',a[8],'\n',a[9])
H
e
l
l
o
W
o
r
l
.. code:: ipython3
#Reads length of a string
len(a)
11
.. code:: ipython3
#Looping (for loop)
a = 'Hello World'
for i in a:
print(i)
H
e
l
l
o
W
o
r
l
d
.. code:: ipython3
#Looping (while loop)
a = 'Hello World'
i = 0
while i<len(a):
print(a[i])
i+=1
H
e
l
l
o
W
o
r
l
d
.. code:: ipython3
#Searching a string
x = 'The best things in life are free'
if 'free' in x:
print('Yes it is present')
else:
print('No it is absent')
Yes it is present
.. code:: ipython3
#Searching a string (NOT IN)
x = 'The best things in life are free'
if 'free' not in x:
print('Yes it is absent')
else:
print('No it is present')
No it is absent
.. code:: ipython3
y = '1234567' #Only works with strings
if '7' in y:
print('Yes')
else:
print('No')
Yes
.. code:: ipython3
#Selecting parts of a string continued
a = 'Hello World!'
print(a[2:8]) #Characters 2 to 8
print(a[2:]) #Characters 2 to the end
print(a[:8]) #Characters begining to 8
print(a[0:12:2]) #Characters 0 to 12 jumping by 2 characters each time
llo Wo
llo World!
Hello Wo
HloWrd
IF ELSE ELIF
.. code:: ipython3
#Number program - ver 1
num1 = 13
num2 = 42
print(num1 + num2)
55
.. code:: ipython3
#ver2
num1 = int(input('Enter the first number'))
num2 = int(input('Enter the second number'))
print()
print('The answer is', num1+num2)
Enter the first number 34
Enter the second number 22
The answer is 56
.. code:: ipython3
#ver3
num1 = int(input('Enter the first number'))
num2 = int(input('Enter the second number'))
operator = int(input('Add or subtract? 1 to add, 2 to subtract'))
if operator == 1:
answer = num1 + num2
print(answer)
else:
answer = num1 - num2
print(answer)
print()
print('The answer is', answer)
Enter the first number 33
Enter the second number 22
Add or subtract? 1 to add, 2 to subtract 2
11
The answer is 55
.. code:: ipython3
#ver4
num1 = int(input('Enter the first number'))
num2 = int(input('Enter the second number'))
operator = int(input('Operator? 1 to add, 2 to subtract, 3 to multiply, 4 to divide'))
if operator == 1:
answer = num1 + num2
elif operator == 2:
answer = num1 - num2
elif operator == 3:
answer = num1*num2
elif operator == 4:
answer = num1/num2
print()
print('The answer is', answer)
Enter the first number 34
Enter the second number 22
Operator? 1 to add, 2 to subtract, 3 to multiply, 4 to divide 4
The answer is 1.5454545454545454
.. code:: ipython3
#Reverse indexing (check powerpoint)
word = 'Cheeseman'
print(word[::-1])
ehC
Data structures
.. code:: ipython3
#Python data structures
mylist = ['Addition', 'subtraction', 'multiplication', 'division']
mylist[3]
mixed_list= ['banana', 45.67,21,[32,45,32], 'cheese']
mixed_list[3]
[32, 45, 32]
.. code:: ipython3
mixed_list.append('Apples') #Adds to the list
mixed_list.insert(3,'Chicken')#Inserts value at position indicated, 3 in this case
.. code:: ipython3
print(mixed_list)
['banana', 45.67, 21, [32, 45, 32], 'cheese', 'Apples']
.. code:: ipython3
#ver4
num1 = int(input('Enter the first number'))
num2 = int(input('Enter the second number'))
operator = int(input('Operator? 1 to add, 2 to subtract, 3 to multiply, 4 to divide'))
operator_list = ['+','-','*','/']
print('What is', num1, operator_list[operator-1], num2)
if operator-1 == 0:
answer = num1 + num2
elif operator-1 == 1:
answer = num1 - num2
elif operator-1 == 2:
answer = num1 * num2
elif operator-1 == 3:
answer = num1 / num2
test_answer = int(input('Enter your answer'))
if test_answer == answer:
print('Correct, the answer is ', answer)
else:
print('Incorrect, the correct answer is', answer)
Enter the first number 45
Enter the second number 21
Operator? 1 to add, 2 to subtract, 3 to multiply, 4 to divide 3
What is 45 * 21
Enter your answer 3454
Incorrect, the correct answer is 945
.. code:: ipython3
#Create Hotel reservation programme
hotel_res = {'John Simon':'Room 45', 'Sally Wish':'Room 7', 'Scott Trevor': 'Room 85'}
name = input('Enter your name: ')
if name in hotel_res:
print('Welcome', name, 'your room number is: ', hotel_res.get(name))
Enter your name: John Simon
Welcome John Simon your room number is: Room 45
Conditional Statements
.. code:: ipython3
#Conditional statements
a = 13
b = 28
if a > b:
print(a,'is greater than', b)
elif b > a:
print(b,'is greater than', a)
elif a==b:
print(a,'is equal to', b)
28 is greater than 13
.. code:: ipython3
#Password system (nested if statements)
admin_user = 'admin'
admin_password = 'password123'
username = input('Enter your username: ')
password = input('Enter your password: ')
if username == 'admin':
if password == 'password123':
print('login successful')
else:
print('invalid password')
else:
print('invalid username')
Enter your username: admin
Enter your password: password123
login successful
.. code:: ipython3
#While loops
i = 1
while i < 6:
print(i)
i = i+ 1
1
2
3
4
5
.. code:: ipython3
i = 1
while i < 6:
print(i)
i *= 3 # i times by 3
1
3
.. code:: ipython3
x = 80
while x > 6:
print(x)
x -= 10
80
70
60
50
40
30
20
10
.. code:: ipython3
#Looping through a list
fruits = ['berry', 'banana', 12, 'apples', 25.32]
for i in fruits:
print(i, end = ' ') #end adds something at the end of each item, so a space here
berry banana 12 apples 25.32
.. code:: ipython3
#Functions
def testing():
print('Hello, this is my first function')
testing()
Hello, this is my first function
Functions
.. code:: ipython3
#Function tasks
#Exercise 1
x=34
while x <= 54:
print(x)
x = x+1
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.. code:: ipython3
#Function tasks
#Exercise 2
y=1
sum_list = []
while y <= 100:
sum_list.append(y)
y = y + 1
sum_of_list = sum(sum_list)
print(sum_of_list)
5050
.. code:: ipython3
#Function tasks
#Execise 3
x = 10
while x >= 1:
print(x)
x = x-1
10
9
8
7
6
5
4
3
2
1
.. code:: ipython3
#Function tasks
#Exercise 4
x=1
while x <= 50:
if x % 2 == 0:
print(x)
x = x+1
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
.. code:: ipython3
#Functions task
#Exercise 5
storage = []
x= -1
while x < 0:
x = int(input('Enter a number please: '))
storage.append(x)
sum_storage = sum(storage)
print(sum_storage)
Enter a number please: -4
Enter a number please: -3
Enter a number please: 5
-2
.. code:: ipython3
#University exercise
program = "Accounting"
def program_details():
no_gr8 = int(input("Enter how many subjects to have grade 8: "))
University = input("Enter University name: ")
study_years = int(input("Enter how many years of studies: "))
job_avail= input("Enter lots of jobs or very few position: ")
salary = int(input("Enter entry level salary: "))
print()
print(f"""To study {program} from {University} \nYou need {no_gr8} grade 8 in GCSE core subjects
\nThe programme take {study_years} years to compete\n
\nThe good thing however is that there are {job_avail}
\nStarting salary is {salary} """)
program_details()
.. code:: ipython3
#Break [1,2,3,4,5]
i = 1
while i < 6:
print(i, end = ' ')
if i == 3:
break
i += 1
1 2 3
.. code:: ipython3
i = 0
while i < 6:
i += 1 #same as i = i + 1
if i == 3:
continue
print(i, end = ' ') #3 is not in the final output as it was removed into a continue
1 2 4 5 6
.. code:: ipython3
#Numpy
import numpy as np
import pandas as pa
.. code:: ipython3
a = np.array([1,2,3])
print(a)
[1 2 3]
.. code:: ipython3
b = np.zeros(2)
print(b)
[0. 0.]
.. code:: ipython3
c = np.ones(2)
print(c)
[1. 1.]
.. code:: ipython3
d = np.empty(2)
print(d)
[1. 1.]
.. code:: ipython3
e = np.arange(4)
print(e)
[0 1 2 3]
.. code:: ipython3
#0-D array
g = np.array(54)
print(g)
54
.. code:: ipython3
#1-D array
h = np.array([1,2,3,4,5])
print(h)
[1 2 3 4 5]
.. code:: ipython3
#2-D array
i = np.array([[2,3,4,5],[8,9,10,12]])
print(i)
[[ 2 3 4 5]
[ 8 9 10 12]]
Microsoft Power BI
The Microsoft Power BI module included the following topics:
- Data import: CSV and Excel
- Data transformation: Adding/transforming columns, formatting data types, extracting/splitting/parsing data, power query data distribution and profile. (Power Query)
- Relationships: Related keys, types of relationships and connections. (Model View)
- Measures: Quick and created measures using DAX (Data view)
- Reports: Creating different visualisations using summary statistics and measures, formatting, report design, colour schemes, customisations, slicers and filter interactions. (Report view)
Key files: