Escenarios de DAX en Power Pivot

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

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

  • Realizar cálculos complejos

  • Trabajar con texto y fechas

  • Valores condicionales y pruebas de errores

  • Uso de 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 relación dinámica

Usar un valor de un bucle exterior

Escenarios: trabajar con texto y fechas

Crear una columna de clave por concatenación

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

Definir un formato de número o fecha personalizado

Cambiar los tipos de datos mediante una fórmula

Escenario: valores condicionales y pruebas de errores

Crear un valor basado en una condición

Probar 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 en un intervalo de fechas personalizado

Escenarios: clasificar y comparar valores

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

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

Introducción

Datos de ejemplo

Si no está familiarizado con las fórmulas de DAX, es posible que quiera empezar revisando los ejemplos de los datos de ejemplo 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

Es posible que también desee visitar el sitio wiki del centro de recursos Dax donde puede encontrar toda la información sobre Dax, incluidos blogs, ejemplos, notas del producto y vídeos proporcionados por profesionales líderes del sector y Microsoft.

Escenarios: realizar cálculos complejos

Las fórmulas de DAX pueden realizar cálculos complejos que impliquen agregaciones personalizadas, filtrados y el uso de valores condicionales. En esta sección se proporcionan ejemplos de cómo empezar a realizar cálculos personalizados.

Crear cálculos personalizados para una tabla dinámica

Los cálculos CALCULAn y CALCULATETABLE son funciones eficaces y flexibles que resultan útiles para definir campos calculados. Estas funciones 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 realizar. Consulta los siguientes temas para obtener ejemplos.

Aplicar un filtro a una fórmula

En la mayoría de los lugares donde una función DAX usa una tabla como argumento, normalmente puedes pasar una tabla filtrada en su lugar, usando la función FILTER en lugar del nombre de la tabla, o especificando una expresión de filtro como uno de los argumentos de la función. Los temas siguientes proporcionan ejemplos de cómo crear filtros y cómo afectan los filtros a los resultados de las fórmulas. Para obtener más información, vea filtrar datos en fórmulas de Dax.

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

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

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

  • ¿Cuál fue la contribución de las ventas del producto actual a las ventas totales del año?

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

Las fórmulas que se usan en una tabla dinámica pueden verse afectadas por el contexto de la tabla dinámica, pero puede cambiar el contexto de forma selectiva agregando o quitando filtros. El ejemplo del tema todos muestra cómo hacerlo. Para encontrar la relación de las ventas de un distribuidor específico sobre las ventas de todos los distribuidores, crea una medida que calcula el valor para el contexto actual dividido por el valor del contexto todos.

El tema ALLEXCEPT ofrece un ejemplo de Cómo borrar selectivamente los filtros de una fórmula. En ambos ejemplos se explica cómo cambian los resultados según el diseño de la tabla dinámica.

Para obtener otros ejemplos de cómo calcular índices y porcentajes, vea los siguientes temas:

Usar un valor de un bucle exterior

Además de usar los valores del contexto actual en los cálculos, DAX puede usar un valor de un bucle anterior para crear un conjunto de cálculos relacionados. El siguiente tema muestra un tutorial sobre cómo crear una fórmula que haga referencia a un valor de un bucle exterior. La función anterior admite hasta dos niveles de bucles anidados.

Para obtener más información sobre el contexto de fila y las tablas relacionadas, y cómo usar este concepto en fórmulas, vea contexto en las fórmulas de Dax.

Escenarios: trabajar con texto y fechas

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

Crear una columna de clave por concatenación

Power Pivot no admite claves compuestas; por lo tanto, si tiene claves compuestas en el origen de datos, es posible que deba combinarlas en una sola columna de clave. El siguiente tema proporciona un ejemplo de cómo crear una columna calculada basada en una clave compuesta.

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

Power Pivot usa un tipo de datos de fecha y hora de SQL Server para trabajar con fechas; por lo tanto, si los datos externos contienen fechas que tienen un formato distinto (por ejemplo, si las fechas están escritas en un formato de fecha regional que no reconoce el motor de datos Power Pivot o si los datos usan claves suplentes de enteros), es posible que tenga que usar una fórmula DAX para extraer las partes de fecha y, a continuación, compone las partes en una representación de fecha y hora válida.

Por ejemplo, si tiene una columna de fechas que se ha representado como un entero y después importado como cadena de texto, puede convertir la cadena en un valor de fecha y hora mediante la fórmula siguiente:

= FECHA (derecha ([valor1], 4), izquierda ([valor1], 2), MID ([valor1], 2))

Valor1

Resultado

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Los temas siguientes proporcionan más información sobre las funciones que se usan para extraer y redactar fechas.

Definir un 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 estándar de Windows, puede definir un formato personalizado para asegurarse de que los valores se controlan correctamente. Estos formatos se usan al convertir valores en cadenas o a partir de cadenas. Los temas siguientes 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

En Power Pivot, el tipo de datos de la salida está determinado por las columnas de origen y no se puede especificar explícitamente el tipo de datos del resultado, porque Power Pivot determina el tipo de datos óptimo. Sin embargo, puedes usar las conversiones de tipos de datos implícitas que realiza Power Pivot para manipular el tipo de datos de salida. Para obtener más información sobre las conversiones de tipos, vea obtener datos de ejemplo para los tutoriales de modelo de datos y Dax.

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

    = (HOY ()-3) * 1.0

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

    = "" & hoy ()

Las siguientes funciones también pueden usarse para garantizar que se devuelve un tipo de datos concreto:

Convertir números reales en enteros

Escenario: valores condicionales y pruebas de errores

Al igual que Excel, DAX tiene funciones que le permiten probar valores de los datos y devolver un valor diferente basado en una condición. Por ejemplo, puede crear una columna calculada que etiquetaría a los distribuidores como el preferido o el valor según el importe de las ventas anuales. Las funciones que prueban valores también son útiles para comprobar el intervalo o el tipo de valores, para evitar errores de datos inesperados al dividir los cálculos.

Crear un valor basado en una condición

Puedes usar las condiciones si anidadas para probar valores y generar nuevos valores de forma condicional. Los siguientes temas contienen algunos ejemplos sencillos de procesamiento condicional y valores condicionales:

Probar 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 cualquier parte de una columna Power Pivot, toda la columna se marca con un error, de modo que siempre se deben corregir los errores de fórmula que producen valores no válidos.

Por ejemplo, si crea una fórmula que se divide por cero, es posible que obtenga el resultado infinito o un error. Algunas fórmulas también darán error si la función encuentra un valor en blanco cuando espera un valor numérico. Mientras desarrolla el modelo de datos, es mejor permitir que aparezcan los errores para que pueda hacer clic en el mensaje y solucionar el problema. Sin embargo, al publicar libros, debes incorporar el control de errores para evitar que los valores inesperados causen errores en los cálculos.

Para evitar que se devuelvan errores en una columna calculada, use una combinación de funciones lógicas e información para probar errores y siempre devuelva valores válidos. Los temas siguientes 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 te ayudarán a recuperar fechas o intervalos de fechas de los datos. A continuación, puede usar esas fechas o intervalos de fechas para calcular valores en períodos similares. Las funciones de inteligencia de tiempo también incluyen funciones que funcionan con intervalos de fecha estándar, para permitir comparar valores en meses, años o trimestres. También puede crear una fórmula que compare los valores de la primera y la última fecha de un período especificado.

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

Calcular ventas acumulativas

Los siguientes temas contienen ejemplos de cómo calcular saldos de cierre y de apertura. Los ejemplos le permiten crear saldos de ejecución en diferentes 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 sumas en diferentes períodos de tiempo. Los períodos de tiempo predeterminados que admite DAX son meses, trimestres y años.

Calcular un valor en un intervalo de fechas personalizado

Vea los siguientes temas para obtener ejemplos de cómo recuperar intervalos de fechas personalizados, como los primeros 15 días después del inicio de una promoción de ventas.

Si usa las funciones de inteligencia de tiempo para recuperar un conjunto de fechas personalizado, puede usar ese conjunto de fechas como entrada para una función que realiza cálculos, para crear agregados personalizados a lo largo de los períodos de tiempo. Vea el tema siguiente para obtener un ejemplo de cómo hacerlo:

  • Función PARALLELPERIOD

    Nota: Si no necesita especificar un intervalo de fechas personalizado, pero trabaja con unidades de contabilidad estándar como meses, trimestres o años, le recomendamos que realice cálculos con 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 el número superior de elementos de una columna o tabla dinámica, tiene varias opciones:

  • Puede usar las características de Excel 2010 para crear un filtro superior. También puede seleccionar una serie de valores superiores o inferiores en una tabla dinámica. En la primera parte de esta sección se describe cómo filtrar los 10 elementos superiores de una tabla dinámica. Para obtener más información, consulte la documentación de Excel.

  • Puede crear una fórmula que rango dinámicamente valores y, a continuación, filtrar por los valores de la clasificación o usar el valor de la clasificación como una segmentación. En la segunda parte de esta sección se describe cómo crear esta fórmula y, a continuación, usar esa clasificación en una segmentación de información.

Cada método tiene ventajas e inconvenientes.

  • El filtro principal de Excel es fácil de usar, pero el filtro está destinado únicamente a la visualización. Si los datos subyacentes de la tabla dinámica cambian, debe actualizar manualmente la tabla dinámica para ver los cambios. Si necesita trabajar dinámicamente con clasificaciones, puede usar DAX para crear una fórmula que compare valores con otros valores de una columna.

  • La fórmula DAX es más eficaz; Además, si agrega el valor de clasificación a una segmentación de valores, solo tiene que hacer clic en la segmentación para cambiar el número de valores superiores que se muestran. Sin embargo, los cálculos son caros 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_GT_ 10 mejores.

  3. En el cuadro de diálogo _LT_column name> del filtro 10 mejores , elija la columna que desea clasificar y el número de valores, como se indica a continuación:

    1. Seleccione superior para ver las celdas con los valores superiores o inferiores para ver las celdas con los valores más bajos.

    2. Escriba el número de valores superiores o inferiores que desea ver. El valor predeterminado es 10.

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

Nombre

Descripción

Elementos

Seleccione esta opción para filtrar la tabla dinámica para mostrar solo la lista de elementos superiores o inferiores según sus valores.

Porcentaje

Seleccione esta opción para filtrar la tabla dinámica para mostrar solo los elementos que suman hasta el porcentaje especificado.

Suma

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

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

  2. Haga clic en Aceptar.

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

El siguiente tema contiene un ejemplo de cómo usar DAX para crear un ranking que se almacena en una columna calculada. Dado que las fórmulas de DAX se calculan dinámicamente, siempre puede estar seguro de que la clasificación es correcta incluso si los datos subyacentes han cambiado. Además, dado que la fórmula se usa en una columna calculada, puede usar la clasificación en una segmentación de cálculo y, a continuación, seleccionar 5 superiores, 10 mejores o incluso superiores valores de 100.

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

×