Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Perforar no funciona

Original Post - https://community.powerbi.com/t5/Desktop/Monthly-Total-Open-Cases/mp/1284325#M561428

 

Can anyone advise how to get the following measurement to drill correctly?

 

In my previous post, a member successfully provided a qualifying metric (a month-to-month count of active users, with a start date and no end date, including those from previous months) See the context above.

 

The next step has me struggling again!

 

I understand that the drill-through feature is not possible with the current measure as we have a CALCULATE in the DAX and Power BI cannot use the complex measure to drill down. The first question I can take on from the measure created above will be "great, can I see who is active for each month, now I want to know, who are they?"

 

 

 

 

I'm trying to create a page where I can drill down to the list of PERSON_IDs that are in that month, from the measure created:

Active People (Active People)
VAR maxdate?
MAX ('Calendar' [Date])
return
CALCULATE (
DISTINCTCOUNT (DM_PERIODS_OF_CARE [PERSON_ID]),
ALL ('Calendar' [Date]),
FILTER (
ALL (DM_PERIODS_OF_CARE),
DM_PERIODS_OF_CARE [START_DATE] <- maxdate
&& OR (
DM_PERIODS_OF_CARE [END_DATE]> maxdate,
ISBLANK (DM_PERIODS_OF_CARE [END_DATE])
)
)
)
 
 
I currently have a table on another page with Active Persons (which is the originally posted measure for the requirement) and PERSON_ID. It is not working however there are much more than 305 rows for the Aug 2020 exam as screenshot here:
 
 
Any suggestions on this?
 
Thank you very much,
Dan.
  • Pruebe esta medida agregada al objeto visual de la tabla en la página de obtención de detalles. Reproduré su escenario en mi extremo y esto parece obtener la funcionalidad deseada.

    IsActive =
    VAR mindate =
        MIN ( 'Date'[Date] )
    VAR maxdate =
        MAX ( 'Date'[Date] )
    RETURN
        CALCULATE (
            COUNTROWS ( Employees ),
            ALL ( 'Date' ),
            OR ( Employees[EndDate] >= mindate, ISBLANK ( Employees[EndDate] ) ),
            Employees[StartDate] <= maxdate
        )

    Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

    saludos

    palmadita

11 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      @amitchandak Estoy tratando de profundizar en la visualización del gráfico de barras, para que muestre el PERSON_ID aplicable que se está contando para ese mes. Por alguna razón el gráfico de barras original se eliminó de mi publicación, lo he añadido de nuevo.

  • mahoneypat's avatar
    mahoneypat
    Icon for Microsoft Employee rankMicrosoft Employee

    Usted debe ser capaz de perforar a través de su columna de mes. Además, pruebe la expresión modificada. Ahora solo quita los filtros de las columnas de fecha en lugar de de toda la tabla (incluido Person_ID). Debe devolver 1 para cada empleado activo en el intervalo de fechas en el ámbito.

    Personas Activas (Personas Activas)
    VAR maxdate ?
    MAX ( 'Calendario'[Fecha] )
    devolución
    CALCULAR (
    DISTINCTCOUNT ( DM_PERIODS_OF_CARE[PERSON_ID] ),
    ALL ( 'Calendario'[Fecha] ),
    FILTRO (
    ALL ( DM_PERIODS_OF_CARE[START_DATE], DM_PERIODS_OF_CARE[END_DATE], ),
    DM_PERIODS_OF_CARE[START_DATE] <- maxdate
    && OR (
    DM_PERIODS_OF_CARE[END_DATE] > maxdate,
    ISBLANK ( DM_PERIODS_OF_CARE[END_DATE] )
    )
    )
    )

    Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

    saludos

    palmadita

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hola @mahoneypat,

      Desafortunadamente eso no funciona, crea el mismo problema que en mi publicación original. Filtra las personas activas solo para ese mes, cuando lo que se necesita es el recuento de personas activas que tienen una fecha de inicio y ninguna fecha de finalización que están activas en ese mes y cada mes donde están activas (como lo hace su medida original correctamente) por ejemplo:

      la persona 1 tiene una fecha de inicio en enero de 2020 y no hay fecha de finalización, por lo tanto, debe contarse en enero, febrero, marzo, abril, mayo, junio, julio, agosto.

      la persona 2 tiene una fecha de inicio en marzo de 2020 y no hay fecha de finalización, por lo tanto, debe contarse en marzo, abril, mayo, junio, julio, agosto.

      la persona 3 tiene una fecha de inicio en marzo de 2020 y una fecha de finalización en junio de 2020, por lo que debe contarse en marzo, abril, mayo, junio.

      El siguiente paso es poder profundizar en ese mes (en la visualización del gráfico de barras) y ver quiénes son esas personas activas para ese mes (en una visualización de tabla en otra página)

      Por favor, vea mi publicación como la he editado para mayor claridad. El gráfico de barras muestra los números correctos, sin embargo, cuando prosi detallado una página con una tabla con personas encendidas, no funciona.

      Gracias de nuevo por su ayuda Pat,

      Dan.

      • mahoneypat's avatar
        mahoneypat
        Icon for Microsoft Employee rankMicrosoft Employee

        Pruebe esta medida agregada al objeto visual de la tabla en la página de obtención de detalles. Reproduré su escenario en mi extremo y esto parece obtener la funcionalidad deseada.

        IsActive =
        VAR mindate =
            MIN ( 'Date'[Date] )
        VAR maxdate =
            MAX ( 'Date'[Date] )
        RETURN
            CALCULATE (
                COUNTROWS ( Employees ),
                ALL ( 'Date' ),
                OR ( Employees[EndDate] >= mindate, ISBLANK ( Employees[EndDate] ) ),
                Employees[StartDate] <= maxdate
            )

        Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

        saludos

        palmadita