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

Don'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.

Reply
Syndicate_Admin
Administrator
Administrator

Intervalo dinámico para el modelado de programación (repost del desarrollador)

Volver a publicar esto en el foro de escritorio, ya que esto no era realmente aplicable al foro de desarrolladores.

Lunes

Hola - póster por primera vez. Antes de que te enojes, he leído los foros y no he podido encontrar una solución que funcione.

Esto es lo que estoy tratando de hacer.

Para una serie de proyectos con fechas de inicio definidas en los próximos 30 años, quiero crear un modelador de datos que me permita flexibilizar la duración del proyecto para volver a calcular la fecha de finalización y la duración total durante la vida útil de la instalación (total de días del proyecto). Hay varios escenarios diferentes en duraciones que se pueden considerar, y me gustaría usar este modelador de datos para volver a disparar un diagrama de Gantt.

Comencé construyendo un parámetro con un rango definido (días). Este parámetro, y la medida asociada, estaba destinado a usarse para el valor de duración para determinar una nueva fecha de finalización para cada proyecto programado.

Mi fórmula...

varFinish = dateadd(Interrupciones[Fecha de finalización], [Valor de duración], día)
Dónde...
- [Fecha de finalización] es una fecha de proyecto predefinida
- [Valor de duración] es la medida generada por el parámetro
Esta fórmula se usó para una columna de mi tabla para asignar una nueva fecha de finalización a cada proyecto específico. No parece reconocer el [Valor de duración] como un número. Pero cuando cambio manualmente el [Valor de duración] a un entero simple (1, 5, 4005, lo que sea), la fecha de finalización se actualiza por los días asociados.
Estoy perplejo y enojado (principalmente porque podría construir la misma funcionalidad en Excel en cuestión de minutos)

derekalstein_1-1671129754135.png

derekalstein_2-1671129754183.png

derekalstein_3-1671129754175.png

El problema parece estar en el código varFinish. El valor del intervalo (en días) se establece mediante Interrupción [Valor de duración], que está vinculado a un parámetro entre 10 y 40. Cuando utilizo esta referencia al valor dinámico, la nueva fecha (varFinish) no se mueve de la fecha de inicio, es decir, el número parece reconocerse como 0. Pero si cambio manualmente la referencia de intervalo de Interrupción [Valor de duración] a solo un número aleatorio, la fórmula mueve correctamente la fecha por ese número de días definidos.

¡Por favor ayuda!
¡TIA!
2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

No estoy seguro de si esto abordará lo que estoy tratando de hacer. Creo que la fórmula funcionaría para una sola fecha de inicio de interrupción seleccionada, pero no aplicaría mi selección (a través de segmentación de datos o parámetro) a un grupo de interrupciones como estoy tratando de hacer. Si bien mi conjunto de datos solo muestra 5 proyectos ahora, mi modelo de datos completo se considerará 100 de proyectos programados en los próximos 30 años.

Si bien estoy muy impresionado por PowerBI, esto es bastante frustrante porque no parece tener la capacidad de hacer esto. Como dije, podría hacer este modelo funcional en Excel con bastante facilidad, simplemente no me daría la visualización que estoy buscando.

Parece que mi única opción puede ser crear un conjunto de datos que tenga todas las combinaciones de duraciones posibles. No es complicado, pero ciertamente mucho trabajo administrativo para construir la fuente de datos

Syndicate_Admin
Administrator
Administrator

@derekalstein ,

De acuerdo con su declaración, creo que [varFinish] es una columna calculada y desea que sea dinámica por el cortador de "Duración". [Valor de duración] en la columna [varFinish] debe ser una medida filtrada por la segmentación de datos "Duration".

Hasta donde yo sé, Power BI no nos permite crear una columna calculada que será filtrada dinámicamente por segmentación de datos. Aquí te sugiero que crees una medida en lugar de una columna calculada. A continuación, muestre la medida en un objeto visual. Y veo que usas la función Dateadd() y la inteligencia de tiempo Interrupciones[Fecha de inicio]. [Fecha] de tu captura de pantalla.

Hasta donde yo sé, Dateadd() devolverá una tabla. . [Fecha] puede no ser una buena idea debido a que hará que su informe sea complejo.

Pruebe el siguiente código para crear una medida.

varFinish = SELECTEDVALUE(Outages[Start Date]) + [Duration Value]

El resultado es el siguiente.

RicoZhou_0-1671182848122.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors