Tutorial rápido: aprenda los fundamentos de DAX en 30 minutos

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

Este tutorial rápido está destinado a usuarios nuevos de Power Pivot en Excel o de proyectos de modelos tabulares creados en SQL Server Data Tools. Está pensado para ofrecerle una introducción rápida y fácil sobre cómo usar Expresiones de análisis de datos (DAX) para solucionar varios problemas analíticos y de modelado básico de datos. Este tema incluye información conceptual, una serie de tareas que puede completar y algunos cuestionarios para probar lo que ha aprendido. Después de completar este tema, debe tener un buen conocimiento de la mayoría de los conceptos fundamentales básicos de DAX.

¿Qué es DAX?

DAX es una recopilación de funciones, operadores y constantes que se pueden usar en una fórmula o expresión para calcular y devolver uno o varios valores. Dicho más fácilmente, DAX ayuda a crear información de datos nueva que ya está en un modelo.

¿Por qué DAX es tan importante?

Es fácil crear un libro e importar algunos datos en él. Puede incluso crear tablas dinámicas o gráficos dinámicos que muestran información importante sin utilizar las fórmulas de DAX. Pero, ¿qué ocurre si necesita analizar datos críticos de ventas en varias categorías de productos y para distintos intervalos de fechas? ¿O si necesita combinar datos importantes del inventario de varias tablas de orígenes de datos diferentes? Las fórmulas de DAX proporcionan esta capacidad y muchas otras funciones importantes. Aprender a crear fórmulas DAX eficaces le ayudará a sacar el máximo partido de los datos. Cuando obtiene la información que necesita, puede empezar a solucionar los problemas empresariales reales que afectan a la base. Se trata de Business Intelligence y DAX le ayudará a entrar en esa materia.

Requisitos previos

Puede que ya está familiarizado con la creación de fórmulas de Microsoft Excel. Ese conocimiento será útil para comprender DAX, pero incluso si no tiene ninguna experiencia con las fórmulas de Excel, los conceptos descritos aquí le ayudarán a empezar a crear fórmulas y a solucionar los problemas de BI del mundo real inmediatamente.

Nos centraremos específicamente en comprender las fórmulas de DAX que se usan en los cálculos. Ya debe estar familiarizado con los conceptos fundamentales de las columnas y medidas calculadas (también conocidos como campos calculados), que se describen en la ayuda de Power Pivot. También debe estar familiarizado con el Power Pivot en el entorno de creación y las herramientas de Excel.

Libro de ejemplo

La mejor forma de aprender DAX es crear algunas fórmulas básicas, utilizarlas con algunos datos reales y ver los resultados. Los ejemplos y las tareas de este documento usan el libro Contoso Sample DAX Formulas.xlsx. Puede descargar el libro en http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Una vez que tenga el libro descargado en el equipo, ábralo y, después, abra la ventana de Power Pivot.

Empecemos

Nos centraremos en tres conceptos fundamentales muy importantes de DAX: sintaxis, funciones y contexto. Por supuesto, hay otros conceptos importantes en DAX, pero conocer estos tres le proporcionará el mejor fundamento sobre el que basar sus conocimientos de DAX.

Sintaxis

Antes de crear sus propias fórmulas, echemos un vistazo a la sintaxis de las fórmulas de DAX. La sintaxis incluye varios elementos que conforman una fórmula o, más simplemente, cómo se escribe. Por ejemplo, examinemos una fórmula DAX simple utilizada para crear datos nuevos (valores) para cada fila de una columna calculada, denominada Margin, en una tabla FactSales: (los colores del texto de la fórmula únicamente son para fines ilustrativos)

Fórmula de una columna calculada

La sintaxis de esta fórmula incluye los elementos siguientes:

  1. El operador del signo igual (=) indica el principio de la fórmula y cuando esta fórmula se calcule, devolverá un resultado o un valor. Todas las fórmulas que calculan un valor empezarán con un signo de igual.

  2. La columna a la que se hace referencia [SalesAmount] contiene los valores de los que se resta. Una referencia de columna de una fórmula siempre viene entre corchetes []. A diferencia de las fórmulas de Excel que hacen referencia a una celda, una fórmula DAX hace referencia siempre a una columna.

  3. El operador matemático de resta (-).

  4. La columna a la que se hace referencia [TotalCost] contiene los valores que deseamos restar de los valores de la columna [SalesAmount].

Al intentar entender cómo leer una fórmula de DAX, suele ser útil analizar cada uno de los elementos de un idioma en el que piense y hable cada día. Por ejemplo, puede leer esta fórmula como:

En la tabla FactSales, para cada fila de la columna calculada Margin, calcule (=) un valor restando (-) los valores de la columna [TotalCost] de los valores de la columna [SalesAmount].

Echemos un vistazo a otro tipo de fórmula, una que se usa en una medida:

Fórmula de una columna calculada

Esta fórmula incluye los elementos de sintaxis siguientes:

  1. El nombre de la medida suma del importe de ventas. Las fórmulas para las medidas pueden incluir el nombre de la medida, seguido de un signo de dos puntos, seguido de la fórmula de cálculo.

  2. El operador del signo igual (=) indica el principio de la fórmula de cálculo. Cuando se calcule, devolverá el resultado.

  3. La función SUM suma todos los números de la columna [SalesAmount]. Obtendrá más información sobre características más adelante.

  4. Los paréntesis () alrededor de uno o más argumentos. Todas las funciones requieren al menos un argumento. Un argumento pasa un valor a una función.

  5. La tabla a la que se hace referencia FactSales.

  6. La columna a la que se referencia [SalesAmount] en la tabla FactSales. Con este argumento, la función SUM sabe qué columna agregar a SUM.

Puede leer esta fórmula como:

Para el medida denominado suma de importe de ventas, calcular (=) la suma de los valores de la columna [ SalesAmount ] del FactSalestabla.

Cuando se coloca en la zona de colocación valores de una lista de campos de tabla dinámica, esta medida calcula y devuelve los valores definidos por cada celda de la tabla dinámica, por ejemplo, los teléfonos celulares de los Estados Unidos.

Observe que hay algunas diferencias en esta fórmula con respecto a la fórmula que utilizamos para la columna calculada Margin. En particular, incluimos una función, SUM. Las funciones son fórmulas desarrolladas de antemano que facilitan la realización de cálculos y manipulaciones complejas con números, fechas, horas, texto, etc. Obtendrá más información sobre características más adelante.

A diferencia de la columna calculada por margen anterior, verá que la columna [SalesAmount] va precedida de la tabla FactSales a la que pertenece la columna. Esto se conoce como un nombre de columna completo en el que se incluye el nombre de la columna precedido del nombre de la tabla. Las columnas a las que se hace referencia en la misma tabla no requieren que se incluya el nombre de la tabla en la fórmula. Esto puede hacer que las fórmulas largas que hacen referencia a muchas columnas sean más cortas y fáciles de leer. Sin embargo, se recomienda incluir siempre el nombre de tabla en las fórmulas de medida, incluso cuando se está en la misma tabla.

Nota: Si el nombre de una tabla contiene espacios, palabras clave reservadas o caracteres no permitidos, deberá incluir el nombre de la tabla entre comillas simples. También debe escribir los nombres de tabla entre comillas si contiene algún carácter que esté fuera del intervalo ANSI de caracteres alfanumérico, independientemente de que la configuración regional admita el juego de caracteres o no.

Es muy importante que las fórmulas tengan la sintaxis correcta. En la mayoría de los casos, si la sintaxis no es correcta, se devolverá un error de sintaxis. En otros casos, la sintaxis puede ser correcta, pero los valores podrían no ser lo que se esperaba. Power Pivot (y SQL Server Data Tools) incluye IntelliSense, una característica usada para crear fórmulas sintácticamente correctas que lo ayudan a seleccionar los elementos correctos.

Vamos a crear una fórmula simple. Esta tarea le ayudará a entender en mayor medida la sintaxis de las fórmulas y cómo pueden ayudarle las características de IntelliSense de la barra de fórmulas.

Tarea: crear una fórmula sencilla para una columna calculada

  1. Si no está en la ventana de Power Pivot, en Excel, en la cinta de opciones Power Pivot, haga clic en Ventana dePower Pivot.

  2. En la ventana de Power Pivot, haga clic en la tabla FactSales (pestaña).

  3. Desplácese a la columna situada más a la derecha y luego, en el encabezado de columna, haga clic en Agregar columna.

  4. Haga clic en la barra de fórmula situada en la parte superior de la ventana del diseñador de modelos.

    Barra de fórmulas de PowerPivot

    El cursor ahora aparece en la barra de fórmulas. La barra de fórmulas es donde puede escribir una fórmula para una columna calculada o un campo calculado.

    Dediquemos un momento en examinar los tres botones de la parte izquierda de la barra de fórmulas.

    Barra de fórmulas

    Cuando el cursor está activo en la barra de fórmulas, esos tres botones dejan de estar activos. El botón del extremo izquierdo, la X, es simplemente un botón de cancelación. Continúe y haga clic en él. El cursor ya no aparece en la barra de fórmulas y el botón de cancelación y el botón de marca de verificación ya no aparecen. Continúe y haga clic en la barra de fórmulas de nuevo. El botón de cancelación y el botón de marca de verificación ahora reaparecen. Esto significa que está preparado para empezar a escribir una fórmula.

    El botón de marca de verificación es el botón de la fórmula de comprobación. No hay mucho que ver hasta que haya escrito una fórmula. Volveremos a ello dentro de poco.

    Haga clic en el botón de efectos . Verá que aparece un nuevo cuadro de diálogo; el cuadro de diálogo Insertar función. El cuadro de diálogo Insertar función es la forma más sencilla de empezar a introducir una fórmula DAX. Agregaremos una función a una fórmula cuando creemos una medida un poco más tarde, pero por ahora no es necesario agregar una función a la fórmula de la columna calculada. Siga adelante y cierre el cuadro de diálogo Insertar función.

  5. En la barra de fórmulas, escriba un signo de igualdad = y después escriba un corchete de apertura [. Aparecerá una pequeña ventana con todas las columnas de la tabla FactSales. IntelliSense ha entrado en acción.

    Dado que las columnas calculadas siempre se crean en la tabla activa en la que esté, no hay necesidad de preceder el nombre de la columna con el nombre de tabla. Continúe y desplácese hacia abajo y haga doble clic en [SalesQuantity]. También puede desplazarse al nombre de columna que desee y, a continuación, presionar el tabulador.

    El cursor está activo ahora a la derecha de [SalesQuantity].

  6. Escriba un espacio y, después, escriba un operador de resta - (un signo menos) y otro espacio.

  7. Ahora, escriba otro corchete de apertura [. Esta vez, seleccione la columna [ReturnQuantity] y, a continuación, presione Entrar.

    Si obtiene un error, revise cuidadosamente la sintaxis. Si fuera necesario, compárela con la fórmula de la columna calculada Margin descrita anteriormente.

    Cuando presione Entrar para completar la fórmula, la palabra Calculando aparecerá en la barra de estado a lo largo de la parte inferior de la ventana de Power Pivot. Desaparece rápidamente, aunque haya calculado valores nuevos para más de tres millones de filas.

  8. Haga clic con el botón secundario en el encabezado de columna y cambie el nombre de la columna, NetSales.

Eso es, ha creado una fórmula DAX simple pero muy eficaz. Para cada fila de la tabla FactSales, la fórmula NetSales calcula un valor restando el valor de la columna [ReturnQuantity] del valor de la columna [SalesQuantity]. Observe que hemos dicho “Para cada fila”. Esto es una introducción a otro concepto muy importante en DAX: el contexto de fila. Aprenderá más sobre el contexto de fila posteriormente.

Algo realmente importante comprender al escribir un operador en una fórmula DAX es el tipo de datos de los argumentos que está usando. Por ejemplo, si tuviera que escribir la fórmula siguiente = 1 & 2, el valor devuelto sería un valor de texto de "12". Esto se debe a que el operador de y comercial (&) es para la concatenación de texto. DAX interpreta esta fórmula como lectura: calcule un resultado tomando el valor 1 como texto y agregue Value 2 como texto. Ahora, si fuera a escribir = 1 + 2, DAX leerá esta fórmula como: calcule un resultado tomando el valor numérico 1 y agregando el valor numérico 2. El resultado es del curso "3", un valor numérico. DAX calcula los valores resultantes según el operador de la fórmula, no basado en el tipo de datos de las columnas usadas en el argumento. Los tipos de datos en DAX son muy importantes, pero fuera del ámbito de este inicio rápido. Para obtener más información sobre los tipos de datos y los operadores en las fórmulas de DAX, vea la referencia de DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) en libros en pantalla.

Probemos otro. Esta vez, creará una medida escribiendo la fórmula y usando IntelliSense. No se preocupe si no entiende por completo la fórmula. Lo importante es aprender a crear una fórmula con varios elementos combinados en una sintaxis correcta.

Tarea: crear una fórmula de medida

  1. En la tabla FactSales, haga clic en una celda vacía del Área de cálculo. Es el área de celdas vacías de debajo de una tabla en la ventana de Power Pivot.

Área de cálculo de PowerPivot

  1. En la barra de fórmulas, escriba el nombre Previous Quarter Sales:.

  2. Escriba un signo igual = para comenzar la fórmula de cálculo.

  3. Escriba las primeras letras CAL y haga doble clic en la función que desea utilizar. En esta fórmula, desea utilizar la función CALCULATE.

  4. Escriba un paréntesis de apertura ( para comenzar los argumentos que se van a pasar a la función CALCULATE.

    Observe que tras escribir los paréntesis de apertura, IntelliSense muestra los argumentos requeridos para la función CALCULATE. Aprenderá más acerca de los argumentos en un momento.

  5. Escriba las primeras letras de la tabla FactSales y, luego, en la lista desplegable, haga doble clic en FactSales[sales].

  6. Escriba una coma (,) para especificar el primer filtro, después escriba PRE y haga doble clic en la función PREVIOUSQUARTER .

    Después de seleccionar la función PREVIOUSQUARTER, otros paréntesis de apertura aparecen, lo que indica que otro argumento es necesario; esta vez, para la función PREVIOUSQUARTER.

  7. Escriba las primeras letras Dim y haga doble clic en DimDate[DateKey].

  8. Cierre tanto el argumento que se pasa a la función PREVIOUSQUARTER como la función CALCULATE escribiendo dos paréntesis de cierre )).

    La fórmula ahora debe tener el siguiente aspecto:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Haga clic en el botón comprobar fórmula en la barra de fórmulas para validar la fórmula. Si obtiene un error, compruebe cada elemento de la sintaxis.

¡ Lo ha hecho! Acabas de crear una medida con DAX, no una sencilla. Lo que hará esta fórmula es calcular las ventas totales del trimestre anterior, en función de los filtros aplicados en una tabla dinámica o un gráfico dinámico.

Acaba de introducir varios aspectos importantes de las fórmulas de DAX. En primer lugar, esta fórmula incluía dos funciones. Observe que la función PREVIOUSQUARTER está anidada como un argumento que se pasa a la función Calculate. Las fórmulas de DAX pueden contener hasta 64 funciones anidadas. Es improbable que una fórmula contenga tantas funciones anidadas. De hecho, una fórmula de este tipo sería muy difícil de crear y depurar, pero es probable que tampoco sea muy rápida.

En esta fórmula, también usó filtros. Los filtros reducen lo que se calcula. En este caso, seleccione un filtro como argumento, que es realmente otra función. Obtendrá más información sobre los filtros más adelante.

Finalmente, usó la función CALCULATE. Es una de las características más eficaces de DAX. A medida que cree modelos de datos y fórmulas más complejas, probablemente utilizará esta función muchas veces. Explicar la función CALCULATE está fuera del ámbito de este tutorial rápido, pero a medida que vaya aprendiendo más sobre DAX, préstele una atención especial.

Nota: Generalmente, para usar las funciones de inteligencia de tiempo en fórmulas DAX, debe especificar una columna de fecha única usando el cuadro de diálogo Marcar como tabla de fecha. En el libro Contoso DAX Formula Samples.xlsx, la columna DateKey de la tabla DimDate se selecciona como la columna de fecha única.

Crédito adicional

Es posible que esté preguntando lo siguiente: "¿Qué es la fórmula DAX más sencilla que puedo crear?" Bien, la respuesta es ' la fórmula que no tiene que '. Y eso es exactamente lo que puede hacer si usa una función de agregación estándar en una medida. Casi cualquier modelo de datos necesita filtrar y calcular en los datos agregados. Por ejemplo, la función suma de la medida de importe de suma de ventas que vio anteriormente se usa para sumar todos los números de una columna determinada. DAX incluye varias funciones que también agregan valores. Puede crear automáticamente fórmulas con agregaciones estándar mediante la característica autoSuma.

Tarea de crédito adicional: crear una fórmula de medida con la característica autoSuma

  1. En la tabla FactSales, desplácese a la columna ReturnQuantity y haga clic en el encabezado de columna para seleccionar toda la columna.

  2. En la pestaña Inicio , en la cinta de opciones, en el grupo cálculos , haga clic en el botón Autosuma.

Autosuma de PowerPivot

Haga clic en la flecha abajo situada junto a Autosuma y, a continuación, haga clic en promedio (Observe también las demás funciones de agregación estándar que puede usar).

Inmediatamente, se crea una nueva medida con el nombre promedio de ReturnQuantity: seguido de la fórmula = promedio ([ReturnQuantity]).

¿Era fácil? ¿Verdad? Por supuesto, no todas las fórmulas que cree serán tan sencillas. Pero, mediante la característica Autosuma, puede crear fórmulas rápida y fácilmente mediante cálculos de agregación estándar.

Esto debería darle una buena idea de la sintaxis utilizada en las formulas DAX. También ha conocido algunas características realmente valiosas como IntelliSense y Autosuma para ayudarle a crear fórmulas rápidas, sencillas y precisas. Es evidente que puede aprender mucho más acerca de la sintaxis. Un buen lugar para ello es la referencia de DAX o los Libros en pantalla de SQL.

Preguntas sobre sintaxis

  1. ¿Qué hace este botón de la barra de fórmulas?
    botón Función

  2. ¿Qué rodea siempre un nombre de columna en una fórmula DAX?

  3. ¿Cómo escribiría una fórmula para lo siguiente:
    en la tabla DimProduct , para cada fila de la columna calculada UnitMargin , calcule un valor restando valores en la columna costounitario ¿de los valores de la columnaPrecioUnidad?

Las respuestas se proporcionan al final de este tema.

Funciones

Las funciones son fórmulas predefinidas que realizan cálculos utilizando valores específicos, denominados argumentos, especificados en un orden o estructura concretos. Los argumentos pueden ser otras funciones, otra fórmula, referencias de columna, números, texto, valores lógicos como TRUE o FALSE o constantes.

DAX incluye las siguientes categorías de funciones: de fecha y hora, de información, lógicas, matemáticas, estadísticas, de texto y de inteligencia de tiempo. Si está familiarizado con las funciones de las fórmulas de Excel, muchas de las funciones de DAX le parecerán similares; sin embargo, las funciones de DAX son únicas en este sentido:

  • Una función de DAX siempre hace referencia a una columna completa o una tabla. Si solo desea usar valores concretos de una tabla o columna, puede agregar filtros a la fórmula.

  • Si necesita personalizar los cálculos fila a fila, DAX dispone de funciones que permiten usar el valor de la fila actual o un valor relacionado como un tipo de argumento, para realizar cálculos que varían según el contexto. Aprenderá más sobre el contexto posteriormente.

  • DAX incluye muchas funciones que devuelven una tabla, en lugar de un valor. La tabla no se muestra, pero se usa para proporcionar la entrada a otras funciones. Por ejemplo, puede recuperar una tabla y, a continuación, contar los valores distintos que contiene o calcular sumas dinámicas en tablas o columnas filtradas.

  • DAX incluye una serie de funciones de inteligencia de tiempo. Estas funciones le permiten definir o seleccionar rangos de fechas y realizar cálculos dinámicos basados en ellos. Por ejemplo, puede comparar sumas en períodos paralelos.

A veces es complicado saber qué características podría necesitar usar en una fórmula. Power Pivot y el diseñador de modelos tabulares de SQL Server Data Tools incluyen la característica Insertar función, un cuadro de diálogo que le ayuda a seleccionar las funciones por categoría y proporciona descripciones breves para cada función.

Insertar función

Creemos una nueva fórmula que incluya una función que seleccione con la característica Insertar función:

Tarea: agregar una función en una fórmula mediante Insertar función

  1. En la tabla FactSales, desplácese a la columna situada más a la derecha y, a continuación, en el encabezado de columna, haga clic en Agregar columna.

  2. En la barra de fórmulas, escriba un signo igual =.

  3. Haga clic en el botón Insertar función. Insertar función Se abrirá el cuadro de diálogo Insertar función.

  4. En el cuadro de diálogo Insertar función, haga clic en el cuadro de lista seleccionar una categoría. De manera predeterminada, todas las funciones de la categoría todos están seleccionadas y, a continuación, se muestran todas las funciones de la categoría todas . Esto es una gran cantidad de funciones, por lo que deseará filtrar las funciones para que le resulte más fácil encontrar el tipo de función que está buscando.

  5. Para esta fórmula, desea devolver algunos datos que ya existen en otra tabla. Para ello, va a usar una función en la categoría de filtro. Siga adelante y haga clic en la categoría de filtro y, a continuación, en seleccionar una función, desplácese hacia abajo y haga doble clic en la función relacionada. Haga clic en Aceptar para cerrar el cuadro de diálogo Insertar función.

  6. Utilice IntelliSense para ayudarle a buscar y seleccionar la columna DimChannel[ChannelName].

  7. Cierre la fórmula y luego presione Entrar.

  8. Cuando presione Entrar para completar la fórmula, la palabra Calculando aparecerá en la barra de estado a lo largo de la parte inferior de la ventana de Power Pivot. Ahora verá que acaba de crear una nueva columna en la tabla FactSales con la información de canal de la tabla DimChannel.

  9. Cambie el nombre de la columna Canal.

    La fórmula debe tener el siguiente aspecto: =RELATED(DimChannel[ChannelName])

Acabas de introducir otra función muy importante en DAX, la función relacionada . La función correspondiente devuelve valores de otra tabla. Puede usar relacionado si hay una relación entre la tabla en la que se encuentra y la tabla que contiene los valores que desea obtener. Por supuesto, la función RELACIONAda tiene posibilidades inmensos. En este caso, ahora puede incluir el canal de ventas para cada venta de la tabla FactSales. Ahora puede ocultar la tabla DimChannel de la lista de campos de tabla dinámica, para que le resulte más fácil navegar y ver solo la información más importante que realmente necesita. De manera muy similar a la función CALCULAte descrita anteriormente, la función RELACIONAda es muy importante y es probable que la use muchas veces.

Como puede ver, las funciones de DAX pueden ayudarle a crear fórmulas muy eficaces. Solo nos hemos tratado en los conceptos básicos de las funciones. A medida que tus aptitudes de DAX mejoren, crearás fórmulas con muchas funciones diferentes. Uno de los mejores lugares para obtener información detallada sobre todas las funciones de DAX es la referencia de expresiones de análisis de datos (Dax).

Preguntas sobre funciones

  1. ¿A qué hace referencia siempre una función?

  2. ¿Puede una fórmula contener más de una función?

  3. ¿Qué categoría de funciones usaría para concatenar dos cadenas de texto en una sola?

Las respuestas se proporcionan al final de este tema.

Contexto

El contexto es uno de los conceptos más importantes de DAX que debe entender. Hay dos tipos de contexto en DAX: contexto de fila y contexto de filtro. Primero examinaremos el contexto de fila.

Contexto de fila

El contexto de fila se entiende con más facilidad en relación a la fila actual. Por ejemplo, ¿recuerda la columna calculada Margin que vio anterior al tratar sobre la sintaxis? La fórmula =[SalesAmount] - [TotalCost] calcula un valor de la columna Margin para cada fila de la tabla. Los valores de cada fila se calculan a partir de valores en otras dos columnas, [SalesAmount] y [TotalCost], de la misma fila. DAX puede calcular los valores para cada fila de la columna Margin porque tiene el contexto: para cada fila, toma los valores de la columna [TotalCost] y los resta de los valores de la columna [SalesAmount].

En la celda seleccionada que se muestra a continuación, el valor $49,54 de la fila actual se calcula restando el valor $51,54 de la columna [TotalCost] del valor $101,08 de la columna [SalesAmount].

Contexto de la fila en PowerPivot

El contexto de fila no se aplica únicamente a las columnas calculadas. El contexto de fila también se aplica siempre que una fórmula tenga una función que aplique filtros para identificar una sola fila de una tabla. La función aplicará de forma inherente un contexto de fila para cada fila de la tabla a través de la cual está filtrando. Este tipo de contexto de fila se aplica con mayor frecuencia a las medidas.

Contexto de filtro

El contexto de filtro es un poco más difícil de comprender que el contexto de fila. Es más fácil considerar el contexto de filtro como uno o más filtros aplicados en un cálculo que determina un resultado o un valor.

El contexto de filtro no existe en lugar del contexto de fila; en cambio, se aplica además del contexto de fila. Por ejemplo, para restringir más los valores para incluir en un cálculo, puede aplicar un contexto de filtro que no solo especifique el contexto de fila, sino que también especifique únicamente un valor determinado (filtro) en ese contexto de fila.

El contexto de filtro se ve fácilmente en las tablas dinámicas. Por ejemplo, al sumar TotalCost al área Valores y luego sumar el año y la región a las filas o columnas, define un contexto de filtro que selecciona un subconjunto de datos según un año y una región determinados.

¿Por qué el contexto de filtro es tan importante para DAX? Dado que, mientras que el contexto de filtro se puede aplicar más fácilmente mediante la adición de segmentaciones de filas y columnas en una tabla dinámica, el contexto de filtro también se puede aplicar en una fórmula DAX definiendo un filtro con funciones como todas, relacionadas, FILTRAr, calcular, por relaciones y por otras medidas y columnas. Por ejemplo, echemos un vistazo a la siguiente fórmula en una medida denominada StoreSales:

Fórmula

Esta fórmula es claramente más compleja que algunas de las otras fórmulas que ha visto. Sin embargo, para entender mejor esta fórmula, podemos dividirla, como hemos hecho con otras fórmulas.

Esta fórmula incluye los elementos de sintaxis siguientes:

  1. El nombre de la medida StoreSales, seguido por dos puntos:.

  2. El operador del signo igual (=) indica el principio de la fórmula de cálculo.

  3. La función CALCULATE evalúa una expresión, como un argumento, en un contexto que es modificado por los filtros especificados.

  4. Los paréntesis () alrededor de uno o más argumentos.

  5. Una medida [ventas] de la misma tabla como expresión. La medida ventas tiene la fórmula: = suma (FactSales [SalesAmount]).

  6. Una coma (,) separa cada filtro.

  7. La columna a la que se hace referencia y un valor específico DimChannel[ChannelName] =”Store”, como filtro.

Esta fórmula garantizará que solo los valores de ventas, definidos por la medida ventas, como filtro, se calculen únicamente para las filas de la columna DimChannel [ChannelName] con el valor "almacén", como filtro.

Como puede imaginar, poder definir el contexto de filtro dentro de una fórmula tiene una capacidad inmensa. Poder hacer referencia a un valor determinado en una tabla relacionada es solo un ejemplo. No se preocupe si no entiende del todo el contexto inmediatamente. Al crear sus propias fórmulas, entenderá mejor el contexto y por qué es tan importante en DAX.

Preguntas acerca del contexto

  1. ¿Cuáles son los dos tipos de contexto?

  2. ¿Qué es el contexto de filtro?

  3. ¿Qué es el contexto de fila?

Las respuestas se proporcionan al final de este tema.

Resumen

Ahora que tiene un conocimiento básico de los conceptos más importantes de DAX, puede empezar a crear fórmulas de DAX para las columnas y medidas calculadas. En realidad, DAX puede ser un poco complicado de aprender, pero hay muchos recursos disponibles. Después de leer este tema varias veces y experimentar con algunas de sus propias fórmulas, puede obtener más información sobre otros conceptos y fórmulas de DAX que pueden ayudarle a resolver sus propios problemas empresariales. Hay muchos recursos de DAX disponibles en la ayuda de Power Pivot, libros en pantalla de SQL Server, notas del producto y blogs de Microsoft y de los principales profesionales de BI. El wiki del centro de recursos DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) es un excelente lugar para empezar. La referencia de expresiones de análisis de datos (Dax) también es un gran recurso. Asegúrese de guardarlo en sus favoritos.

Las notas del producto DAX en el modelo tabular BI, que puede descargar (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) proporciona una visión más detallada sobre los conceptos presentados aquí con muchos otros conceptos avanzados y fórmulas. Estas notas del producto también usan el mismo libro Contoso DAX Sample Formulas.xlsx que ya tiene.

Respuestas de las preguntas

Sintaxis:

  1. Abra la característica Insertar función.

  2. Corchetes [].

  3. =[UnitPrice] - [UnitCost]

Funciones:

  1. Una tabla y una columna.

  2. Sí. Una fórmula puede contener hasta 64 funciones anidadas.

  3. Funciones de texto.

Contexto:

  1. Contexto de fila y contexto de filtro.

  2. Una o más filtros en un cálculo que determina un único valor.

  3. La fila actual.

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×