March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Buenos días
Estoy tratando de crear una medida DAX con varias condiciones anidadas, que hacen referencia al mismo id pero no la condición no se da en la misma fila de datos.
Tengo una tabla con datos históricos de tarjetas, donde cada línea me muestra los diferentes estados por los que ha ido pasando. Una de las líneas me identifica si la tarjeta está cerrada, a través de su codificación como "1". Para esto creo una medida básica con CALCULATE que me cuenta las tarjetas distintas que cumplen la condición "cerrada = 1". Tabla de ejemplo:
Por otro lado, quiero obtener el total de la variable "segs" cuando la línea cumpla la siguiente: "area = 3" & "entorno = 1" & "tiempo 1 = S" & "tiempo 2 = S" & "tiempo 3 =S".
El resultado que quiero obtener es: Sumar toda la variable "segs" si cumple la condición "area = 3" & "entorno = 1" & "tiempo 1 = S" & "tiempo 2 = S" & "tiempo 3 = S" , sólo para los "id" que estén cerrados.
Intentó varias opciones de medidas DAX, pero no obtengo el valor correcto:
Opción 1: CALCULAR(Suma de tiempo, FILTRO(tabla, Cerradas)). El resultado es "EN BLANCO" ya que no detecta una fila que cumpla ambas condiciones, así que no suma ningún valor.
Opción 2: medida DAX con variables. VAR 1 Tarjetas cerradas, VAR 2 Total Segs, RETORNO CALCULAR(Total Segs, FILTRO(tabla, Tarjetas Cerradas)). En este caso el resultado me incluye también los "Segs" del "id = 100999". Suma todos los tiempos que cumplen la condición "area = 3" & "entorno = 1" & "tiempo 1 = S" & "tiempo 2 = S" & "tiempo 3 = S".
¿Cómo puedo crear una medida en DAX que anide ambas condiciones? Mi objetivo es sumar la variable "segs" sólo si el "id" cumple la condición de que esté cerrado.
gracias
jacob
Solved! Go to Solution.
Buenos días,
Ya tengo la solución, para poder crear la medida DAX con el valor correcto.
Por un lado creo la medida "Total Segs = CALCULATE(SUM(Tabla[Segs]),Tabla[area]=3,Tabla[entorno]=1,Tabla[tiempo 1]="S",Tabla[tiempo 2]="S",Tabla[tiempo 3]="S".
Por otra parte creo una medida DAX que me devuelva una tabla con sólo las tarjetas cerradas, y posteriormente hago la suma sobre estos valores:
Total Segs Cerradas =
VAR TablaCerradas = CALCULATETABLE(DISTINCT(Tabla[id]),Tabla[cerrada]=1)
RETURN SUMX(TablaCerradas, [Total Segs]).
Con esta solución consigo obtener el tiempo sólo para las tarjetas que cumplen la condición de estar cerradas, sumando las líneas que por otro lado cumplen la condición indicada.
Gracias. Un saludo,
Jacob
Hi @jacob2102 ,
Based on the information you provided, I created some sample data to solve this problem for you. You can follow the steps below:
1. Add a measure.
Total =
CALCULATE (
SUM ( 'Table'[segs] ),
FILTER (
ALL ( 'Table' ),
'Table'[ID] = SELECTEDVALUE ( 'Table'[ID] )
&& 'Table'[area] = 3
&& 'Table'[environment] = 1
&& 'Table'[time 1] = "S"
&& 'Table'[time 2] = "S"
&& 'Table'[time 3] = "S"
)
)
Final output:
How to Get Your Question Answered Quickly - Microsoft Fabric Community
If it does not help, please provide more details with your desired out put and pbix file without privacy information.
Best Regards,
Ada Wang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Buenas tardes,
Gracias por la respuesta, pero no es lo que necesito.
He incluido un archivo con datos de ejemplo, para así poder entender mejor la situación.
Necesito crear una medida en DAX, que recoja los datos sólo de las etiquetas que sean cerradas, pero que sólo sume las líneas que cumplan las condiciones "area = 3" & "entorno = 1" & "tiempo 1 = S" & "tiempo 2 = S" & "tiempo 3 = S".
Gracias. Un saludo,
Jacob
Hola,
Gracias por la respuesta, pero el resultado obtenido no es la solución correcta, ya que se incluyen datos de tarjetas que no cumplen con la condición de estar cerradas.
El dato que busco es el que se refleja en la tabla "Segs sólo cerradas" en color verde, por valor de 10.367.057. Necesito crear una medida que devuelva la suma de tiempo que cumpla la condición deseada, pero sólo para los ID que han sido cerrados.
Gracias. Un saludo,
jacob
You can add that filter as needed.
¿Cómo puedo agregar el filtro dentro de la medida DAX?
Necesito crear un indicador de tipo tarjeta, a través de la medida, que me devuelva el resultado directamente, sin crear una tabla para poder incluir el filtro.
Gracias. Un saludo,
Jacob
Buenos días,
Ya tengo la solución, para poder crear la medida DAX con el valor correcto.
Por un lado creo la medida "Total Segs = CALCULATE(SUM(Tabla[Segs]),Tabla[area]=3,Tabla[entorno]=1,Tabla[tiempo 1]="S",Tabla[tiempo 2]="S",Tabla[tiempo 3]="S".
Por otra parte creo una medida DAX que me devuelva una tabla con sólo las tarjetas cerradas, y posteriormente hago la suma sobre estos valores:
Total Segs Cerradas =
VAR TablaCerradas = CALCULATETABLE(DISTINCT(Tabla[id]),Tabla[cerrada]=1)
RETURN SUMX(TablaCerradas, [Total Segs]).
Con esta solución consigo obtener el tiempo sólo para las tarjetas que cumplen la condición de estar cerradas, sumando las líneas que por otro lado cumplen la condición indicada.
Gracias. Un saludo,
Jacob
Please provide sample data that covers your issue or question completely, in a usable format (not as a screenshot).
Do not include sensitive information or anything not related to the issue or question.
If you are unsure how to upload data please refer to https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Please show the expected outcome based on the sample data you provided.
Want faster answers? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...
Buenos días,
Adjunto envío un archivo con datos de ejemplo, para poder obtener los resultados esperados.
En este caso, a parte del total de tarjetas, tarjetas cerradas y tiempo "Segs" que cumple la condición "area = 3" & "entorno = 1" & "tiempo 1 = S" & "tiempo 2 = S" & "tiempo 3 = S", necesito conocer el la suma de "Segs" sólo para las tarjetas que estén clasificadas como cerradas y que además cumplan esta condición.
En resumen, necesito obtener una medida DAX que me devuelva el resultado de la tabla con fondo verde. En este caso sólo se suman los "Segs" de las tarjetas que son cerradas y que cumplen la condición area = 3" & "entorno = 1" & "tiempo 1 = S" & "tiempo 2 = S" & "tiempo 3 = S".
¿Es posible crearlo como una medida directa en vez de tener que crearlo en una tabla o cambiar el modelo?
Gracias. Un saludo,
Jacob
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
23 | |
15 | |
12 | |
9 | |
8 |
User | Count |
---|---|
41 | |
32 | |
29 | |
12 | |
12 |