Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola a todos,
Actualmente estoy convirtiendo una base de datos de proyecto de Excel a Power BI. Nuestros proyectos tienen que pasar por un proceso de licitación tan pronto como estén listos para ello.
En mi conjunto de datos, hay una lista de fechas de licitación y una lista separada de proyectos, donde cada proyecto tiene una fecha en la que está "listo para la licitación". Ahora quiero mostrar la siguiente fecha de licitación posible para cada proyecto.
En mi antigua estructura de Excel, las tablas tienen este aspecto:
La columna "earliest_tender_date" se calcula mediante una fórmula de "coincidencia de índice". ¿Cómo puedo lograrlo en Power BI?
Solved! Go to Solution.
Hola @apeetepe ,
Prueba esta medida.
Earliest_tender_date = CALCULATE(MIN('Table'[Tender_dates]),FILTER('Table',[Tender_dates]>MAX('Table (2)'[Ready_for_tender])))
Puede consultar más detalles desde aquí.
Saludos
Stephen Tao
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @apeetepe ,
Prueba esta medida.
Earliest_tender_date = CALCULATE(MIN('Table'[Tender_dates]),FILTER('Table',[Tender_dates]>MAX('Table (2)'[Ready_for_tender])))
Puede consultar más detalles desde aquí.
Saludos
Stephen Tao
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @apeetepe
Si tiene una estructura como esta:
Puede crear matriz o tabla, agregar Project y tender_dates columnas a este objeto visual y, a continuación, cambiar la configuración de la Tender_dates: cambiar a Más temprano.
El resultado:
_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀
Hola @lkalawski ,
gracias por su sugerencia!
Desafortunadamente, en este momento no existe tal conexión entre Proyectos y Tender_dates como en su ejemplo. Tender_dates es una lista independiente, de hecho teóricamente cualquier proyecto se puede asignar a cualquier Tender_date.
El reto es elegir la fecha más temprana de "Tender_dates" que viene después de la fecha de "Ready_for_Tender" del proyecto.
Si ayuda, aquí está la declaración de Excel actual para la columna "earliest_tender_date":
•INDEX(Table1[Tender_dates]; MATCH(G2; Tabla 1[Tender_dates];-1))
@lkalawski Desafortunadamente no puedo proporcionar ningún dato de muestra, ya que la fuente de datos original es muy grande y también confidencial. Pero voy a tratar de explicarlo un poco más:
"ready_for_tender" es una fecha determinada que no se calcula sobre la base de una variedad de suposiciones. Pero sí, cada proyecto tiene una fecha de "ready_for". En función de este valor, quiero elegir la siguiente tender_date posible después de que el proyecto esté listo.
Así que si el proyecto A está "listo" el 31 de marzo de 2021, entrará en la licitación el 1 de abril de 2021. --> earliest_tender_date será 01.04.2021
Si estuviera listo un poco más tarde, digamos el 02 de abril de 2021, entraría en la siguiente ronda que ocurrirá el 01 de junio de 2021, según la lista "Tender_dates". --> earliest_tender_date sería 01.06.2021
De este modo quiero elegir el tender_date adecuado para todos los proyectos (hay una lista de >100 proyectos)
Puede crear una medida:
Si calcula "ready_for_tender" como medida, utilice la segunda solución, si como columna en la tabla, utilice la primera.
Earliest date = CALCULATE(MIN('Table'[Tender_dates]), 'Table'[Tender_dates] > MAX(ready_for_tender))
Earliest date = CALCULATE(MIN('Table'[Tender_dates]), 'Table'[Tender_dates] > [ready_for_tender])
_______________
Si ayudé, por favor acepte la solución y dar felicitaciones! 😀
Hey @lkalawski ,
tu fórmula se ve bien. Tiene sentido, creo que es casi la solución correcta. Desafortunadamente, recibí un error cuando intenté implementarlo:
Se utilizó una función de tipo 'MAX' en una expresión True / False que actúa como expresión de filtro de tabla. Esto no está permitido.
Intenté la primera solución, porque "ready_for_tender" es una columna en mi tabla.
También traté de calcular "ready_for_tender" como una medida y utilizar la segunda solución, lo que resulta en un error muy similar:
Una función del tipo 'CALCULATE' se utilizó en una expresión true / false que sirve como una expresión de filtro de tabla. Esto no está permitido.
¿Alguna idea de cómo resolver esto?