Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

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

  • Realizar cálculos complejos

  • Trabajar con texto y fechas

  • Valores condicionales y pruebas de errores

  • Usar inteligencia de tiempo

  • Clasificar y comparar valores

En este artículo

Introducción

Visite el Wiki del Centro de recursos de DAX, donde puede encontrar todo tipo de información sobre DAX, incluidos blogs, muestras, documentos y vídeos proporcionados por profesionales líderes del sector y Microsoft.

Escenarios: Realizar cálculos complejos

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

Crear cálculos personalizados para una tabla dinámica

CALCULATE y CALCULATETABLE son funciones eficaces y flexibles que son útiles para definir 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 operación matemática que desea realizar. Vea los siguientes temas para ver ejemplos.

Aplicar un filtro a una fórmula

En la mayoría de los lugares en los que una función DAX toma una tabla como argumento, normalmente puede pasar una tabla filtrada en su lugar, ya sea mediante la función FILTER en lugar del nombre de la tabla o especificando una expresión de filtro como uno de los argumentos de función. En los temas siguientes se 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 dax.

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

Quitar filtros selectivamente para crear una relación dinámica

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

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

  • ¿Cuánto ha contribuido esta división a los beneficios totales de todos los años operativos, en comparación con otras divisiones?

Las fórmulas que use en una tabla dinámica pueden verse afectadas por el contexto de tabla dinámica, pero puede cambiar selectivamente el contexto agregando o quitando filtros. En el ejemplo del tema TODO se muestra cómo hacerlo. Para buscar la relación de ventas de un revendedor específico sobre las ventas de todos los revendedores, cree una medida que calcule el valor del contexto actual dividido por el valor para el contexto ALL.

El tema ALLEXCEPT proporciona un ejemplo de cómo borrar selectivamente los filtros de una fórmula. Ambos ejemplos le muestran cómo cambian los resultados en función del diseño de la tabla dinámica.

Para ver otros ejemplos de cómo calcular relaciones y porcentajes, vea los temas siguientes:

Usar un valor de un bucle externo

Además de usar 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. En el tema siguiente se proporciona un tutorial sobre cómo crear una fórmula que haga referencia a un valor de un bucle externo. La función EARLIER 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 fórmulas de 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 redactar valores de fecha y hora o crear valores basados en una condición.

Crear una columna clave por concatenación

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

Redactar una fecha en función de las partes de fecha extraídas de una fecha de texto

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

Por ejemplo, si tiene una columna de fechas que se ha representado como un entero y, a continuación, importado como una 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

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

Definir un formato de fecha o número personalizado

Si los datos contienen fechas o números que no se representan en uno de los formatos de texto Windows estándar, puede definir un formato personalizado para asegurarse de que los valores se administran correctamente. Estos formatos se usan al convertir valores en cadenas o desde 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 con una fórmula

En Power Pivot, el tipo de datos del resultado está determinado por las columnas de origen y no se puede especificar explícitamente el tipo de datos del resultado, ya que el tipo de datos óptimo está determinado por Power Pivot. Sin embargo, puede usar las conversiones implícitas de tipos de datos realizadas por Power Pivot manipular el tipo de datos de salida. 

  • 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 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()

También se pueden usar las siguientes funciones para asegurarse de que se devuelve un tipo de datos determinado:

Convertir números reales en enteros

Escenario: Valores condicionales y pruebas de errores

Al Excel, DAX tiene funciones que le permiten probar valores en los datos y devolver un valor diferente en función de una condición. Por ejemplo, puede crear una columna calculada que etiqueta a los revendedores como Preferido o Valor en función del importe de ventas anual. Las funciones que prueban valores también son útiles para comprobar el rango o el tipo de valores, para evitar que errores inesperados de datos rompa cálculos.

Crear un valor basado en una condición

Puede usar condiciones SI anidadas para probar valores y generar nuevos valores condicionalmente. Los temas siguientes contienen algunos ejemplos sencillos de procesamiento condicional y valores condicionales:

Comprobar si hay errores dentro de una fórmula

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

Por ejemplo, si crea una fórmula que divide por cero, es posible que obtenga el resultado infinito o un error. Algunas fórmulas también producirán errores 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, debe incorporar el control de errores para evitar que los valores inesperados causen errores en los cálculos.

Para evitar devolver errores en una columna calculada, use una combinación de funciones lógicas e información para comprobar si hay errores y devolver siempre valores válidos. Los temas siguientes proporcionan algunos ejemplos sencillos de cómo hacerlo en DAX:

Escenarios: Usar inteligencia de tiempo

Las funciones de inteligencia de tiempo de DAX incluyen funciones para ayudarle 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 que pueda comparar valores entre 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 fechas y horas de forma eficaz en un Power Pivot, vea Fechas en Power Pivot.

Calcular ventas acumulativas

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

Comparar valores a lo largo del tiempo

Los temas siguientes contienen ejemplos de cómo comparar sumas en diferentes períodos de tiempo. Los períodos de tiempo predeterminados admitidos por DAX son meses, trimestres y años.

Calcular un valor sobre un intervalo de fechas personalizado

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

Si usa funciones de inteligencia de tiempo para recuperar un conjunto personalizado de fechas, puede usar ese conjunto de fechas como entrada a una función que realiza cálculos para crear agregados personalizados en períodos de tiempo. Vea el siguiente tema 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 contables estándar como meses, trimestres o años, le recomendamos que realice cálculos usando las funciones de inteligencia de tiempo diseñadas para este fin, como TOTALQTD, TOTALMTD, TOTALQTD, etc.

Escenarios: Clasificar y comparar valores

Para mostrar solo el número n 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 un número de valores superiores o inferiores en una tabla dinámica. La primera parte de esta sección describe cómo filtrar para los 10 elementos principales de una tabla dinámica. Para obtener más información, vea Excel documentación.

  • Puede crear una fórmula que clasifice dinámicamente los valores y, después, filtrar por los valores de clasificación, o usar el valor de clasificación como segmentación de datos. La segunda parte de esta sección describe cómo crear esta fórmula y, después, usar esa clasificación en una segmentación de datos.

Hay ventajas e desventajas para cada método.

  • El Excel superior es fácil de usar, pero el filtro solo tiene fines de visualización. Si los datos subyacentes a 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 dentro de una columna.

  • La fórmula DAX es más eficaz; Además, al agregar el valor de clasificación a una Segmentación de datos, puede hacer clic en la Segmentación de datos para cambiar el número de valores superiores que se muestran. Sin embargo, los cálculos son computacionalmente caros y es posible que este método no sea adecuado para tablas con muchas filas.

Mostrar solo los diez elementos principales de 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 del encabezado Etiquetas de fila.

  2. Seleccione Filtros de> 10 principales.

  3. En el cuadro de diálogo <columna principal>columna, elija la columna que desea clasificar y el número de valores, como se muestra a continuación:

    1. Seleccione Superior para ver las celdas con los valores más altos o Inferior 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 desea 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 los elementos superiores o inferiores por sus valores.

Porcentaje

Seleccione esta opción para filtrar la tabla dinámica para mostrar solo los elementos que suman 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 dinámicamente mediante una fórmula

El tema siguiente contiene un ejemplo de cómo usar DAX para crear una clasificación almacenada en una columna calculada. Como las fórmulas de DAX se calculan dinámicamente, siempre puede asegurarse de que la clasificación es correcta incluso si los datos subyacentes han cambiado. Además, como la fórmula se usa en una columna calculada, puede usar la clasificación en una segmentación de datos y, a continuación, seleccionar los 5 primeros, los 10 mejores o incluso los 100 valores más altos.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×