DAX - мова формул (розшифровується як Data Analysis eXpressions - вирази для аналізу даних), що була розроблена компанією Microsoft. Дана мова не являється самостійною, а призначена лише для автоматизації розрахунків в додатку PowerPivot для MS Excel.
Коротко кажучи, DAX - це формули для зведених таблиць. Більшість функцій DAX мають схожі імена та характеристики порівняно зі звичайними функціями Excel, проте можуть використовуватись лише в PowerPivot. Як відомо, звичайні Зведені таблиці можуть містити розрахункові поля, проте в цих полях можуть виконуватися лише прості арифметичні дії - додавання-віднімання та множення-ділення. Щоб збільшити функціонал розрахункових полів і був створений DAX. Вцілому, DAX не є складною мовою, як може здатися на перший погляд, потрібно лише зрозуміти принципи її роботи. Різниця між формулами Excel та формулами DAX полягає в тому, що в Excel ми оперуємо окремими комірками та діапазонами, а в DAX можемо звертатися лише до цілих таблиць та їхніх колонок.
Щоб працювати з DAX кодом, нам потрібно встановити PowerPivot для Excel 2010 або перейти на однойменну вкладку у Excel 2013.
Як і в Excel функції DAX відносяться до певних категорій, а саме:
В PowerPivot користувач може створювати розрахункові поля двох типів: Розрахункові стовпці та Міри.
Розрахунковий стовпець - додатковий стовпець, який створюється користувачем в будь-якій таблиці, що завантажена в PowerPivot;
Міра (Measure або Calculated field) - розрахункове поле в зведеній таблиці. Міра використовується в області Значення зведеної таблиці. Щоби розмістити розраховані результати в інші області зведеної таблиці, потрібно використовувати Розрахунковий стовпець.
Одні й тіж формули можуть вести себе по-різному, в залежності від того, використовуються вони в розрахунковому стовці чи в мірі. Якщо формула використовується в розрахунковому стовпці, вона застосовується до кожного рядка стовпця по всій таблиці. Значення може залежати від контексту рядків. У мірі результат обчислень ще більше залежить від контексту. Це означає, що конструкція зведеної таблиці та вибір заголовків рядків і стовпців впливають на значення, які використовуються в обчисленнях.
В мові DAX присутнє також таке поняння як контекст, яке є дуже важливим для розуміння функіонування формул. На формули в PowerPivot можуть впливати фільтри, застосовані в зведеній таблиці, зв'язки між таблицями і фільтри, наявні у формулах. Контекст дозволяє виконувати динамічний аналіз. При побудові та усуненні неполадок у формулах важливо розуміти призначення контексту.
Отже, в DAX існують три типи контексту: контекст фільтра, контекст рядка та контекст запиту.
Контекст фільтра - це набір значень, дозволених в кожному стовпці залежно від обмежень фільтра, які застосовуються до рядка або які визначені критеріями фільтра у формулі.
Контекст рядка - фактично відповідає поняттю поточного рядка. Якщо створений обчислюваний стовпець, то контекстом рядка служать значення в кожному окремому рядку і значення в стовпцях, пов'язаних з поточним рядком.
Контекст запиту - відноситься до підмножини даних, які неявним чином створюються для кожної комірки зведеної таблиці в залежності від заголовків рядка і стовпця в зведеній таблиці.