Compartir a través de


Columnas calculadas (SSAS Tabular)

Las columnas calculadas, en modelos tabulares, permiten agregar nuevos datos al modelo. En lugar de pegar o importar valores en la columna, se crea una fórmula DAX que define los valores de nivel de fila de la columna. A continuación, la columna calculada se puede usar en un informe, una tabla dinámica o un gráfico dinámico como cualquier otra columna.

Nota:

Las columnas calculadas no se admiten para los modelos tabulares en modo DirectQuery. Para obtener más información, vea Modo DirectQuery (SSAS tabular).

Secciones de este tema:

Ventajas

Las fórmulas de las columnas calculadas son muy similares a las fórmulas de Excel. A diferencia de Excel, sin embargo, no puede crear fórmulas diferentes para filas diferentes en una tabla; en su lugar, la fórmula 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 cuando se escribe una fórmula válida. A continuación, los valores de columna se vuelven a calcular según sea necesario, como cuando se actualizan los datos subyacentes.

Puede crear columnas calculadas basadas en medidas y otras columnas calculadas. Por ejemplo, puede crear una columna calculada para extraer un número de una cadena de texto y, a continuación, usar ese número en otra columna calculada.

Una columna calculada se basa en los datos que ya tiene en una tabla existente o creados mediante una fórmula DAX. Por ejemplo, puede optar por concatenar valores, realizar sumas, extraer subcadenas o comparar los valores de otros campos. Para agregar una columna calculada, debe tener al menos una tabla en el modelo.

En este ejemplo se muestra una fórmula sencilla en una columna calculada:

=EOMONTH([StartDate],0])  
  

Esta fórmula extrae el mes de la columna StartDate. A continuación, calcula el final del valor del mes para cada fila de la tabla. El segundo parámetro especifica el número de meses anteriores o posteriores al mes en StartDate; en este caso, 0 significa el mismo mes. Por ejemplo, si el valor de la columna StartDate es 6/1/2001, el valor de la columna calculada será 6/30/2001.

Asignar un nombre a una columna calculada

De forma predeterminada, se agregan nuevas columnas calculadas a la derecha de otras columnas de una tabla y la columna se asigna automáticamente el nombre predeterminado de CalculatedColumn1, CalculatedColumn2, etc. También puede hacer clic con el botón derecho en una columna y, a continuación, hacer clic en Insertar columna para crear una nueva columna entre dos columnas existentes. Puede reorganizar columnas dentro de la misma tabla haciendo clic y arrastrando, y puede cambiar el nombre de las columnas después de crearlas; sin embargo, debe tener en cuenta las restricciones siguientes sobre los cambios en las columnas calculadas:

  • Cada nombre de columna debe ser único dentro de una tabla.

  • Evite los nombres que ya se han usado para las medidas dentro del mismo modelo. Aunque es posible que una medida y una columna calculada tengan el mismo nombre, si los nombres no son únicos, puede obtener errores de cálculo. Para evitar invocar accidentalmente una medida, cuando se hace referencia a una columna siempre se usa una referencia de columna completa.

  • Al cambiar el nombre de una columna calculada, las fórmulas que se basan en la columna deben actualizarse manualmente. A menos que esté en modo de actualización manual, la actualización de los resultados de las fórmulas se realiza automáticamente. Sin embargo, esta operación puede tardar algún tiempo.

  • Hay algunos caracteres que no se pueden usar en los nombres de las columnas. Para obtener más información, vea "Requisitos de nomenclatura" en especificación de sintaxis DAX para PowerPivot.

Rendimiento de columnas calculadas

La fórmula de una columna calculada puede requerir más recursos que la fórmula usada para una medida. Una razón es que el resultado de una columna calculada siempre se calcula para cada fila de una tabla, mientras que una medida solo se calcula para las celdas definidas por el filtro usado en un informe, tabla dinámica o gráfico dinámico. Por ejemplo, una tabla con un millón de filas siempre tendrá una columna calculada con un millón de resultados y un efecto correspondiente en el rendimiento. Sin embargo, una tabla dinámica normalmente filtra los datos aplicando encabezados de fila y columna; por lo tanto, una medida solo se calcula para el subconjunto de datos de cada celda de la tabla dinámica.

Una fórmula tiene dependencias de los objetos a los que se hace referencia en la fórmula, como otras columnas o expresiones que evalúan valores. Por ejemplo, una columna calculada basada en otra columna o un cálculo que contiene una expresión con una referencia de columna, no se puede evaluar hasta que se evalúe la otra columna. De forma predeterminada, la actualización automática está habilitada en libros; por lo tanto, todas estas dependencias pueden afectar al rendimiento mientras se actualizan los valores y se actualizan las fórmulas.

Para evitar problemas de rendimiento al crear columnas calculadas, siga estas instrucciones:

  • En lugar de crear una única fórmula que contenga muchas dependencias complejas, cree las fórmulas en pasos, con resultados guardados en columnas, de modo que pueda validar los resultados y evaluar el rendimiento.

  • La modificación de los datos a menudo requerirá que se vuelvan a calcular las columnas calculadas. Puede evitarlo estableciendo el modo de actualización en manual; Sin embargo, si alguno de los valores de la columna calculada es incorrecto, la columna aparecerá atenuada hasta que actualice y vuelva a calcular los datos.

  • Si cambia o elimina relaciones entre tablas, las fórmulas que usan columnas de esas tablas no serán válidas.

  • Si crea una fórmula que contiene una dependencia circular o autoreferenciada, se producirá un error.

Tareas relacionadas

Tema Descripción
Crear una columna calculada (SSAS Tabular) Las tareas de este tema describen cómo agregar una nueva columna calculada a una tabla.

Véase también

Tablas y columnas (SSAS tabular)
Medidas (SSAS Tabular)
Cálculos (SSAS Tabular)