DAX | |
---|---|
Semántica | formulaico, funcional , específico del dominio |
clase de idioma | lenguaje de consulta |
Apareció en | 2010 |
Autor | Jeffrey Wang equipo de desarrollo |
Desarrollador | microsoft |
Liberar | Septiembre de 2018 (publicaciones mensuales) (2018) |
sistema de tipos | Dinámica |
Implementaciones principales | Escritorio de Microsoft Power BI , servicios de análisis de Microsoft , Microsoft Excel |
sido influenciado | Microsoft Excel |
influenciado | Microsoft Power BI , Servicios de análisis de Microsoft , Microsoft Excel |
Licencia | n / A |
Plataforma | x86-64, x86-32 |
sistema operativo | Microsoft Windows |
DAX ( English Data Analysis eXpressions - expresiones para el análisis de datos ) es un lenguaje de consulta funcional basado en fórmulas desarrollado y mantenido por Microsoft para construir expresiones y extraer datos que se encuentran en un modelo tabular , un modelo de representación de datos ideológicamente similar a un modelo OLAP multidimensional . Una consulta o expresión DAX se parece a la sintaxis de las fórmulas de Excel , en las que se llaman ciertas funciones del lenguaje, pero, a diferencia de Excel, funciona con columnas completas de una tabla de datos a la vez o con una parte de estas columnas. A diferencia de Excel, el direccionamiento de datos en cualquier celda de una tabla de datos usando DAX es imposible, lo que acerca el lenguaje a SQL o MDX .
Es uno de los tres elementos clave del concepto de construcción de sistemas de BI según Microsoft, junto con las herramientas ETL Power Query y el subsistema de visualización Power View . El uso de DAX está libre de regalías.
Dado que los creadores de DAX se inspiraron en la sintaxis de la fórmula de Excel [1] , cualquier consulta DAX se puede representar como una cadena. Se ignoran los retornos de carro, los espacios y las tabulaciones entre los elementos de la consulta, y las consultas de varias líneas se usan solo para que el código sea más fácil de leer.
Un ejemplo de creación de una nueva medida (análoga a una nueva función en términos de lenguajes de programación), que devuelve la fecha de ayer:
Вчерашняя дата = TODAY () - 1La implementación de PowerPivot para Excel de DAX usa ":=" como infijo de asignación en lugar de "=" en las definiciones de medida; El resto de la sintaxis permanece sin cambios. La consulta DAX para SSAS está precedida por un archivo EVALUATE. En otras implementaciones (por ejemplo, PowerPivot para Excel, Power BI), la palabra clave EVALUATE, así como otras palabras clave ( DEFINE, MEASURE, GROUP BYy ORDERsimilares) no se usan en la interfaz de usuario y se aplican automáticamente.
El resultado de una consulta o expresión puede ser una tabla o un único valor escalar. Más de doscientas funciones de lenguaje incorporadas se dividen en los siguientes grupos:
La sintaxis del idioma está parcialmente localizada: los nombres de las funciones del idioma siempre se escriben en inglés ( ABS, AVERAGE, BLANK, NOW, TODAY, SUMy así sucesivamente), y el separador decimal y el separador de función dependen de la configuración regional del sistema operativo, por ejemplo, en la versión en inglés, un el punto se usa como separador decimal y la coma como separador de funciones (si hay más de una función en la solicitud), y en la localización rusa, se usa una coma por defecto para el separador decimal y un punto y coma ("; ”) se utiliza para separar funciones dentro de la misma solicitud o parámetros de función.
Una característica del lenguaje es garantizar un alto rendimiento de las consultas de datos y centrarse en la computación residente ( es decir, computación en memoria ), por lo que se logra la aceleración de la ejecución de consultas y es posible interactuar de forma interactiva con los elementos de los informes de BI . construido sobre estos datos, creando tableros con las funciones de carga interactiva de detalles ( drill-down ), interfaces de preguntas y respuestas y una serie de otras herramientas similares.
DAX no es un lenguaje de programación. DAX es principalmente un lenguaje de fórmulas, así como un lenguaje de consulta. Puede usar DAX para definir cálculos personalizados para columnas calculadas, medidas, tablas calculadas, grupos de cálculo, cadenas de formato personalizado y expresiones de filtro en seguridad basada en roles en modelos tabulares. El mismo motor de Analysis Services para modelos tabulares también se usa en Power BI y Power Pivot para Excel. Power BI también usa DAX para expresiones de formato condicional y otras propiedades dinámicas de componentes visuales. [3]
Al implementar la tecnología de almacenamiento de datos en columnas en memoria, que se utiliza en los "motores" xVelocity (vertiPaq), se requería un lenguaje de consulta que permitiera manipular los datos almacenados en columnas de datos tabulares (como en las dimensiones MDX). Por otro lado, el lenguaje tendría que ser sintácticamente similar al lenguaje de fórmulas de Excel, que en 2008-2009 era familiar para la gran mayoría de los usuarios empresariales involucrados en el análisis de datos. Sin embargo, la similitud de DAX con el lenguaje de fórmulas de Excel basado en inglés no localizado es más un truco de marketing que una necesidad real de consultas de una sola fila.
Dado que las consultas se realizaron en datos en memoria y no se requirió E/S , el nuevo lenguaje podría ignorar una serie de enfoques de optimización de consultas utilizados en MDX/SQL [4] , lo que da como resultado consultas compactas, un desarrollo más rápido y un rendimiento potencialmente mejor que MDX/SQL.
En 2010, DAX, junto con el modelo de datos tabulares, se integró en SSAS versión 2012 [5] y se lanzó un complemento para Microsoft Excel 2010 Professional, cuya versión se convirtió en Professional Plus.
El experimento fue reconocido como exitoso porque más tarde Microsoft incorporó soporte DAX en todos sus productos de la línea Microsoft Analysis Services de las ediciones Enterprise y Business Intelligence (SQL Server 2014, SQL Server 2016, SQL Server 2017) [6] y versiones extendidas de Microsoft Excel para la plataforma Windows (Excel 2013, Excel 2016), así como implementaciones en la nube en la plataforma Azure [7] [8] .
A principios de 2015, se lanzó el primer producto de la línea Power BI: Power BI Designer, que integró todas las tecnologías "Power" que se incluyeron en forma de complementos o se integraron con Excel: PowerPivot, Power Query, Power View. y mapas de energía. A finales de 2015, este producto integrado cambió su nombre a Power BI Desktop, desde entonces es libre de regalías para uso personal.
Idiomas de consulta | |
---|---|