Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
apeetepe
Frequent Visitor

Buscar la siguiente fecha en la lista basada en otra lista

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:

Screenshot 2020-09-22 102038.jpg

La columna "earliest_tender_date" se calcula mediante una fórmula de "coincidencia de índice". ¿Cómo puedo lograrlo en Power BI?

1 ACCEPTED SOLUTION
v-stephen-msft
Community Support
Community Support

Hola @apeetepe ,

Prueba esta medida.

Earliest_tender_date = CALCULATE(MIN('Table'[Tender_dates]),FILTER('Table',[Tender_dates]>MAX('Table (2)'[Ready_for_tender])))

6.png

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.

View solution in original post

8 REPLIES 8
v-stephen-msft
Community Support
Community Support

Hola @apeetepe ,

Prueba esta medida.

Earliest_tender_date = CALCULATE(MIN('Table'[Tender_dates]),FILTER('Table',[Tender_dates]>MAX('Table (2)'[Ready_for_tender])))

6.png

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 @v-stephen-msft ,

este funciona! Perfecto, ¡muchas gracias!

lkalawski
Memorable Member
Memorable Member

Hola @apeetepe

Si tiene una estructura como esta:

lkalawski_0-1600768652114.png

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.

lkalawski_1-1600768738798.png

El resultado:

lkalawski_2-1600768763416.png



_______________
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))

Hola @apeetepe ,
¿Está listo para la licitación marcado de alguna manera? ¿Es esta la primera fecha asignada al proyecto y le gustaría mostrar otra después de ella (la segunda)?
¿Podría proporcionar datos de muestra? Será más fácil para mí ayudarte.

@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)

@apeetepe

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?

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.