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

Filtrar con múltiples condiciones o devolver entradas con el mismo ID

Hola a todos,

Estoy teniendo algunos problemas con un pequeño proyecto y esperaba que tal vez algunos de los maestros de Power BI más experimentados aquí podrían darme una pista 😉

Queremos crear una visión general sobre la carga de trabajo de nuestros gerentes de proyecto. Los primeros proyectos se asignan a los directores de proyecto, después, cuando se inicia un proyecto, agregan la fecha de inicio y cuando se hace agregan la fecha de finalización. Cada tipo de proyecto requiere una cierta cantidad de horas para terminar.

Se me proporcionan los siguientes datos:

test_data

id_project

milestone_type

milestone_date

id_project_type

director

1

Empezar

2020-05-01

2

Alice

1

Final

2020-09-12

2

Alice

2

Empezar

2020-06-14

1

Bob

2

Final

1

Bob

3

Empezar

2020-04-23

1

Bob

3

Final

2020-08-18

1

Bob

4

Empezar

2020-03-30

3

Alice

4

Final

3

Alice

5

Empezar

2

Bob

5

Final

2

Bob

6

Empezar

2020-07-14

2

Bob

6

Final

2

Bob

project_type

id_project_typeTipohours_needed
1A1
2B1.5
3C2

(Las tablas no parecen funcionar muy bien, así que aquí hay un pbix con los datos de prueba.)

El objetivo es un objeto visual que muestra la cantidad de proyectos asignados (sin fecha de inicio, sin fecha de finalización), en curso (fecha de inicio pero sin fecha de finalización) o terminado (fecha de inicio y finalización), filtrados por administrador de proyecto y fecha, ordenados por tipo de proyecto.

Ejemplo de resultado para Bob, fecha 2020-01-01 - 2020-12-31:

TipoEn cursoHorasAsignadoTerminado
A1101
B11.510
C0000
Total22.511

Estoy luchando para encontrar los filtros correctos y creo que me falta algo obvio. Por ejemplo: ¿Cómo puedo filtrar por proyectos que están en curso, es decir, tener una fecha de inicio y ninguna fecha de finalización?

¿Puedo filtrar las entradas con una fecha de inicio o sin fecha de finalización, pero no ambas?

FILTER (test_data,
    OR(
        AND(
            NOT(ISBLANK(test_data[date])),
            EXACT(test_data[milestone_type], "Start")
        ),
        AND(
            ISBLANK(test_data[date]),
            EXACT(test_data[milestone_type], "End")
)))

Con un filtro como el anterior podría crear otra tabla, por ejemplo, new_table_in_progress y luego

COUNTROWS(
    FILTER(
        VALUES(new_table_in_progress[id]),
        CALCULATE(
            COUNT(new_table_in_progress[id])) = 2
    )
)

pero tiene que haber una manera más eficiente? Y si hago esto, entonces la adición de las horas ya no parece funcionar. ¿O tal vez sólo necesito separar la mesa principal barajada en otras más pequeñas?

Disculpas si estas son preguntas muy básicas, acabo de empezar a usar Power BI y estoy ansioso por aprender, pero todo es muy nuevo en este momento.

1 ACCEPTED SOLUTION
FrankAT
Community Champion
Community Champion

Hola @MuffinMouse

primero reordené su test_data con Power Query. Giré colum milestone_date sin agregación (véase la figura [1]).

En [2] utilicé las siguientes medidas:

Assigned = 
VAR _Calculate = CALCULATE(
                    COUNTROWS(test_data),
                    test_data[Start] = BLANK(), test_data[End] = BLANK()
                )
RETURN                
IF(
    ISBLANK(_Calculate) , 0, _Calculate
)


In progress = 
VAR _Calculate = CALCULATE(
                    COUNTROWS(test_data),
                    test_data[Start] <> BLANK(), test_data[End] = BLANK()
                )
RETURN                
IF(
    ISBLANK(_Calculate) , 0, _Calculate
)


Finished = 
VAR _Calculate = CALCULATE(
                    COUNTROWS(test_data),
                    test_data[Start] <> BLANK(), test_data[End] <> BLANK()
                )
RETURN                
IF(
    ISBLANK(_Calculate) , 0, _Calculate
)

No dijiste cómo calcular las horas.

18-09-_2020_12-53-50.png

Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)

View solution in original post

2 REPLIES 2
FrankAT
Community Champion
Community Champion

Hola @MuffinMouse

primero reordené su test_data con Power Query. Giré colum milestone_date sin agregación (véase la figura [1]).

En [2] utilicé las siguientes medidas:

Assigned = 
VAR _Calculate = CALCULATE(
                    COUNTROWS(test_data),
                    test_data[Start] = BLANK(), test_data[End] = BLANK()
                )
RETURN                
IF(
    ISBLANK(_Calculate) , 0, _Calculate
)


In progress = 
VAR _Calculate = CALCULATE(
                    COUNTROWS(test_data),
                    test_data[Start] <> BLANK(), test_data[End] = BLANK()
                )
RETURN                
IF(
    ISBLANK(_Calculate) , 0, _Calculate
)


Finished = 
VAR _Calculate = CALCULATE(
                    COUNTROWS(test_data),
                    test_data[Start] <> BLANK(), test_data[End] <> BLANK()
                )
RETURN                
IF(
    ISBLANK(_Calculate) , 0, _Calculate
)

No dijiste cómo calcular las horas.

18-09-_2020_12-53-50.png

Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)

Anonymous
Not applicable

Hola @FrankAT

¡Vaya, eso fue rápido! El pivote tiene mucho sentido aquí, ni siquiera se me cruzó por la cabeza.

Su solución funciona perfectamente, muchas gracias!

Acerca de las horas: Quiero calcular el total de horas que un jefe de proyecto necesitará para completar todos sus proyectos actuales (en curso). La cantidad de tiempo necesaria para cada tipo de proyecto se establece en project_type[hours_needed]. Usando su ejemplo para la medida podría crear otra medida:

In progress Hours planned = 
VAR _Filter = FILTER(
    v_Reporting_PowerBI_Workload, v_Reporting_PowerBI_Workload[Start] <> BLANK() && v_Reporting_PowerBI_Workload[End] = BLANK())

RETURN
SUMX(
    ADDCOLUMNS(_Filter, "Hours", RELATED(time_factor[factor])),
    [Hours]
)

Gracias de nuevo 🙂

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.