Información general sobre expresiones de análisis de datos (DAX)

El lenguaje DAX (Expresiones de análisis de datos) es un lenguaje de fórmulas que permite a los usuarios definir cálculos personalizados en tablas de PowerPivot (columnas calculadas) y en tablas dinámicas de Excel (medidas). DAX incluye algunas de las funciones que se usan en fórmulas de Excel y funciones adicionales que están diseñadas para trabajar con datos relacionales y realizar agregaciones dinámicas.

En esta sección se explican los siguientes conceptos:

  • Dónde usar las fórmulas DAX

  • Cómo se crean las fórmulas DAX

  • Tipos de operaciones que puede realizar con DAX

Información general de las fórmulas DAX

Las fórmulas DAX son muy similares a las fórmulas de Excel. Para crear una, debe escribir un signo igual seguido de una expresión o nombre de función y los argumentos o valores obligatorios. Como en Excel, DAX proporciona una variedad de funciones que se pueden usar para trabajar con cadenas, realizar cálculos mediante fechas y horas o crear valores condicionales.

Sin embargo, las fórmulas de DAX son diferentes en los siguientes puntos relevantes:

  • 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 desea personalizar los cálculos fila a fila, PowerPivot proporciona funciones que permiten usar el valor de la fila actual o un valor relacionado para realizar cálculos que varíen según el contexto.

  • DAX incorpora un tipo de función que devuelve una tabla como resultado, en lugar de un valor único. Estas funciones se pueden usar para proporcionar la entrada a otras funciones, calculando así valores para tablas o columnas completas.

  • Algunas funciones de DAX proporcionan inteligencia de tiempo, que le permite crear cálculos usando intervalos de fechas significativos y comparar los resultados por períodos paralelos.

Dónde usar las fórmulas

Puede usar las fórmulas DAX en tablas de PowerPivot o en tablas dinámicas de Excel:

  • Puede usar fórmulas en columnas calculadas, agregando una columna y escribiendo a continuación una expresión en la barra de fórmulas. Estas fórmulas se crean en la ventana de PowerPivot. Para obtener más información, vea Columnas calculadas.

  • Puede usar fórmulas en medidas. Cree estas fórmulas en Excel, haciendo clic en Agregar medida en una tabla dinámica o gráfico dinámico existente de PowerPivot. Para obtener más información, vea Medidas en PowerPivot.

La misma fórmula puede comportarse de forma diferente dependiendo de si se usa en una columna calculada o una medida. En una columna calculada, la fórmula siempre se aplica a todas las filas de la columna en toda la tabla. Dependiendo del contexto de la fila, el valor podría cambiar. En una medida, sin embargo, el cálculo de resultados depende en gran parte del contexto. Es decir, el diseño de la tabla dinámica y la opción de encabezado de fila y columna afectan a los valores que se emplean en los cálculos. Para obtener más información, vea Contexto de las fórmulas DAX.

Crear fórmulas usando la barra de fórmulas

PowerPivot, al igual que Excel, proporciona una barra de fórmulas para facilitar la creación y modificación de fórmulas, y una función Autocompletar para minimizar los errores tipográficos y sintácticos.

Para escribir un nombre de una tabla   Empiece a escribir el nombre de la tabla. La función Autocompletar fórmula proporciona una lista desplegable que contiene nombres válidos que comienzan con esas letras.

Para escribir el nombre de una columna Escriba un paréntesis y elija la columna en la lista de columnas de la tabla actual. Para una columna de otra tabla, empiece a escribir las primeras letras del nombre de la tabla y, a continuación, elija la columna en la lista desplegable Autocompletar.

Para obtener una descripción acerca de la creación de fórmulas, vea Crear fórmulas para cálculos.

Sugerencias para usar Autocompletar

  • Puede usar la función Autocompletar fórmula en medio de una fórmula existente con funciones anidadas. El texto situado inmediatamente delante del punto de inserción se utiliza para mostrar los valores en la lista desplegable, y todo el texto a continuación del punto de inserción se mantiene inalterado.

  • Los nombres definidos que se crean para las constantes no se muestran en la lista desplegable de la función Autocompletar, pero se pueden escribir igualmente.

  • PowerPivot no agrega el paréntesis de cierre de las funciones, ni hace coincidir automáticamente los paréntesis. Debe asegurarse de que cada función sea correcta sintácticamente ya que, de lo contrario, no podrá guardar o usar la fórmula.

Usar varias funciones en una fórmula

Las funciones se pueden anidar, es decir, puede usar los resultados de una función como argumento de otra función. Puede anidar hasta 64 niveles de funciones en columnas calculadas. Sin embargo, el anidamiento puede dificultar la creación de fórmulas o la solución de sus problemas.

Muchas funciones de PowerPivot están diseñadas para usarse exclusivamente como funciones anidadas. Estas funciones devuelven una tabla, que no se puede guardar directamente como resultado en el libro de PowerPivot, pero que se debe proporcionar como entrada para una función de tabla. Por ejemplo, las funciones SUMX, AVERAGEX y MINX requieren una tabla como primer argumento.

Nota

El anidamiento de funciones dentro de medidas está sujeto a algunas limitaciones, para asegurar que los numerosos cálculos requeridos por las dependencias entre columnas no afecten al rendimiento.

Comparación de funciones de DAX y funciones de Excel

Aunque la biblioteca de funciones de DAX está basada en la biblioteca de funciones de Excel, existen muchas diferencias entre ellas. En esta sección se resumen las diferencias y similitudes entre las funciones de Excel y las funciones de DAX.

  • Muchas funciones de DAX tienen el mismo nombre y el mismo comportamiento general que las funciones de Excel, pero se han modificado para aceptar tipos diferentes de entradas y, en algunos casos, podrían devolver un tipo de datos diferente. Generalmente, las fórmulas de DAX no se pueden usar en un libro de Excel, y las fórmulas de Excel no se pueden emplear en un libro de PowerPivot sin realizar alguna modificación.

  • Las funciones de DAX nunca usan un rango de celdas o un rango como referencia; en su lugar, usan una columna o una tabla como referencia.

  • Las funciones de fecha y hora de DAX devuelven un tipo de datos datetime. En contraste, las funciones de fecha y hora de Excel devuelven un entero que representa una fecha como un número de serie.

  • Muchas de las nuevas funciones de DAX devuelven una tabla de valores o realizan cálculos basados en una tabla de valores como entrada. En cambio, Excel no tiene ninguna función que devuelva una tabla, pero algunas funciones pueden trabajar con matrices. La capacidad de hacer referencia con facilidad a tablas y columnas completas es una nueva característica de PowerPivot.

  • DAX proporciona unas funciones de búsqueda nuevas parecidas a las funciones de búsqueda basada en vectores y matrices de Excel. Sin embargo, las funciones de DAX requieren que se establezca una relación entre las tablas.

  • DAX no admite el tipo de datos variant de Excel. Se espera que los datos de una columna de basen siempre en el mismo tipo de datos. Si los datos no son del mismo tipo, DAX cambia la columna completa al tipo de datos que mejor se acomode a todos los valores.

Volver al principio

Tipos de datos de DAX

Puede importar datos en una hoja de cálculo de PowerPivot desde varios orígenes de datos diferentes que pueden admitir tipos de datos diferentes. Al importar o cargar los datos en un libro y, a continuación, usar los datos en cálculos o en tablas dinámicas, los datos se convierten en uno de los tipos de datos de PowerPivot. Para obtener una lista de tipos de datos, vea Tipos de datos admitidos en libros PowerPivot.

El tipo de datos de tabla es un nuevo tipo de datos en DAX que se utiliza como entrada o salida para muchas nuevas funciones. Por ejemplo, la función FILTER toma una tabla como entrada y genera otra tabla de salida que contiene solo las filas que cumplen las condiciones del filtro. Mediante la combinación de funciones de tabla con funciones de agregación, se pueden realizar cálculos complejos en conjuntos de datos definidos dinámicamente. Para obtener más información, vea Agregaciones en fórmulas.

Volver al principio

Fórmulas y el modelo relacional

La ventana de PowerPivot es un área donde puede trabajar con varias tablas de datos y conectar las tablas en un modelo relacional. Con este modelo, las tablas están conectadas entre sí mediante relaciones, que le permiten crear correlaciones con columnas de otras tablas y crear cálculos más interesantes. Por ejemplo, puede crear fórmulas que sumen los valores de una tabla relacionada y a continuación guardar ese valor en una sola celda. O, para controlar las filas de la tabla relacionada, puede aplicar filtros a las tablas y columnas. Para obtener más información, vea Información general de las relaciones.

Dado que puede vincular tablas usando relaciones, las tablas dinámicas también pueden incluir datos de varias columnas de tablas diferentes.

Sin embargo, dado que las fórmulas pueden funcionar con tablas y columnas completas, necesita diseñar los cálculos de manera diferente a como lo hace en Excel.

  • En general, una fórmula de DAX en una columna siempre se aplica al conjunto completo de valores de la columna (nunca a solo unas filas o celdas).

  • Las tablas de PowerPivot siempre deben tener el mismo número de columnas en cada fila y todas las filas de una columna deben contener el mismo tipo de datos.

  • Cuando las tablas están conectadas por una relación, se espera que se asegure de que las dos columnas utilizadas como claves tienen valores que coinciden en su mayor parte. Dado que PowerPivot no aplica la integridad referencial, es posible tener valores no coincidentes en una columna de clave y sin embargo crear una relación. Sin embargo, la presencia de espacios en blanco o los valores no coincidentes podría afectar a los resultados de las fórmulas y al aspecto de las tablas dinámicas. Para obtener más información, vea Relaciones y búsquedas en las fórmulas.

  • Al vincular tablas en un libro usando relaciones, amplía el ámbito, o contexto, en el que se evalúan las fórmulas. Por ejemplo, las fórmulas de una tabla dinámica pueden verse afectadas por algún filtro o encabezado de fila o columna de la tabla dinámica. Puede escribir fórmulas que manipulan el contexto, pero el contexto puede hacer que también los resultados cambien de maneras que no podrían anticiparse. Para obtener más información, vea Contexto de las fórmulas DAX.

Volver al principio

Medidas y columnas calculadas

Puede crear fórmulas en PowerPivot bien en columnas calculadas, o bien en medidas.

Columnas calculadas

Una columna calculada es una columna que se agrega a una tabla PowerPivot existente. En lugar de pegar o importar los valores de la columna, se crea una fórmula de DAX que los define. Si incluye la tabla PowerPivot en una tabla dinámica (o gráfico dinámico), se puede utilizar la columna calculada tal como lo haría con cualquier otra columna de datos.

Las fórmulas de columnas calculadas son muy similares a las fórmulas creadas en Excel. A diferencia de Excel,sin embargo, no se puede crear una fórmula diferente para las diferentes filas de una tabla; la fórmula de DAX se aplica automáticamente a toda la columna.

Cuando una columna contiene una fórmula, el valor se calcula para cada fila. Los resultados se calculan para la columna en cuanto crea la fórmula. Solo se recalculan los valores de columna si los datos subyacentes están actualizados o si se utiliza el recálculo manual.

Puede crear columnas calculadas que están basadas en las medidas y en otras columnas calculadas. Sin embargo, evite utilizar el mismo nombre para una columna calculada y una medida, pues esto puede causar resultados confusos. Al hacer referencia a una columna, es mejor utilizar una referencia de columna completa, para evitar invocar una medida accidentalmente.

Medidas

Una medida es una fórmula que se crea específicamente para su uso en una tabla dinámica (o gráfico dinámico) que use datos PowerPivot. Las medidas pueden estar basadas en funciones de agregación estándar, como COUNT o SUM, o puede definir su propia fórmula utilizando DAX. Una medida se utiliza en el área Valores de una tabla dinámica. Si desea colocar los resultados calculados en una área diferente de una tabla dinámica, utilice en su lugar una columna calculada.

Para crear una medida, debe agregar primero una tabla dinámica o gráfico dinámico a su libro PowerPivot. Cuando se define una fórmula para una medida, no ocurre nada hasta que la medida se coloca en una tabla dinámica. Al agregar la medida, la fórmula se evalúa para cada celda del área Valores de la tabla dinámica. Puesto que se crea un resultado para cada combinación de encabezados de fila y columna, el resultado para la medida puede ser diferente en cada celda de la tabla dinámica.

La definición de la medida que crea se guarda con su tabla de dato de origen. Aparece en la Lista de campos de PowerPivot y está disponible para todos los usuarios del libro.

Volver al principio

Actualizar los resultados de fórmulas

La actualización de datos y el recálculo son dos operaciones independientes pero relacionadas que debería entender al diseñar un modelo de datos que contiene fórmulas complejas, cantidades grandes de datos o datos que se obtienen de orígenes de datos externos.

La actualización de datos es el proceso de actualizar los datos del libro con nuevos datos de un origen de datos externo. Puede actualizar manualmente los datos a intervalos específicos. O, si ha publicado el libro en un sitio de SharePoint, puede programar una actualización automática de los orígenes externos.

El recálculo es el proceso de actualizar los resultados de las fórmulas y las columnas calculadas del libro para reflejar cualquier cambio de las fórmulas y también cualquier cambio de los datos subyacentes. El recálculo puede afectar al rendimiento de las siguientes maneras:

  • Para una columna calculada, el resultado de la fórmula se debe actualizar siempre, para la columna completa, cada vez que cambia la fórmula.

  • Sin embargo, para una medida los resultados de una fórmula no se calculan hasta que la medida se coloca en el contexto de la tabla dinámica o el gráfico dinámico. También se volverá a calcular la fórmula cuando cambie cualquier encabezado de columna o fila que afecte a los filtros de los datos, o al actualizar la tabla dinámica manualmente.

Para obtener más información, vea los temas siguientes:

Volver al principio

Compatibilidad con modelos tabulares y el modo DirectQuery de Analysis Services

En general, las fórmulas de DAX que crea en PowerPivot son totalmente compatibles con los modelos tabulares de Analysis Services. Sin embargo, si migra el modelo PowerPivot a una instancia de Analysis Services que se ejecuta en modo VertiPaq e implementa el modelo en el modo DirectQuery, existen ciertas limitaciones.

  • Algunas fórmulas de DAX pueden devolver resultados diferentes si implementa el modelo en el modo DirectQuery.

  • Algunas fórmulas pueden producir errores de validación cuando se implementa el modelo en el modo DirectQuery, ya que la fórmula contiene una función de DAX no admitida en un origen de datos relacional.

Para obtener más información, vea http://go.microsoft.com/fwlink/?LinkId=219172.

Vea también

Conceptos

Agregar cálculos a los informes, a los gráficos y a las tablas dinámicas

Tipos de datos admitidos en libros PowerPivot

Información general sobre expresiones de análisis de datos (DAX)

Otros recursos

Referencia de expresiones de análisis de datos (DAX)

Preparar datos para su análisis en PowerPivot

Agregar y mantener datos de PowerPivot