Tipos de datos en los modelos de datos

En un modelo de datos, cada columna tiene un tipo de datos asociado que especifica el tipo de datos que la columna puede contener: números enteros, números decimales, texto, datos de moneda, fechas y horas, etcétera. El tipo de datos también determina qué tipos de operaciones puede hacer en la columna y cuánta memoria se necesita para almacenar los valores de la columna.

Si usa el complemento de Power Pivot, puede cambiar el tipo de datos de una columna. Debe hacer esto si una columna de fecha se importó como una cadena, pero debe ser algo más. Para obtener más información, vea establecer el tipo de datos de una columna en Power Pivot.

En este artículo

Resumen de los tipos de datos

Tipo de datos de tabla

Conversión de tipos de datos implícitos y explícitos en las fórmulas DAX

Tabla de conversiones de datos implícitas

Suma (+)

Resta (-)

Multiplicación (*)

División (/)

Operadores de comparación

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

Resumen de los tipos de datos

La tabla siguiente se enumeran los tipos de datos admitidos en un modelo de datos. Cuando se importan datos o se usa un valor en una fórmula, incluso si el origen de datos contiene un tipo de datos distinto, los datos se convierten a uno de estos tipos de datos. Los datos que se producen como resultado 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

Valor entero de 64 bits (ocho bytes) 1, 2

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

Decimal Number

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

Los números reales son aquellos que pueden tener posiciones decimales. Abarcan un amplio intervalo de valores:

Valores negativos desde -1,79E +308 hasta -2,23E -308

Cero

Valores positivos desde 2,23E -308 hasta 1,79E + 308

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

TRUE/FALSE

Boolean

Valor True o False.

Texto

String

Cadena de datos de carácter Unicode. Pueden ser cadenas, números o fechas representados en un formato de texto.

La longitud de cadena máxima es 268.435.456 caracteres Unicode (256 caracteres mega) 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 las fechas posteriores al 1 de enero de 1900.

Moneda

Moneda

El tipo de datos de moneda permite los valores comprendidos entre -922.337.203.685.477,5808 y 922.337.203.685.477,5807 con cuatro dígitos decimales de precisión fija.

N/D

En blanco

Un tipo en blanco es un tipo de datos de DAX que representa y reemplaza los valores NULL de SQL. Un valor en blanco se puede crear con la función BLANK y se puede comprobar si es tal con la función lógica ISBLANK.

1 Las fórmulas DAX no admiten tipos de datos menores que los enumerados en la tabla.

2 Si intenta importar datos con valores numéricos muy elevados, es posible que la importación no se realice correctamente con el error siguiente:

Error de la base de datos en memoria: La columna '<nombre de columna>' de la tabla '<nombre de la tabla>' contiene un valor, '1.7976931348623157e+308' que no se admite. La operación se ha cancelado.

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

Valor

9223372036854775807

-9223372036854775808

1.7976931348623158e+308

2.2250738585072014e-308

Quite el valor de los datos e intente volver a importarlo.

Tipo de datos de tabla

DAX usa un tipo de datos de tabla en muchas funciones, como los cálculos de inteligencia de tiempo y agregaciones. Algunas funciones requieren una referencia a una tabla; otras funciones devuelven una tabla que puede usarse como entrada para 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 acerca de los requisitos de funciones específicas, vea Referencia de funciones DAX.

Conversiones implícitas y explícitas de tipos de datos en fórmulas DAX

Cada función DAX tiene requisitos concretos acerca de 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 son incompatibles con el tipo de datos requerido por la función, en muchos casos DAX devolverá un error. No obstante, siempre que sea posible DAX intentará convertir implícitamente los datos al tipo requerido. Por ejemplo:

  • Una fecha se puede escribir como una cadena y DAX la analizará, e intentará convertirla a uno de los formatos de fecha y hora de Windows.

  • Se pueden sumar TRUE + 1 y obtener el resultado 2, ya que TRUE se convierte implícitamente al número 1 y se realiza la operación 1+1.

  • Si suma los valores de dos columnas y uno está representado como texto ("12") y el otro como número (12), DAX convierte implícitamente la cadena a un número y, a continuación, realiza la suma para obtener un resultado numérico. La expresión siguiente devuelve 44: = "22" + 22

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

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

Tabla de conversiones de datos implícitas

El tipo de conversión que se realiza está determinada por el operador, que convierte los valores que requiere antes de realizar la operación solicitada. En estas tablas se enumeran los operadores y se indica la conversión que se lleva a cabo en cada tipo de datos de la columna cuando se empareja con el tipo de datos de la fila de intersección.

Nota: Los tipos de datos de texto no se incluyen en estas tablas. Cuando un número se representa en 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 siguiente tabla el encabezado de fila es el minuendo (el lado de la izquierda) y el encabezado de columna es el substraendo (el lado de la derecha).

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 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 a números reales y el valor devuelto también es REAL.

División (/)

En la siguiente tabla, 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 a 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 u hora; se considera que los números y valores de fecha u hora tienen el mismo rango. No se realiza ninguna conversión implícita para los 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 muestran este comportamiento:

=If(False() > "true", "La expresión es true", "La expresión es falsa"), devuelve "Expresión es true"

= IF("12">12,"Expression is true", "Expression is false"), devuelve "Expresión es true".

= IF("12"=12,"Expression is true", "Expression is false"), devuelve "La expresión es falsa"

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

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

Controlar valores en blanco, cadenas vacías y valores cero

En DAX, un valor NULL, el valor en blanco, la celda vacía o un valor que falta se representan todos mediante el mismo tipo de valor, un valor en blanco. También se pueden generar valores en blanco con la función BLANK o comprobar los valores en blanco con la función ISBLANK.

Depende de cada función el modo en que se tratan en las operaciones, como suma o concatenación. En la tabla siguiente se resumen las diferencias entre las fórmulas de DAX y de Microsoft Excel con respecto al modo en que se tratan los valores en blanco.

Expresión

DAX

Excel

BLANK + BLANK

BLANK

0 (cero)

BLANK +5

5

5

BLANK * 5

BLANK

0 (cero)

5/BLANK

Infinito

Error

0/BLANK

NaN

Error

BLANK/BLANK

BLANK

Error

FALSE OR BLANK

FALSE

FALSE

FALSE AND BLANK

FALSE

FALSE

TRUE OR BLANK

TRUE

TRUE

TRUE AND BLANK

FALSE

TRUE

BLANK OR BLANK

BLANK

Error

BLANK AND BLANK

BLANK

Error

Para obtener detalles sobre cómo trata los blancos una determinada función u operador, vea los temas individuales para cada función DAX, en la sección, Referencia de funciones DAX.

Volver al principio

Notas: 

  • Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

  • Para su referencia, puede encontrar la versión en inglés de este artículo aquí. Todos los miembros de la comunidad de Microsoft pueden mejorar este artículo mediante el marco de colaboración en traducciones (CTF). Simplemente, mueva el puntero sobre cualquier frase del artículo y, a continuación, haga clic en "MEJORAR TRADUCCIÓN" en el widget CTF. Haga clic aquí para obtener más información acerca de CTF. Con el uso de CTF, el usuario acepta nuestras Condiciones del servicio.

Ampliar sus conocimientos
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.

×