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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Distribuir intervalos de fechas en grupos automáticamente

Hola gente de la comunidad!

Estoy tratando de dividir los intervalos de fechas del proyecto en 3 grupos iguales (cuando sea posible) Tengo una lista de todas las fechas en las que se trabajó cada proyecto, y quiero mostrar automáticamente en qué 3a fecha cae. Ver más abajo

Proyecto 17/4/20191
Proyecto 17/5/20191
Proyecto 17/6/20192
Proyecto 17/7/20192
Proyecto 17/8/20193
Proyecto 17/9/20193
Proyecto 28/10/20191
Proyecto 28/11/20192
Proyecto 35/4/20191
Proyecto 35/5/20192
Proyecto 35/6/20193

He buscado funciones de rango, etc, pero no estoy encontrando nada donde puedo establecer el número máximo en 3. ¿Alguien puede ayudarme con esto?

1 ACCEPTED SOLUTION

Hola @TO_CB ,

Primero cree una columna como se muestra a continuación:

Rank = RANKX(FILTER('Table','Table'[Project #]=EARLIER('Table'[Project #])),'Table'[Dates worked],,ASC)

A continuación, cree una medida como se indica a continuación:

Thirds = 
var _max=MAXX(FILTER(ALL('Table'),'Table'[Project #]=MAX('Table'[Project #])),'Table'[Rank])
var _count=CALCULATE(COUNT('Table'[Project #]),FILTER(ALL('Table'),'Table'[Project #]=MAX('Table'[Project #])))
Return
IF(_max<=3,MAX('Table'[Rank]),DIVIDE(MAX('Table'[Rank]),_count/3))

Y verás:

1.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

View solution in original post

12 REPLIES 12
pranit828
Community Champion
Community Champion

Hola @TO_CB

Yo wouls utilizar MOD en este caso.

Supongamos que tiene la salida de su función de clasificación en

Var _rank - RANK(......)

Volver MOD(_rank,3)+1

Esto le dará la salida sólo como 1, 2 y 3





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile
Anonymous
Not applicable

@pranit828 Lo siento, no te sigo. ¿Puede explicar con más detalle, por favor?

Hola @TO_CB

rango De la medida ?

var _rank - RANKX( 'Tabla','Tabla'[Fecha],,Asc)
retorno MOD(_rank,3)+1




PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile
Anonymous
Not applicable

@pranit828 siento decir que no funcionó.

Con un ejemplo vivo, este es el resultado de su fórmula

Proyecto #Fechas trabajadas
Proyecto 1viernes, 26 de junio de 20202
Proyecto 1Sábado, 27 de junio de 20201
Proyecto 1Domingo, 28 de junio de 20201
Proyecto 1lunes, 29 de junio de 20201
Proyecto 1martes, 30 de junio de 20203
Proyecto 1Miércoles, 1 de julio de 20201
Proyecto 1Jueves, 2 de julio de 20201
Proyecto 1viernes, 3 de julio de 20202
Proyecto 1Sábado, 4 de julio de 20202
Proyecto 1Domingo, 5 de julio de 20201
Proyecto 1lunes, 6 de julio de 20203
Proyecto 1martes, 7 de julio de 20202
Proyecto 1Miércoles, 8 de julio de 20203
Proyecto 1Jueves, 9 de julio de 20201
Proyecto 1viernes, 10 de julio de 20202
Proyecto 1Sábado, 11 de julio de 20201
Proyecto 1Domingo, 12 de julio de 20201
Proyecto 1lunes, 13 de julio de 20201
Proyecto 1martes, 14 de julio de 20203
Proyecto 1Miércoles, 15 de julio de 20201
Proyecto 1Jueves, 16 de julio de 20201
Proyecto 1viernes, 17 de julio de 20203
Proyecto 1Sábado, 18 de julio de 20201
Proyecto 1Domingo, 19 de julio de 20201
Proyecto 1lunes, 20 de julio de 20201
Proyecto 1martes, 21 de julio de 20201
Proyecto 1Miércoles, 22 de julio de 20203
Proyecto 1Jueves, 23 de julio de 20203
Proyecto 1viernes, 24 de julio de 20202
Proyecto 1Sábado, 25 de julio de 20203
Proyecto 1Domingo, 26 de julio de 20203
Proyecto 1lunes, 27 de julio de 20203

el resultado im buscando está por debajo

Proyecto #Fechas trabajadas
Proyecto 1viernes, 26 de junio de 20201
Proyecto 1Sábado, 27 de junio de 20201
Proyecto 1Domingo, 28 de junio de 20201
Proyecto 1lunes, 29 de junio de 20201
Proyecto 1martes, 30 de junio de 20201
Proyecto 1Miércoles, 1 de julio de 20201
Proyecto 1Jueves, 2 de julio de 20201
Proyecto 1viernes, 3 de julio de 20201
Proyecto 1Sábado, 4 de julio de 20201
Proyecto 1Domingo, 5 de julio de 20201
Proyecto 1lunes, 6 de julio de 20201
Proyecto 1martes, 7 de julio de 20202
Proyecto 1Miércoles, 8 de julio de 20202
Proyecto 1Jueves, 9 de julio de 20202
Proyecto 1viernes, 10 de julio de 20202
Proyecto 1Sábado, 11 de julio de 20202
Proyecto 1Domingo, 12 de julio de 20202
Proyecto 1lunes, 13 de julio de 20202
Proyecto 1martes, 14 de julio de 20202
Proyecto 1Miércoles, 15 de julio de 20202
Proyecto 1Jueves, 16 de julio de 20202
Proyecto 1viernes, 17 de julio de 20202
Proyecto 1Sábado, 18 de julio de 20203
Proyecto 1Domingo, 19 de julio de 20203
Proyecto 1lunes, 20 de julio de 20203
Proyecto 1martes, 21 de julio de 20203
Proyecto 1Miércoles, 22 de julio de 20203
Proyecto 1Jueves, 23 de julio de 20203
Proyecto 1viernes, 24 de julio de 20203
Proyecto 1Sábado, 25 de julio de 20203
Proyecto 1Domingo, 26 de julio de 20203
Proyecto 1lunes, 27 de julio de 20203

Estoy tratando de dividir la duración de los proyectos en 3 partes... cronológicamente. Así que en el caso anterior, las primeras 11 fechas serían "1", el medio "2", y el último "3"

Hola @TO_CB

_number = 
var _cnt = rankx(allselected(Table1),CALCULATE ( MAX (Table1[Dates worked])),,ASC)
var _max = CALCULATE(COUNTROWS(Table1),ALLEXCEPT(table1,Table1[Project #]))
var _d3 = _max/3
return CEILING(_cnt/_d3,1)




PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile
Anonymous
Not applicable

@pranit828

Así que como medida, no parece detenerse a las 3. Veo valores hasta cientos.

debido a la información que busco obtener, la mejor solución para esto sería una columna calculada.. sin embargo, cuando agredo la fórmula para mi nueva columna, obtengo el error "Se detectó una dependencia circular: Table1[Column]."

alguna idea?

Hola @TO_CB

Según su muestra mi respuesta anterior responde a su pregunta.

Probablemente deberías poner más tiempo en hacer una buena muestra de tus datos cuando preguntes para que llegues a la respuesta de punto.

Pruebe lo siguiente como medida, se prefiere la columna cuando hay un cálculo hecho para cada fila.

_number = 
var _cnt = rankx(allselected(Table1),CALCULATE ( MAX (Table1[Dates worked]), allexcept(table1, table1[Project #])),,ASC)
var _max = CALCULATE(COUNTROWS(Table1),ALLEXCEPT(table1,Table1[Project #]))
var _d3 = _max/3
return CEILING(_cnt/_d3,1)





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile
Anonymous
Not applicable

Mis disculpas de que mi petición no estaba clara. No uso los foros a menudo para pedir ayuda, así que perdóname por pensar que había explicado lo que estaba buscando lo suficientemente a fondo.

He probado su medida, y en realidad ha empeorado en la vuelta de número.

Trataré de explicar esto más en profundidad.

La necesidad: Para desglosar una duración de proyectos (de principio a fin) en tercios. Identifique qué fechas entran en la 3a de cada proyecto. Las duraciones pueden ser desde 1 día hasta cientos de días de duración. Tenemos una mesa con miles de proyectos de diferentes duraciones. Ya he creado una tabla que muestra el número de proyecto y cada fecha individual en la que el proyecto estaba activo. se muestra aquí

Tabla de ejemplo:

Proyecto #Fechas trabajadas
Proyecto 17/4/2019
Proyecto 17/5/2019
Proyecto 17/6/2019
Proyecto 17/7/2019
Proyecto 17/8/2019
Proyecto 17/9/2019
Proyecto 28/10/2019
Proyecto 28/11/2019
Proyecto 35/4/2019
Proyecto 35/5/2019
Proyecto 35/6/2019

La solicitud: ¿puede alguien ayudarme a crear una columna calculada, ya sea en DAX o en Power Query, para etiquetar cada fila como el primer, medio o último tercio de un proyecto. El resultado se vería como a continuación

Ejemplo Tabla 2: Resultado deseado

Proyecto #Fechas trabajadasTercios
Proyecto 17/4/20191
Proyecto 17/5/20191
Proyecto 17/6/20192
Proyecto 17/7/20192
Proyecto 17/8/20193
Proyecto 17/9/20193
Proyecto 28/10/20191
Proyecto 28/11/20192
Proyecto 35/4/20191
Proyecto 35/5/20192
Proyecto 35/6/20193

Espero que esta explicación sea más clara de lo que mi pedido original.

Hola @TO_CB ,

Primero cree una columna como se muestra a continuación:

Rank = RANKX(FILTER('Table','Table'[Project #]=EARLIER('Table'[Project #])),'Table'[Dates worked],,ASC)

A continuación, cree una medida como se indica a continuación:

Thirds = 
var _max=MAXX(FILTER(ALL('Table'),'Table'[Project #]=MAX('Table'[Project #])),'Table'[Rank])
var _count=CALCULATE(COUNT('Table'[Project #]),FILTER(ALL('Table'),'Table'[Project #]=MAX('Table'[Project #])))
Return
IF(_max<=3,MAX('Table'[Rank]),DIVIDE(MAX('Table'[Rank]),_count/3))

Y verás:

1.png

Para el archivo .pbix relacionado, pls ver adjunto.

Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

Hola @TO_CB

¿Ya tiene una función de clasificación creada para obtener el resultado?





PBI_SuperUser_Rank@1x.png


Hope it resolves your issue? 
Did I answer your question? Mark my post as a solution!

Appreciate your Kudos, Press the thumbs up button!!
Linkedin Profile
Greg_Deckler
Super User
Super User

@TO_CB Lo siento, no seguir esto completamente. ¿Nos está mostrando datos de origen de muestra, salida esperada, ambos? Si se trata de datos de origen de ejemplo, ¿puede publicar la salida esperada y la lógica detrás de cómo desea que se produzca la transformación?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Lo siento por eso @Greg_Deckler mostré la salida final que estaba buscando.

Tengo una lista de proyectos y todas las fechas en las que se trabajaron esos proyectos. se muestra aquí.

Proyecto #Fechas trabajadas
Proyecto 17/4/2019
Proyecto 17/5/2019
Proyecto 17/6/2019
Proyecto 17/7/2019
Proyecto 17/8/2019
Proyecto 17/9/2019
Proyecto 28/10/2019
Proyecto 28/11/2019
Proyecto 35/4/2019
Proyecto 35/5/2019
Proyecto 35/6/2019

Lo que tengo que hacer es romper cada conjunto de fechas, por proyecto, hasta un máximo de 3 grupos. (esencialmente dividiendo la duración del proyecto en 3rds) El resultado final se vería así.

Proyecto #Fechas trabajadas
Proyecto 17/4/20191
Proyecto 17/5/20191
Proyecto 17/6/20192
Proyecto 17/7/20192
Proyecto 17/8/20193
Proyecto 17/9/20193
Proyecto 28/10/20191
Proyecto 28/11/20192
Proyecto 35/4/20191
Proyecto 35/5/20192
Proyecto 35/6/20193

¿Esto ayuda?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.