Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
Check it out now!Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
¡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