Crear una columna calculada

En este tema se muestra cómo crear una columna calculada basada en datos del libro de ejemplo de DAX y se incluye información acerca de cómo utilizar Autocompletar al crear una fórmula. Para obtener más información acerca de las fórmulas, vea Generar fórmulas para cálculos.

Describir las columnas calculadas

Una columna calculada es una columna que se agrega a una tabla de PowerPivot existente. En lugar de pegar o importar los valores de la columna, se crea una fórmula de DAX que los define. La columna calculada se puede utilizar en una tabla dinámica o un gráfico dinámico como cualquier otra columna de datos.

Las fórmulas de columnas calculadas son muy similares a las fórmulas creadas en Excel. A diferencia de Excel,sin embargo, no se puede crear fórmulas diferentes para las diferentes filas de una tabla; la fórmula de 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 en cuanto crea la fórmula. A continuación, los valores de columna se actualizan según convenga, por ejemplo cuando los datos subyacentes se actualizan.

Puede crear columnas calculadas que están basadas en las medidas y en otras columnas calculadas. Por ejemplo, se podría crear una columna calculada para extraer un número de una cadena de texto y, a continuación, utilizar ese número en otra columna calculada.

Crear una columna calculada

Una columna calculada se basa en los datos que se han agregado en una tabla existente. Por ejemplo, podría decidir concatenar los valores, realizar la suma, extraer las subcadenas o comparar los valores de otros campos. Para agregar una columna calculada, debe haber agregado al menos una tabla de datos al libro de PowerPivot.

En este primer ejemplo se demuestra el uso de Autocompletar para generar una fórmula simple con el fin de usarla en una nueva columna calculada. La fórmula es la siguiente:

=EOMONTH([StartDate],0])

La fórmula extrae el mes de la columna StartDate de la tabla Promotion del libro de ejemplo de DAX. A continuación, calcula el fin del valor de mes de cada fila de la tabla Promotion. El segundo parámetro especifica el número de meses antes o después del mes en StartDate; en este caso, 0 significa el mismo mes. Por ejemplo, si el valor de la columna StartDatees 1/6/2001, el valor de la columna calculada será 30/6/2001.

Para obtener más información acerca del libro de ejemplo, vea Obtener datos de muestra para PowerPivot.

Nota

En Windows Vista y Windows 7, las características de la ventana de PowerPivot están disponibles en una cinta, que se explica en este tema. En Windows XP, las características están disponibles de un conjunto de menús. Si usa Windows XP y desea ver cómo se relacionan los comandos de menú con los comandos de la cinta, vea Interfaz de usuario de PowerPivot en Windows XP.

Para crear una columna calculada mediante Autocompletar

  1. En la ventana de PowerPivot, haga clic en la ficha que contiene la tabla Promotion. Para ver la ficha Promotion, puede que tenga que hacer clic en la flecha abajo a la derecha de las fichas que se muestran.

  2. En la ventana de PowerPivot, en la ficha Diseño, en el grupo Columnas, haga clic en Agregar.

    Agregar columna se resalta sobre la columna vacía situada a la derecha y el cursor se mueve a la barra de fórmulas.

  3. Escriba un signo igual y, a continuación, haga clic en el botón de función (fx).

  4. EOMONTH es una función de fecha y hora, así que seleccione Fecha y hora en la lista desplegable Seleccionar una categoría.

    Las funciones de DAX que están disponibles en el cuadro de diálogo Insertar función están agrupadas por categoría. Puede ver la lista completa de funciones disponibles seleccionando Todos.

    • Presione TAB para desplazarse por la lista desplegable de categorías de funciones, la lista desplegable de funciones y los botones Aceptar y Cancelar.

    • Presione las teclas de dirección arriba y abajo para seleccionar una categoría de funciones o una función individual.

    • Al seleccionar cada función, PowerPivot muestra ayuda para la función, incluida una descripción y una lista de los argumentos obligatorios y opcionales.

  5. En la lista desplegable Seleccionar una función, seleccione EOMONTH y haga clic en Aceptar.

    La barra de fórmulas se actualiza para mostrar la función y los paréntesis de apertura. El cursor se sitúa automáticamente en el lugar donde se escribe el siguiente argumento:

    =EOMONTH( 

    La información sobre herramientas situada bajo la barra de fórmulas indica que la función EOMONTH requiere dos argumentos: el primero es una fecha y el segundo es un valor numérico que representa el número de meses.

  6. Escriba un corchete izquierdo [ para mostrar una lista de columnas de la tabla actual.

    Sugerencia: si la columna está en otra tabla, escriba las primeras letras del nombre de la tabla a la que pertenece la columna y, a continuación, seleccione el nombre de columna completo en la lista.

    En este ejemplo, seleccione[StartDate] en la lista y presione TAB.

    El nombre de la columna se inserta en la fórmula del siguiente modo:

    =EOMONTH ([StartDate]
  7. Escriba una coma, el valor 0 y, a continuación, el paréntesis de cierre.

    La fórmula final debe ser como la siguiente:

    =EOMONTH([StartDate], 0)
  8. Presione ENTRAR para aceptar la fórmula.

    Toda la columna se rellena con la fórmula y se calcula un valor para cada fila.

Cambiar el nombre de una columna calculada

De forma predeterminada, las nuevas columnas calculadas se agregan a la derecha de otras columnas en una hoja de cálculo y automáticamente se asigna a la columna el nombre predeterminado CalculatedColumn1, CalculatedColumn2, etc. Puede reorganizar y cambiar el nombre de las columnas una vez creadas. Tenga en cuenta las siguientes restricciones respecto a los cambios en columnas calculadas:

  • Cada nombre de columna deben ser único en una tabla.

  • Evite nombres ya utilizados para las medidas dentro del mismo libro. Aunque es posible que una medida y una columna calculada tengan el mismo nombre, si los nombres no son únicos puede obtener errores del cálculo con facilidad. Para no invocar una medida accidentalmente, al hacer referencia a una columna use siempre una referencia de columna completa.

  • Al cambiar el nombre de una columna calculada, se deben actualizar las fórmulas que se basan en dicha columna. A menos que esté en modo de actualización manual, la actualización de los resultados de las fórmulas tiene lugar automáticamente. Sin embargo, esta operación podría tardar algún tiempo.

  • Algunos caracteres no se pueden utilizar en los nombres de columnas o de otros objetos de un libro de PowerPivot. Para obtener más información, vea los requisitos de denominación en Especificación de sintaxis de DAX para PowerPivot.

Para cambiar el nombre de una columna calculada existente o editarla

  1. En la ventana de PowerPivot, haga clic con el botón secundario en el encabezado de la columna calculada cuyo nombre desea cambiar y haga clic en Cambiar nombre de columna.

  2. Escriba un nombre nuevo y, a continuación, presione ENTRAR para aceptarlo.

Descripción del rendimiento de las columnas calculadas

La fórmula para una columna calculada puede consumir más recursos que la fórmula para una medida. Uno de los motivos para ello 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 que se usan en la tabla dinámica o el 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 generalmente filtra los datos aplicando encabezados de columnas y de filas; por consiguiente, la medida solo se calcula para el subconjunto de datos en cada celda de la tabla dinámica.

Una fórmula depende de los objetos a los que se hacen referencia en la fórmula, como otras columnas o expresiones que evalúan valores. Por ejemplo, una columna calculada que está 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 los libros; por consiguiente, tales dependencias pueden afectar a rendimiento mientras los valores y las fórmulas se actualizan.

Para evitar tener problemas con el rendimiento al crear columnas calculadas, siga estas directrices:

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

  • Con frecuencia, la modificación de datos requiere que se actualicen las columnas calculadas. Puede evitarlo estableciendo el modo de recálculo en manual; no obstante, si cualquiera de los valores de la columna calculada es incorrecto, aparecerá atenuada hasta que se actualicen y recalculen los datos.

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

  • Si crea una fórmula que contenga una referencia circular o que se haga referencia a sí misma, se producirá un error.