EPEnglishPreps Log InFree Sign Up
Home › Academic Composition › Other Compositions

Course (Part 368)

Other Compositions · English · 1 Nov 2025

🎯 Other Compositions🌐 English📅 1 Nov 2025📖 Course 420 of 683
📚 All Other Compositions compositions
🧠 Test Your Skill10 questions from this composition
Other CompositionsCourse (Part 368)

Course: Microsoft Power BI: PL-300 Certification Prep (Data Analyst)

Here is a concise 13-sentence composition about Getting Started with Power BI DAX: Getting started with Power BI DAX begins by understanding that DAX (Data Analysis Expressions) is the formula language for modeling and analytics in Power BI and related Microsoft products. DAX enables the creation of calculated columns, measures, and calculated tables to extend the data model beyond raw source data. A common first task is to build a calendar table using CALENDAR and the MIN/MAX of a date key, which unlocks time intelligence functions. SUMMARIZECOLUMNS is a powerful query function for grouping by dimensions and defining row-level measures in an aggregated table. When writing DAX queries, remember that visual sort order does not automatically apply; include ORDER BY in your DAX when you need specific ordering. Use DIVIDE for safe division to avoid division-by-zero errors in averages and ratios. You can also page results or focus on a starting point with START AT when evaluating tables. Relationships, cardinality, and filter flow are central to how DAX evaluates expressions across tables, and USERELATIONSHIP is useful when you need to activate an alternate date relationship. Incremental refresh and query folding are essential performance features when working with large datasets and live data sources. Always test roles and implement Row-Level Security (RLS) when delivering reports to users who should see filtered subsets of the model. Leverage the Query Editor (M) for structural transformations and DAX for semantic calculations and aggregations. Practice by summarizing sales by month and category, and iteratively refine your measures and model relationships. Mastery of these concepts provides a strong foundation to build reliable, high-performance Power BI reports. ---

Lesson: Getting Started with Power BI DAX

Topic: Introduction to core DAX concepts, calculated tables, summarization, ordering, and query techniques

Learning Outcomes

  • Explain what DAX is and where it is used (Power BI, Excel, SSAS).
  • Create a basic calculated table (calendar) using CALENDAR/MIN/MAX.
  • Summarize model data using SUMMARIZECOLUMNS and add measures safely with DIVIDE.
  • Write DAX queries with ORDER BY and START AT to control sort and paging.
  • Distinguish active vs inactive relationships and use USERELATIONSHIP when needed.
  • Understand RLS basics (static and dynamic) and deployment considerations.

Conceptual Explanation

Core concept

DAX is a functional language designed for relational data; it powers calculated columns, measures, and calculated tables in Power BI. Use calculated tables for data modeling tasks such as building a date dimension, and use measures for dynamic aggregations that respond to filter context.

Key functions and patterns

  • CALENDAR: build continuous date tables spanning MIN and MAX of a date column.
  • SUMMARIZECOLUMNS: group data by columns and define row-level expressions/measures.
  • DIVIDE: safe division that handles zero denominators.
  • ORDER BY / START AT: explicit ordering and paging in DAX queries.
  • USERELATIONSHIP: activate inactive relationships inside CALCULATE.

Representative DAX snippets

-- Calculated calendar table
Dim_Calendar = CALENDAR(
  MIN('Fact_StrategyPlan'[Datekey]),
  MAX('Fact_StrategyPlan'[Datekey])
)
-- Summarize by month & category (filter Clothing)
EVALUATE
SUMMARIZECOLUMNS(
  'Date'[Month Name],
  'Date'[Month of Year],
  'Product'[Category],
  FILTER( VALUES('Product'[Category]), [Category] = "Clothing" ),
  "Orders", [Orders],
  "Avg Profit per Order", DIVIDE( [Total Sales Profit], [Orders] )
)
ORDER BY 'Date'[Month of Year] ASC
-- Query with paging
EVALUATE
'Sales Order'
ORDER BY 'Sales Order'[Sales Order] ASC
START AT "SO43661"

Bilingual (EN → বাংলা)

English বাংলা (Bangla)
DAX (Data Analysis Expressions) ডিএএক্স (ডেটা বিশ্লেষণ এক্সপ্রেশন)
Calculated table (Calendar) ক্যালকুলেটেড টেবিল (ক্যালেন্ডার)
SUMMARIZECOLUMNS SUMMARIZECOLUMNS (ডেটা গ্রুপিং ফাংশন)
DIVIDE (safe divide) DIVIDE (নিরাপদ ভাগ)
ORDER BY / START AT ORDER BY / START AT (অর্ডার ও পেজিং)

Important Notes

  • DAX queries do not inherit the report visual sort order—use ORDER BY in your query when needed.
  • Use DIVIDE(numerator, denominator, 0) to avoid division-by-zero errors.
  • Prefer calculated tables for model structure (calendar, lookup tables) and measures for on-the-fly aggregations.
  • Test roles and RLS in Power BI Desktop (View as Roles) and assign users in the Service.
  • Enable Incremental Refresh and leverage query folding for large sources to improve performance.

Exercises

True / False

  1. True / False: SUMMARIZECOLUMNS will automatically honor the sorting defined in the Power BI report visual.

    Answer

    False. DAX queries do not automatically use the report visual sort order; include ORDER BY in the DAX query to set sort.

  2. True / False: DIVIDE handles division by zero if you pass an alternate result.

    Answer

    True. DIVIDE(numerator, denominator, alternateResult) returns alternateResult when denominator is zero or blank.

Fill in the Blanks

  1. Fill: To create a calendar table spanning the datekey range, you use __________.

    Answer

    CALENDAR(MIN('Fact_StrategyPlan'[Datekey]), MAX('Fact_StrategyPlan'[Datekey]))

  2. Fill: To safely compute average profit per order use __________ around the division.

    Answer

    DIVIDE([Total Sales Profit], [Orders], 0)

Multiple Choice (MCQ)

  1. Which DAX function groups and returns a table that you can use in EVALUATE?

    • A) CALCULATE
    • B) SUMMARIZECOLUMNS
    • C) DIVIDE
    • D) USERELATIONSHIP
    Answer

    Correct: B) SUMMARIZECOLUMNS. It groups data by specified columns and can be used with EVALUATE to return tabular results.

  2. Which clause lets you start showing query results from a specific key?

    • A) ORDER BY
    • B) START AT
    • C) FILTER
    • D) TOPN
    Answer

    Correct: B) START AT.

Matching

TermDefinition / Match
CALENDAR Creates a continuous date table from min to max dates
USERELATIONSHIP Activates an inactive relationship for a CALCULATE
DIVIDE Safe division with an alternate result
Answer

See the matches above: CALENDAR → date table; USERELATIONSHIP → activate alternate relationship; DIVIDE → safe division.

Descriptive

  1. Explain why you would create a dedicated Date table rather than relying on auto date tables.

    Answer

    A dedicated Date table provides full control: custom columns (fiscal periods, week numbers), consistent joins across facts, better performance, and predictable behavior for time intelligence. Auto date tables are hidden and limited; a custom Dim_Calendar supports sorting, hierarchies, and calculations.

  2. When should you use USERELATIONSHIP in a measure?

    Answer

    Use USERELATIONSHIP when the model has multiple relationships between two tables (for example OrderDate and ShipDate to Date) and you need to evaluate an expression using the inactive relationship temporarily inside CALCULATE.

Creative

Design a short DAX query to show monthly orders and average profit per order for category "Clothing" and ensure months sort chronologically.

Answer
EVALUATE
SUMMARIZECOLUMNS(
  'Date'[Month Name],
  'Date'[Month of Year],
  'Product'[Category],
  FILTER( VALUES('Product'[Category]), [Category] = "Clothing" ),
  "Orders",[Orders],
  "Avg Profit per Order", DIVIDE([Total Sales Profit],[Orders],0)
)
ORDER BY 'Date'[Month of Year] ASC

Activities, Vocabulary, Homework, Practice Task

Activities

  1. Activity: Create Dim_Calendar in your model and add Month Name & Month Number columns.
  2. Answer

    DAX: Dim_Calendar = CALENDAR(MIN('Fact_StrategyPlan'[Datekey]),MAX('Fact_StrategyPlan'[Datekey])) Then add calculated columns for Month Name (FORMAT([Date],"MMMM")) and Month Number (MONTH([Date])).

  3. Activity: Write a SUMMARIZECOLUMNS query to present Orders and Avg Profit per Order for "Clothing".
  4. Answer

    See the DAX example above in Creative answer.

Vocabulary

  • DAX: Data Analysis Expressions
  • CALENDAR: creates date ranges
  • SUMMARIZECOLUMNS: group + aggregate
  • DIVIDE: safe division
  • USERELATIONSHIP: enable inactive relationship
  • START AT: paging start in DAX query

Homework

  1. Implement a calculated calendar and add Quarter and Fiscal Year columns.
  2. Build a measure for Average Profit per Order using DIVIDE and show it in a summary by month.
Answer

Fiscal Year example: FY = IF(MONTH([Date])>=7,YEAR([Date])+1,YEAR([Date])) (adjust fiscal month as needed). Avg Profit measure: Avg Profit per Order = DIVIDE([Total Sales Profit],[Orders],0).

Practice Task

Using your dataset: create a report page that shows a small multiples line chart of monthly sales for each product category, and add a tooltip page that shows Orders and Avg Profit per Order for hovered points.

Answer

Use Dim_Calendar[Month] on Axis, Product[Category] in Small multiples, and measures [Orders] and [Avg Profit per Order] as values. Create a Tooltip page sized as Tooltip and pin cards for Orders and Avg Profit per Order; set the report visual’s tooltip to that page.

Further reading & resources: Power BI documentation on DAX, SUMMARIZECOLUMNS, CALENDAR, DIVIDE, USERELATIONSHIP, and Power Query (M).

Similar compositions

🎓 Want more writing practice?Make academic composition sheets for any class, subject and chapter on AlphaGenEdu - free.
Create free account →