Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
¡Hola a todos!
Permítanme tratar de explicar mi problema...
He creado una lista de hitos estándar para proyectos. Hay 11 hitos en total.
El hito que más impacto tiene es "(10) Capex Validation & Request". En mi base de datos tengo una columna que indica si el proyecto tiene o no un hito de Capex.
En el ejemplo, Project2 no tiene el hito Capex.
Sin embargo, no todos los proyectos pasan por cada hito.
En el ejemplo, Project3 no tiene el hito "(02) Validaciónde cartera" .
Me gustaría obtener una suma con el valor de Las Ventas Netas de los proyectos que pasaron por todos los hitos, excepto el 11. Pero, ¿cómo diferenciar entre los proyectos que pasan por los 10 hitos y los proyectos que no pasan por los 10 hitos?
En el ejemplo, debería obtener 230 como resultado.
https://drive.google.com/file/d/1hySgTKXn5rGervBa0CX1pHv-USW6aI7o/view?usp=sharing
Saludos
Solved! Go to Solution.
Hola
Por favor, pruebe estas medidas:
Check = IF(MAX('Table 2'[Milestone Name])="(11) Launch",1,IF(CALCULATE(MAX('Table 2'[%]),FILTER('Table 2','Table 2'[Milestone Name]<>"(11) Launch"&&'Table 2'[Project #] in FILTERS('Table 2'[Project #])))=1,1,0))
Check-2 = IF(CALCULATE(COUNTROWS('Table 2'),FILTER(ALLSELECTED('Table 2'),[Check]=1&&'Table 2'[Project #] in DISTINCT('Table 2'[Project #])))=COUNTROWS('Table 2'),1,0)
Result = SUMX(DISTINCT('Table 1'[#]),CALCULATE(SUM('Table 1'[Net Sales])*[Check-2]))
Elija la medida [Resultado] como un objeto visual de tarjeta, se muestra:
Aquí está mi archivo pbix cambiado:
Saludos
Giotto Zhi
Hola
De acuerdo con su descripción y datos de muestra, creo que el resultado en esta muestra debe ser 270 no 230.
Porque ID como 1,4,5 cumple con la lógica y su total es 270.
Si es así, pruebe estas dos medidas:
check = IF(CALCULATE(COUNT('Table 2'[Milestone Name]),FILTER('Table 2','Table 2'[Project #] in FILTERS('Table 2'[Project #])&&'Table 2'[Milestone Name]<>"(11) Launch"))=10,1,0)
Total = CALCULATE(SUM('Table 1'[Net Sales]),FILTER('Table 1','Table 1'[#] in FILTERS('Table 1'[#])&&[check]=1))
Seleccione [Total] de medida como visual de tarjeta, el resultado muestra:
Si malinterpreto su lógica, por favor dé más información sobre cómo calculó el resultado como 230?
¡Espera tu respuesta!
Saludos
Giotto Zhi
Hola @v-gizhi-msft
Trataré de explicarlo mejor.
Para calcular esta "Tasa de conversión", los proyectos deben tener todos los hitos de 01 a 10 en 100%.
Project1 tiene todos los hitos (entre 01 y 10) al 100% - SUM
Project2 tiene todos los hitos (entre 01 y 09) al 100% - SUM
Project3 tiene todos los hitos (entre 01 y 10) al 100% - SUM
Project4 todavía está en el hito 07 - NO SUM
Project5 todavía está en el hito 01 - NO SUM
Para hacer este cálculo, estaba usando esta fórmula.
final Sales = if( sumx(filter(milestones,milestones[Project ID] =projects[Project ID] && milestones[Milestone Name] in {" Milestone01","Milestone02","Milestone03","Milestone04","Milestone05","Milestone06","Milestone07","Milestone08","Milestone09","Milestone10"} ),milestones[%]) =1000, [Net Sales],0)
Pero depende de que los proyectos tengan TODOS los hitos: S
Saludos
Hola
Por favor, pruebe estas medidas:
Check = IF(MAX('Table 2'[Milestone Name])="(11) Launch",1,IF(CALCULATE(MAX('Table 2'[%]),FILTER('Table 2','Table 2'[Milestone Name]<>"(11) Launch"&&'Table 2'[Project #] in FILTERS('Table 2'[Project #])))=1,1,0))
Check-2 = IF(CALCULATE(COUNTROWS('Table 2'),FILTER(ALLSELECTED('Table 2'),[Check]=1&&'Table 2'[Project #] in DISTINCT('Table 2'[Project #])))=COUNTROWS('Table 2'),1,0)
Result = SUMX(DISTINCT('Table 1'[#]),CALCULATE(SUM('Table 1'[Net Sales])*[Check-2]))
Elija la medida [Resultado] como un objeto visual de tarjeta, se muestra:
Aquí está mi archivo pbix cambiado:
Saludos
Giotto Zhi
Muchas gracias @v-gizhi-msft
Funcionó perfectamente.
Pero, ¿podría explicarme la lógica detrás del código?
Saludos
Hola
La primera medida [check] es mostrar el progreso (Si experimenta todos los hitos) para cada proyecto.
La segunda medida [check-2] consiste en encontrar el proyecto que experimenta todos los hitos.
La medida [result] consiste en encontrar el valor correspondiente por [check-2] para sumar el resultado final.
Saludos
Giotto Zhi
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.