Skip to main content
Get a Quote
Course Enquiry
Contact Us


Business Intelligence has its own unique requirements from a data model. Data must be structured in such a way as to serve the business goals of the system.

A Data Model is created from disparate sources using ETL (Extract Transform Load) in Power Query (used by Microsoft Products like Power BI and Excel). Power Queries are written in a formula language called M.

In this course, we will discuss some of the principles of data modeling and practically write M Language Power Queries.   After this course you will be able to:

  • Design a data model
  • Write M Language Power Queries.
  • Create Data Models using disparate sources.


$350.00 If you are currently resident in South Africa you will need to pay VAT at 15%.

PC Hire:

Or bring your own PC


1 day


Download Brochure

Prices have changed from 1 March 2018. Information may change without notice.

Delivery Method

Instructor Led classroom based training. Scheduled classes are normally held in Woodmead - near to Sandton in Johannesburg, Gauteng, South Africa. Stationary and textbook included. Refreshments, including 2 tea breaks and a cooked meal for lunch are provided for full time courses. Contact hours are between 9am to 4pm.


Users of:

  • Microsoft Power BI Desktop
  • Microsoft Excel Power Pivot


The Power BI boot camp course is a pre-requisite for the course. Alternatively, delegates should have at least 3 months experience in using Power BI Desktop for creating reports and dashboards.

Course Outline / Curriculum

  • Data modeling
    • Star schema design principals
    • Active and inactive relationships
    • Relationship directions
    • Hierarchies
  • M Language and ETL
    • What is Power Query? 
    • Query Folding 
    • How Power Query helps with data acquisition 
    • Editing M Query 
    • Editor 
    • Understanding M 
    • Simple M Language Example 
    • Types 
    • Values 
    • Data Types Examples 
    • M Functions 
    • Text Functions 
    • Text.Select 
    • Text.PositionOf Text.Range 
    • Table and Record Functions 
    • Table.ToRecords 

Schedule Dates and Booking

There are currently no scheduled dates.

Please note that this course needs a minimum of 6 delegates to schedule a course. You can choose to be added to the waiting list by clicking the button below and we will contact you when we have enough delegates interested. Should we not get enough delegates, we will refund or credit your paid booking.

Add me to the waiting list

Should you need this course urgently, the following options are available:

  1. Pay for 6 delegates (whether you have them or not) and we will schedule the course as soon as possible.
  2. If you have fewer delegates and cannot pay for 6, we can negotiate a shortened course where some of the time will be spent in blended learning - watching videos and doing tutorials and exercises with some contact time with the trainer. We would want to discuss what your core needs are so that we cover those aspects. You need to have paid for 3 delegates at least.