En un modelo de datos, cada columna tiene un tipo de datos asociado que especifica el tipo de datos que puede contener la columna: números enteros, números decimales, texto, datos monetarios, fechas y horas, y así sucesivamente. El tipo de datos también determina qué tipos de operaciones puede realizar en la columna y la cantidad de memoria que se necesita para almacenar los valores en la columna.

Si usa el complemento Power Pivot, puede cambiar el tipo de datos de una columna. Es posible que tenga que hacerlo si una columna de fecha se importó como una cadena, pero necesita que sea otra cosa. Para obtener más información, vea Establecer el tipo de datos de una columna en Power Pivot.

En este artículo

Resumen de tipos de datos

En la tabla siguiente se enumeran los tipos de datos admitidos en un modelo de datos. Al importar datos o usar un valor en una fórmula, incluso si el origen de datos original contiene un tipo de datos diferente, los datos se convierten en uno de estos tipos de datos. Los valores resultantes de las fórmulas también usan estos tipos de datos.

Tipo de datos en Excel

Tipo de datos en DAX

Descripción

Número entero

Un valor entero de 64 bits (ocho bytes) 1, 2

Números que no tienen posiciones decimales. Los números enteros pueden ser números positivos o negativos, pero deben ser números enteros entre -9.223.372.036.854.775.808 (-2^63) y 9.223.372.036.854.775.807 (2^63-1).

Número decimal

Un número real de 64 bits (ocho bytes) 1, 2

Los números reales son números que pueden tener posiciones decimales. Los números reales abarcan un amplio rango de valores:

Valores negativos de -1,79E +308 a -2,23E -308

Cero

Valores positivos de 2,23E -308 a 1,79E + 308

Sin embargo, el número de dígitos significativos se limita a 15 dígitos decimales.

VERDADERO/FALSO

Boolean

Un valor Verdadero o Falso.

Texto

String

Una cadena de datos de caracteres Unicode. Pueden ser cadenas, números o fechas representados en un formato de texto.

La longitud máxima de cadena es de 268.435.456 caracteres Unicode (256 mega caracteres) o 536.870.912 bytes.

Fecha

Fecha y hora

Fechas y horas en una representación de fecha y hora aceptada.

Las fechas válidas son todas después del 1 de enero de 1900.

Moneda

Moneda

El tipo de datos moneda permite valores entre -922.337.203.685.477.5808 a 922.337.203.685.477.5807 con cuatro dígitos decimales de precisión fija.

N/D

En blanco

Un blanco es un tipo de datos de DAX que representa y reemplaza SQL valores nulos. Puede crear un blanco con la función BLANK y probar si hay espacios en blanco con la función lógica ISBLANK.

1 Las fórmulas de DAX no admiten tipos de datos más pequeños que los enumerados en la tabla.

2 Si intenta importar datos que tienen valores numéricos muy grandes, es posible que la importación falle con el siguiente error:

Error de base de datos en memoria: la columna "nombre de columna <>" de la tabla "nombre de tabla <>" contiene un valor, "1,7976931348623157e+308", que no es compatible. La operación se ha cancelado.

Este error se produce porque Power Pivot ese valor para representar valores nulos. Los valores de la lista siguiente son sinónimos del valor nulo:

Valor

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Quite el valor de los datos e intente importar de nuevo.

Tipo de datos de tabla

DAX usa un tipo de datos de tabla en muchas funciones, como agregaciones y cálculos de inteligencia de tiempo. Algunas funciones requieren una referencia a una tabla; otras funciones devuelven una tabla que se puede usar como entrada a otras funciones. En algunas funciones que requieren una tabla como entrada, puede especificar una expresión que se evalúa como una tabla; para algunas funciones, se requiere una referencia a una tabla base. Para obtener información sobre los requisitos de funciones específicas, vea Referencia de función dax.

Conversión implícita y explícita de tipos de datos en fórmulas dax

Cada función DAX tiene requisitos específicos en cuanto a los tipos de datos que se usan como entradas y salidas. Por ejemplo, algunas funciones requieren enteros para algunos argumentos y fechas para otros; otras funciones requieren texto o tablas.

Si los datos de la columna que especifique como argumento no son compatibles con el tipo de datos requerido por la función, DAX en muchos casos devolverá un error. Sin embargo, siempre que sea posible DAX intentará convertir implícitamente los datos en el tipo de datos necesario. Por ejemplo:

  • Puede escribir una fecha como una cadena y DAX analizará la cadena e intentará convertirla como uno de los Windows de fecha y hora.

  • Puede agregar VERDADERO + 1 y obtener el resultado 2, ya que VERDADERO se convierte implícitamente en el número 1 y se realiza la operación 1+1.

  • Si agrega valores en dos columnas y un valor se representa como texto ("12") y el otro como un número (12), DAX convierte implícitamente la cadena en un número y, a continuación, realiza la adición de un resultado numérico. La siguiente expresión devuelve 44: = "22" + 22

  • Si intenta concatenar dos números, Excel los presentará como cadenas y, después, concatenará. La siguiente expresión devuelve "1234": = 12 & 34

En la tabla siguiente se resumen las conversiones implícitas de tipos de datos que se realizan en fórmulas. Excel realiza conversiones implícitas siempre que sea posible, según lo requiera la operación especificada.

Tabla de conversiones de datos implícitas

El tipo de conversión que se realiza lo determina el operador, que convierte los valores que requiere antes de realizar la operación solicitada. Estas tablas muestran los operadores e indican la conversión que se realiza en cada tipo de datos de la columna cuando se empareja con el tipo de datos de la fila intersecante.

Nota: Los tipos de datos de texto no se incluyen en estas tablas. Cuando un número se representa como en un formato de texto, en algunos casos Power Pivot intentará determinar el tipo de número y representarlo como un número.

Suma (+)

Operador (+)

INTEGER

CURRENCY

REAL

Fecha y hora

INTEGER

INTEGER

CURRENCY

REAL

Fecha y hora

CURRENCY

CURRENCY

CURRENCY

REAL

Fecha y hora

REAL

REAL

REAL

REAL

Fecha y hora

Fecha y hora

Fecha y hora

Fecha y hora

Fecha y hora

Fecha y hora

Por ejemplo, si se usa un número real en una operación de suma en combinación con datos de moneda, ambos valores se convierten en REAL y el resultado se devuelve como REAL.

Resta (-)

En la tabla siguiente, el encabezado de fila es el minuend (lado izquierdo) y el encabezado de columna es el subtrahend (lado derecho).

Operador (-)

INTEGER

CURRENCY

REAL

Fecha y hora

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Fecha y hora

Fecha y hora

Fecha y hora

Fecha y hora

Fecha y hora

Por ejemplo, si se usa una fecha en una operación de resta con cualquier otro tipo de datos, ambos valores se convierten en fechas y el valor devuelto también es una fecha.

Nota: Los modelos de datos también admiten el operador unario, - (negativo), pero este operador no cambia el tipo de datos del operando.

Multiplicación (*)

Operador (*)

INTEGER

CURRENCY

REAL

Fecha y hora

INTEGER

INTEGER

CURRENCY

REAL

INTEGER

CURRENCY

CURRENCY

REAL

CURRENCY

CURRENCY

REAL

REAL

CURRENCY

REAL

REAL

Por ejemplo, si un entero se combina con un número real en una operación de multiplicación, ambos números se convierten en números reales y el valor devuelto también es REAL.

División (/)

En la tabla siguiente, el encabezado de fila es el numerador y el encabezado de columna es el denominador.

Operador (/)

(Fila/columna)

INTEGER

CURRENCY

REAL

Fecha y hora

INTEGER

REAL

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

REAL

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

Fecha y hora

REAL

REAL

REAL

REAL

Por ejemplo, si un entero se combina con un valor de moneda en una operación de división, ambos valores se convierten en números reales y el resultado también es un número real.

Operadores de comparación

En las expresiones de comparación, los valores booleanos se consideran mayores que los valores de cadena y los valores de cadena se consideran mayores que los valores numéricos o de fecha y hora; se considera que los números y los valores de fecha y hora tienen la misma jerarquía. No se realizan conversiones implícitas para valores booleanos o de cadena; BLANK o un valor en blanco se convierte en 0/"/false según el tipo de datos del otro valor comparado.

Las siguientes expresiones de DAX ilustran este comportamiento:

=SI(FALSO()>"verdadero", "Expresión es verdadera", "Expresión es falsa"), devuelve "Expresión es verdadera"

=SI("12">12,"Expresión es verdadera", "Expresión es falsa"), devuelve "Expresión es verdadera".

=SI("12"=12,"Expresión es verdadera", "Expresión es falsa"), devuelve "Expresión es falsa"

Las conversiones se realizan implícitamente para tipos numéricos o de fecha y hora, como se describe en la tabla siguiente:

Operador de comparación

INTEGER

CURRENCY

REAL

Fecha y hora

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Fecha y hora

REAL

REAL

REAL

Fecha y hora

Volver al principio

Control de espacios en blanco, cadenas vacías y valores cero

En DAX, un valor nulo en blanco, una celda vacía o un valor que falta se representan con el mismo tipo de valor nuevo, un VALOR EN BLANCO. También puede generar espacios en blanco con la función BLANK o probar si hay espacios en blanco con la función ISBLANK.

La forma en que se administran los espacios en blanco en las operaciones, como la suma o la concatenación, depende de la función individual. En la tabla siguiente se resumen las diferencias entre DAX y Microsoft Excel fórmulas, de la forma en que se controlan los espacios en blanco.

Expresión

DAX

Excel

EN BLANCO + EN BLANCO

EN BLANCO

0 (cero)

BLANK +5

5

5

EN BLANCO * 5

EN BLANCO

0 (cero)

5/EN BLANCO

Infinito

Error

0/EN BLANCO

NaN

Error

EN BLANCO/EN BLANCO

EN BLANCO

Error

FALSO O EN BLANCO

FALSO

FALSO

FALSO Y EN BLANCO

FALSO

FALSO

VERDADERO O EN BLANCO

TRUE

TRUE

VERDADERO Y EN BLANCO

FALSO

VERDADERO

EN BLANCO O EN BLANCO

EN BLANCO

Error

EN BLANCO Y EN BLANCO

EN BLANCO

Error

Para obtener más información sobre cómo una función u operador determinado controla los espacios en blanco, vea los temas individuales de cada función de DAX, en la sección Referencia de función de DAX.

Volver al principio

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cómo de satisfecho está con la calidad de la traducción?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×