Escenarios de DAX en Power Pivot

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

En esta sección se proporcionan vínculos a los ejemplos que muestran el uso de fórmulas de DAX en los siguientes escenarios.

  • Realizar cálculos complejos

  • Trabajar con texto y fechas

  • Valores condicionales y probar si hay errores

  • Usar inteligencia de tiempo

  • Clasificar y comparar valores

En este artículo

Introducción

Datos de ejemplo

Recursos adicionales

Escenarios: realizar cálculos complejos

Crear cálculos personalizados para una tabla dinámica

Aplicar un filtro a una fórmula

Quitar filtros de forma selectiva para crear una proporción dinámica

Utilizar un valor de un bucle exterior

Escenarios: trabajar con texto y fechas

Crear una columna de clave por concatenación

Crear una fecha basada en los elementos de fecha extraídos de una fecha de texto

Definir formato de número o fecha personalizado

Cambiar los tipos de datos mediante una fórmula

Escenario: valores condicionales y probar si hay errores

Crear un valor basado en una condición

Probar si hay errores dentro de una fórmula

Escenarios: usar la inteligencia de tiempo

Calcular ventas acumulativas

Comparar valores a lo largo del tiempo

Calcular un valor para un intervalo de fechas personalizado

Escenarios: clasificar y comparar valores

Mostrar solo los diez elementos superiores en una tabla dinámica

Ordenar los elementos de forma dinámica con una fórmula

Introducción

Datos de muestra

Si no está familiarizado con las fórmulas de DAX, puede que desee empezar revisando los ejemplos de datos para Power Pivot. Para obtener más información, vea Obtener datos de ejemplo para los tutoriales de modelo de datos y DAX.

Recursos adicionales

También puede visitar el Centro Wiki de recursos de DAX donde puede encontrar todos los tipos de información sobre DAX incluidos blogs, muestras, las notas y vídeos que proporcionan profesionales líderes de la industria y Microsoft.

Escenarios: realizar cálculos complejos

Las fórmulas de DAX pueden realizar cálculos complejos que implican agregaciones personalizadas, filtros y el uso de valores condicionales. En esta sección se proporcionan ejemplos de cómo comenzar con los cálculos personalizados.

Crear cálculos personalizados para una tabla dinámica

CALCULE y CALCULATETABLE son funciones eficaces y flexibles que resultan de utilidad para campos calculados. Estas funciones le permiten cambiar el contexto en el que se realizará el cálculo. También puede personalizar el tipo de agregación o la operación matemática que se va a efectuar. Para obtener ejemplos, vea los siguientes temas.

Aplicar un filtro a una fórmula

En la mayor parte de los casos en los que una función DAX acepta una tabla como argumento, normalmente se puede pasar en su lugar una tabla filtrada, usar la función FILTER en vez del nombre de tabla o especificar una expresión de filtro como uno de los argumentos de la función. En los siguientes temas se proporcionan ejemplos de cómo crear filtros y del modo en que estos afectan a los resultados de las fórmulas. Para obtener más información, vea Filtrar datos en fórmulas DAX.

La función FILTER le permite especificar los criterios de filtro utilizando una expresión, mientras las otras funciones están diseñadas específicamente para filtrar los valores en blanco.

Quitar filtros de forma selectiva para crear una proporción dinámica

Al crear filtros dinámicos en las fórmulas, puede responder con facilidad preguntas como las siguientes:

  • ¿Cuál fue la contribución de las ventas actuales del producto a las ventas totales anuales?

  • ¿En qué medida ha contribuido esta división en los beneficios de todos los años operativos, en comparación con el resto de divisiones?

Fórmulas que usen en una tabla dinámica pueden verse afectadas por el contexto de la tabla dinámica, pero puede cambiar el contexto selectivamente agregando o quitando los filtros. El ejemplo en el tema de todas las muestra cómo hacerlo. Para encontrar la proporción de ventas de un revendedor determinado sobre las ventas de todos los distribuidores, crear una medida que calcula el valor para el contexto actual dividido por el valor para el contexto de todos.

En el tema ALLEXCEPT se proporciona un ejemplo de cómo borrar filtros en una fórmula de forma selectiva. Ambos ejemplos le muestran cómo cambian los resultados según el diseño de la tabla dinámica.

Para obtener otros ejemplos sobre cómo calcular proporciones y porcentajes, vea los siguientes temas:

Utilizar un valor de un bucle exterior

Además de utilizar los valores del contexto actual en los cálculos, DAX puede utilizar un valor de un bucle anterior para crear un conjunto de cálculos relacionados. En el siguiente tema se proporciona un tutorial para crear una fórmula que hace referencia a un valor de un bucle exterior. La función EARLIER admite hasta dos niveles de bucles anidados.

Para conocer más acerca de cómo afecta el contexto de fila y las tablas relacionadas, y cómo usar este concepto en las fórmulas, vea Contexto en las fórmulas DAX.

Escenarios: trabajar con texto y fechas

Esta sección proporciona vínculos a temas de referencia de DAX que contienen ejemplos de escenarios comunes que implican trabajar con texto, extraer y crear los valores de fecha y hora, o crear valores basados en una condición.

Crear una columna de clave por concatenación

Power Pivot no permite claves compuestas; por consiguiente, si tiene claves compuestas en un origen de datos, es posible que tenga que combinarlas en una columna de clave única. En el siguiente tema se proporciona un ejemplo de cómo crear una columna calculada basada en una clave compuesta.

Crear una fecha basada en los elementos de fecha extraídos de una fecha de texto

Power Pivot utiliza un tipo de datos de fecha y hora de SQL Server para trabajar con fechas; por consiguiente, si los datos externos contienen fechas con un formato diferente (por ejemplo, si se escriben en un formato de fecha regional que no reconozca el motor de datos de Power Pivot, o si los datos utilizan las claves suplentes enteras), puede que tenga que utilizar una fórmula de DAX para extraer las fechas y, a continuación, crear los elementos en una representación de fecha y hora válida.

Por ejemplo, si tiene una columna de fechas que se han representado como un entero y, a continuación, se han importado como una cadena de texto, puede convertir la cadena en un valor de fecha u hora utilizando la siguiente fórmula:

=Date(Right([value1],4),Left([value1],2),Mid([value1],2))

Valor1

Resultado

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

En los siguientes temas se proporciona más información acerca de las funciones que se usan para extraer y crear las fechas.

Definir formato de número o fecha personalizado

Si los datos contienen fechas o números que no se representan en uno de los formatos de texto de Windows estándar, puede definir un formato personalizado para asegurarse de que los valores se administran correctamente. Estos formatos se usan al convertir los valores a cadenas o desde cadenas. Los siguientes temas también proporcionan una lista detallada de los formatos predefinidos que están disponibles para trabajar con fechas y números.

Cambiar los tipos de datos mediante una fórmula

Las columnas de origen determinan el tipo de datos del resultado en Power Pivot, y no se puede especificar el tipo de datos del resultado explícitamente, porque Power Pivot determina el que sea óptimo. Sin embargo, puede utilizar las conversiones de tipos de datos implícitas que realiza Power Pivot para tratar el tipo de datos de salida. Para obtener más información acerca de las conversiones de tipos, vea Obtener datos de ejemplo para los tutoriales de modelo de datos y DAX.

  • Para convertir una fecha o una cadena de número en un número, multiplique por 1,0. Por ejemplo, la siguiente fórmula calcula la fecha actual menos tres días y, a continuación, genera el valor entero correspondiente.

    = (HOY ()-3) * 1.0

  • Para convertir una fecha, número o valor de moneda en una cadena, concatene el valor con una cadena vacía. Por ejemplo, la fórmula siguiente devuelve la fecha de hoy en forma de cadena.

    = "" & Hoy()

Las siguientes funciones también se pueden utilizar para asegurarse de que se devuelve un tipo de datos determinado:

Convertir números reales en enteros

Escenario: valores condicionales y probar si hay errores

Al igual que Excel, DAX incluye funciones que le permiten probar los valores de los datos y devolver un valor diferente basado en una condición. Por ejemplo, podría crear una columna calculada que etiqueta distribuidores como preferida o valor según el importe de ventas anual. Funciones que probar valores también son útiles para comprobar el rango o el tipo de valores, para evitar que los errores de datos inesperados interrumpir los cálculos.

Crear un valor basado en una condición

Puede utilizar condiciones IF anidadas para probar los valores y generar valores nuevos de forma condicional. Los siguientes temas contienen algunos ejemplos sencillos de procesamiento condicional y valores condicionales:

Probar si hay errores dentro de una fórmula

A diferencia de Excel, no puede tener valores válidos en una fila de una columna calculada y valores no válidos en otra fila. Es decir, si hay un error en alguna parte de una columna de Power Pivot, la columna completa se marca con un error, de modo que siempre debe corregir los errores de la fórmula que producen valores no válidos.

Por ejemplo, si crea una fórmula que divide por cero, podría obtener el resultado infinito o un error. También se producirá un error en algunas fórmulas si la función encuentra un valor en blanco cuando espera un valor numérico. Mientras está desarrollando su modelo de datos, es mejor permitir que aparezcan errores para que pueda hacer clic en el mensaje y solucionar el problema. Sin embargo, al publicar los libros, debería incorporar el control de errores para evitar que los valores inesperados hagan que los cálculos no sean correctos.

Para evitar devolver errores en una columna calculada, se utiliza una combinación de funciones lógicas e informativas para comprobar si hay errores y devolver siempre valores válidos. En los siguientes temas se proporcionan algunos ejemplos sencillos de cómo hacer esto en DAX:

Escenarios: usar la inteligencia de tiempo

Las funciones de inteligencia de tiempo de DAX incluyen funciones que le ayudan a recuperar fechas o intervalos de fechas en los datos. Posteriormente, podrá utilizar esas fechas o intervalos de fechas para calcular valores en los períodos similares. Las funciones de inteligencia de tiempo también incluyen funciones que usan intervalos de fechas estándar, para poder comparar los valores a través de los meses, años o trimestres. También podría crear una fórmula que compara los valores correspondientes a la primera y la última fecha de un periodo.

Para obtener una lista todas las funciones de inteligencia de tiempo, vea Funciones de inteligencia de tiempo (DAX). Para obtener sugerencias sobre cómo usar fechas y horas de forma efectiva en un análisis de Power Pivot, vea Fechas en Power Pivot.

Calcular ventas acumulativas

Los siguientes temas contienen ejemplos de cómo calcular los saldos de apertura y cierre. Los ejemplos le permiten crear balances de ejecución en los distintos intervalos como días, meses, trimestres o años.

Comparar valores a lo largo del tiempo

Los siguientes temas contienen ejemplos sobre cómo comparar las sumas en distintos periodos de tiempo. Los períodos de hora predeterminados que admite DAX son meses, trimestres y años.

Calcular un valor para un intervalo de fechas personalizado

Vea los temas siguientes para obtener ejemplos sobre cómo recuperar intervalos de fechas personalizados, como por ejemplo, los primeros 15 días de una promoción de ventas.

Si utiliza las funciones de inteligencia de tiempo para recuperar un conjunto personalizado de fechas, puede utilizar ese conjunto de fechas como entrada para una función que realice cálculos, con el fin de crear agregados personalizados a lo largo del tiempo. Vea el tema siguiente para obtener un ejemplo sobre cómo realizar esta operación:

  • Función PARALLELPERIOD

    Nota: Si no necesita especificar un intervalo de fechas personalizado, pero está trabajando con unidades de contabilidad estándar como meses, trimestres o años, se recomienda realizar los cálculos mediante las funciones de inteligencia de tiempo diseñadas para este propósito, como TOTALQTD, TOTALMTD, TOTALQTD, etc.

Escenarios: clasificar y comparar valores

Para mostrar solo un número n de los primeros elementos de una columna o tabla dinámica, dispone de varias opciones:

  • Puede utilizar las características de Excel 2010 para crear un filtro de los primeros. También puede seleccionar un número de valores de la parte superior o inferior de una tabla dinámica. La primera parte de esta sección describe cómo filtrar los 10 elementos superiores de una tabla dinámica. Para obtener más información, vea la documentación de Excel.

  • Puede crear una fórmula que clasifica los valores de forma dinámica y, a continuación, filtrar por los valores de la clasificación o utilizar el valor de la clasificación como segmentación. La segunda parte de esta sección describe cómo crear esta fórmula y, a continuación, utilizar esa clasificación en una segmentación.

Hay ventajas y desventajas en cada método.

  • El filtro de los superiores en Excel es fácil de utilizar, pero el filtro es solamente para los fines de la presentación. Si los datos que subyacen en la tabla dinámica cambian, debe actualizarla de forma manual para verlos. Si necesita trabajar dinámicamente con clasificaciones, puede utilizar DAX para crear una fórmula que compare los valores con otros dentro de una columna.

  • La fórmula de DAX es más eficaz; es más, al agregar el valor de la clasificación a una segmentación, basta con hacer clic en la segmentación para cambiar el número de valores superiores que se muestran. Sin embargo, los cálculos son caros desde el punto de vista del uso del sistema y este método podría no ser adecuado para tablas con muchas filas.

Mostrar solo los diez elementos superiores en una tabla dinámica

Para mostrar los valores superiores o inferiores en una tabla dinámica

  1. En la tabla dinámica, haga clic en la flecha abajo en el encabezado Etiquetas de fila.

  2. Seleccione Filtros de valor> 10 mejores.

  3. En el cuadro de diálogo Filtro 10 mejores < nombre de columna >, seleccione la columna a la jerarquía y el número de valores, como sigue:

    1. Seleccione Superior para ver las celdas con los valores máximos o Inferior para ver las celdas con los valores mínimos.

    2. Escriba la cifra de los valores superiores o inferiores que desea ver. El valor predeterminado es 10.

    3. Seleccione cómo desea que se muestren los valores:

Nombre

Descripción

Elementos

Seleccione esta opción para filtrar la tabla dinámica con el fin de que muestre solo la lista de los elementos superiores o inferiores según sus valores.

Porcentaje

Seleccione esta opción para filtrar la tabla dinámica con el fin de que muestre solo los elementos que llegan al porcentaje especificado.

Suma

Seleccione esta opción para mostrar la suma de los valores para los elementos superiores o inferiores.

  1. Seleccione la columna que contiene los valores que desea clasificar.

  2. Haga clic en Aceptar.

Ordenar los elementos de forma dinámica con una fórmula

El siguiente tema contiene un ejemplo de cómo utilizar DAX para crear una clasificación que esté almacenada en una columna calculada. Dado que las fórmulas de DAX se calculan dinámicamente, siempre puede asegurarse de que la clasificación es correcta aun cuando los datos subyacentes hayan cambiado. Además, dado que la fórmula se utiliza en una columna calculada, puede utilizar la clasificación en una segmentación y, a continuación, seleccionar los 5, los 10 o incluso los 100 primeros valores.

Nota: 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.

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.

×