Sei sulla pagina 1di 8

Para ver el artículo en inglés, active la casilla Inglés.

También puede ver el texto en inglés


en una ventana emergente si pasa el puntero del mouse por el texto.

Especificación de sintaxis de DAX para


PowerPivot
DAX (Expresiones de análisis de datos) es una biblioteca de funciones, operadores y
constantes que se pueden combinar para crear fórmulas y expresiones en PowerPivot para
Excel. En esta sección se proporcionan detalles sobre la sintaxis y los requisitos del
lenguaje DAX.

Para obtener ejemplos de los tipos de fórmulas que se pueden generar y cómo se pueden
utilizar las expresiones para filtrar tablas y cambiar el contexto, vea Getting Started with
Data Analysis Expressions (DAX). Este tema contiene las siguientes secciones:

Requisitos de sintaxis

Requisitos de los nombres

Funciones

Operadores y constantes

Tipos de datos

Requisitos de sintaxis

Las fórmulas de DAX son muy similares a las fórmulas que se escriben en las tablas de
Excel, pero hay algunas diferencias clave.

 En Microsoft Excel se puede hacer referencia a matrices o celdas individuales; en


PowerPivot, solo se puede hacer referencia a tablas o columnas de datos completas.
Sin embargo, si necesita trabajar con solo parte de una columna, o con valores
únicos en una columna, puede lograr un comportamiento similar usando funciones
de DAX que filtran la columna o devuelven valores únicos.
 Las fórmulas de DAX no admiten exactamente los mismos tipos de datos que
Microsoft Excel. En general, DAX proporciona más tipos de datos que Excel, y
DAX realiza conversiones de tipos implícitas en algunos datos al importar. Para
obtener más información, vea Data Types in DAX.
Una fórmula de DAX siempre comienza con un signo igual (=). Después del signo igual,
puede proporcionar cualquier expresión que se evalúe como un escalar o una expresión que
se puede convertir en un escalar. Entre ellas, figuran:

 Una constante escalar o expresión que usa un operador escalar (+, -, *,/,>=,...&&,...)
 Referencias a columnas o tablas. El lenguaje DAX siempre utiliza tablas y
columnas como entradas para funciones, nunca una matriz o un conjunto arbitrario
de valores.
 Operadores, constantes y valores proporcionados como parte de una expresión.
 El resultado de una función y sus argumentos necesarios. Algunas funciones DAX
devuelven una tabla en lugar de un escalar y se deben ajustar en una función que
evalúa la tabla y devuelve un escalar; a menos que la tabla fuera de una columna y
una fila únicas; entonces se trataría como un valor escalar.

La mayoría de las funciones de PowerPivot requieren uno o varios argumentos, que


pueden ser tablas, columnas, expresiones y valores. Sin embargo, algunas
funciones, como PI, no requieren ningún argumento, pero requieren siempre
paréntesis indicar el argumento NULL. Por ejemplo, siempre se debe escribir PI(),
no PI. También se pueden anidar funciones dentro de otras funciones.

 Expresiones. Una expresión puede contener cualquiera o todos los siguientes:


operadores, constantes o referencias a columnas.

Por ejemplo, todas las fórmulas siguientes son válidas:

Fórmula Resultado
=3 3
="Sales" Sales
Si usa esta fórmula dentro de la tabla Sales, obtendrá el valor de la
='Sales'[Amount]
columna Amount en la tabla Sales para la fila actual.
Tres por ciento del valor de la columna Amount de la tabla actual.
=(0.03 *[Amount])
Aunque esta fórmula se puede utilizar para calcular un porcentaje, el
=0.03 * [Amount] resultado no se muestra como tal a menos que aplique el formato en
la tabla.
=PI() El valor de la constante pi.
Nota
Las fórmulas pueden comportarse de forma diferente dependiendo de si se usan en una
columna calculada o en una medida dentro de una tabla dinámica. Siempre debe ser
consciente del contexto y cómo los datos que usa en la fórmula se relacionan con otros
datos que se podrían utilizar en el cálculo. Para obtener más información, vea Context in
DAX Formulas.

Requisitos de los nombres


Una ventana de PowerPivot puede contener varias tablas, cada una en su propia pestaña.
Juntas, las tablas y sus columnas constituyen una base de datos almacenada en el motor
analítico en memoria xVelocity (VertiPaq) de PowerPivot. Dentro de esa base de datos,
todas las tablas deben tener nombres únicos. Los nombres de columnas también deben ser
únicos en cada tabla. En los nombres de objeto no se distingue entre mayúsculas y
minúsculas; por ejemplo, SALES y sales representarían la misma tabla.

Cada columna y medida que agregue a una base de datos de PowerPivot existente deben
pertenecer a una tabla concreta. Especifique la tabla que contiene la columna de forma
implícita al crear una columna calculada dentro de una tabla, o de forma explícita al crear
una medida, y especifique el nombre de la tabla donde se debe almacenar la definición de la
medida.

Al usar una tabla o columna como una entrada para una función, generalmente debe
calificar el nombre de columna. El nombre completo de una columna está formado por el
nombre de tabla seguido por el nombre de columna entre corchetes: por ejemplo, 'U.S.
Sales'[Products]'. Siempre se requiere un nombre completo al hacer referencia a una
columna en los siguientes contextos:

 Como argumento a la función VALUES


 Como argumento a las funciones ALL o ALLEXCEPT
 En un argumento de filtro para las funciones CALCULE o CALCULATETABLE
 Como argumento a la función RELATEDTABLE
 Como argumento a cualquier función de inteligencia de tiempo

Un nombre de columna no calificado es simplemente el nombre de la columna entre


corchetes, por ejemplo [Sales Amount]. Por ejemplo, cuando se hace referencia a un valor
escalar de la misma fila de la tabla actual, puede usar el nombre de columna no calificado.

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. Por ejemplo, si abre un libro que tiene nombres
de tabla escritos con caracteres cirílicos, por ejemplo ‘Таблица’, el nombre de la tabla debe
estar entre comillas, aunque no contenga espacios.

Nota
Para facilitar la entrada de los nombres de columnas completos, recomendamos usar la
característica Autocompletar fórmula en el cliente.

Tablas
 Los nombres de tabla se requieren siempre que la columna proceda de una tabla
distinta de la tabla actual. Los nombres de tabla deben ser únicos en la base de
datos.
 Los nombres de tabla deben ir entre comillas simples si contienen espacios, otros
caracteres especiales o cualquier carácter alfanumérico que no sea del inglés.

Medidas

 Los nombres de medida siempre deben incluirse entre corchetes.


 Los nombres de medida pueden contener espacios.
 Cada nombre de medida debe ser único dentro de una base de datos. Por
consiguiente, el nombre de tabla es opcional delante de un nombre de medida
cuando haga referencia a una medida existente. Sin embargo, cuando cree una
medida, siempre debe especificar una tabla en la que se almacenará la definición de
la medida.

Columnas

Los nombres de columna deben ser únicos en el contexto de una tabla; sin embargo, varias
tablas pueden tener columnas con los mismos nombres (la desambiguación se produce con
el nombre de tabla).

En general, se puede hacer referencia a las columnas sin hacer referencia a la tabla base a la
que pertenecen, excepto cuando podría haber un conflicto de nombres que resolver o con
ciertas funciones que requieren que los nombres de columna estén completos.

Palabras clave reservadas

Si el nombre que utiliza para una tabla es igual que una palabra clave reservada de Analysis
Services, se produce un error y deberá cambiar el nombre de la tabla. Sin embargo, puede
utilizar palabras clave en nombres de objeto si el nombre de objeto se incluye entre
corchetes (para las columnas) o entre comillas (para las tablas).

Nota
Tenga en cuenta que varios caracteres diferentes pueden representar las comillas,
dependiendo de la aplicación. Si pega fórmulas de un documento externo o página web,
debe comprobar el código ASCII del carácter que se utiliza para las comillas de apertura y
cierre, para asegurarse de que son iguales. De lo contrario, DAX podría no reconocer los
símbolos como comillas, y la referencia no sería válida.

Caracteres especiales

Los siguientes caracteres y tipos de caracteres no son válidos para los nombres de tabla,
columna o medida:
 Los espacios iniciales o finales, a menos que se incluyan entre delimitadores de
nombre, corchetes o apóstrofos únicos.
 Caracteres de control
 Los siguientes caracteres que son no válidos en los nombres de los objetos
PowerPivot:

.,;':/\*|?&%$!+=()[]{}<>

Ejemplos de nombres de objeto

En la siguiente tabla se muestran ejemplos de algunos nombres de objeto:

Tipos de objeto Ejemplos Comentario


Si el nombre de tabla no contiene espacios u otros
Nombre de tabla Sales caracteres especiales, no es necesario que vaya entre
comillas.
Si el nombre contiene espacios, tabulaciones u otros
Nombre de tabla ‘Canada Sales’
caracteres especiales, inclúyalo entre comillas simples.
Nombre
El nombre de tabla precede al nombre de columna y el
completo de Sales[Amount]
nombre de columna se incluye entre corchetes.
columna
El nombre de tabla precede al nombre de la medida y el
Nombre
nombre de la medida se incluye entre corchetes. En
completo de Sales[Profit]
ciertos contextos, siempre se requiere un nombre
medida
completo.
El nombre no calificado simplemente es el nombre de
columna, entre corchetes. Los contextos en los que
Nombre no
puede utilizar el nombre no calificado son, entre otros,
calificado de [Amount]
las fórmulas de una columna calculada dentro de la
columna
misma tabla o en una función de agregación que
examina con la misma tabla.
Nombre
completo de
‘Canada El nombre de tabla contiene espacios, de modo que debe
columna de la
Sales’[Qty] ir entre comillas simples.
tabla con
espacios
Nota
Para facilitar la entrada de los nombres de columnas completos, recomendamos usar la
característica Autocompletar al crear las fórmulas. Para obtener más información, vea
Building Formulas for Calculated Columns and Measures.

Restricciones
La sintaxis necesaria para cada función y el tipo de operación que puede realizar varían en
gran medida según la función. Sin embargo, generalmente las reglas siguientes se aplican a
todas las fórmulas y expresiones:

 Las fórmulas y expresiones de DAX no pueden modificar ni insertar valores


individuales en tablas.
 Con DAX no se pueden crear filas calculadas. Solo se pueden crear medidas y
columnas calculadas.
 Al definir las columnas calculadas, las funciones se pueden anidar en cualquier
nivel.
 DAX tiene varias funciones que devuelven una tabla. Normalmente, se utilizan los
valores devueltos por estas funciones como entrada para otras funciones, que
requieren una tabla como entrada.

Funciones en DAX

DAX proporciona los siguientes tipos de funciones.

 Funciones de fecha y hora (DAX)


 Funciones de filtro (DAX)
 Funciones de información (DAX)
 Funciones lógicas (DAX)
 Funciones matemáticas y trigonométricas (DAX)
 Funciones estadísticas (DAX)
 Funciones de texto (DAX)

Operadores y constantes de DAX

En la tabla siguiente se muestran los operadores admitidos por DAX. En general, los
operadores en DAX se comportan de la misma manera que en Microsoft Excel, con algunas
excepciones menores. Para obtener más información sobre la sintaxis de cada uno de los
operadores, vea Referencia de operadores de DAX para PowerPivot.

Tipo de operador Símbolo y uso


Operador de paréntesis () orden de prioridad y agrupación de argumentos
+ (suma)
Operadores aritméticos
- (resta/
signo)

* (multiplicación)

/ (división)

^ (exponenciación)
= (igual que)

> (mayor que)

< (menor que)


Operadores de comparación
>= (mayor o igual que)

<= (menor o igual que)

<> (no es igual a)


Operador de concatenación de texto & (concatenación)
&& (y)
Operadores lógicos
|| (o)

Tipos de datos en DAX

No es necesario convertir ni especificar el tipo de datos de una columna o valor que se


utiliza en una fórmula de DAX. Cuando se utilizan datos en una fórmula de DAX, DAX
identifica automáticamente los tipos de datos en las columnas a las que se hace referencia y
en los valores que se escriben, y realiza conversiones implícitas donde sea necesario para
completar la operación especificada.

Por ejemplo, si intenta sumar un número a un valor de fecha, al igual que en Excel,
PowerPivot interpretará la operación en el contexto de la función, como Excel, y convertirá
los números a un tipo de datos común; a continuación, presentará el resultado en el formato
previsto, es decir, una fecha.

Sin embargo, hay algunas limitaciones que afectan a los valores que se pueden convertir
correctamente. Si un valor o una columna tiene un tipo de datos incompatible con la
operación actual, DAX devuelve un error. Asimismo, DAX no proporciona funciones que
permiten explícitamente cambiar o convertir el tipo de datos de los datos existentes que ha
importado a un libro de PowerPivot.

Potrebbero piacerti anche