Conversión de etapas con fechas en un gráfico de línea de tiempo.

Un usuario Pregunto ✅

Anónimo

Tengo algunos datos que se parecen a los siguientes:

imagen.png

Lo que quiero hacer es crear un gráfico que me muestre cuántas ideas había en cada etapa en esa fecha en particular.

por ejemplo, el 31/7/2018, teníamos 2 ideas en la etapa 2 (A, B) y nada más.

Mientras que el 16/9/2018, teníamos 1 en la Etapa 3 (A), 1 en la Etapa 2 (B) y 2 en la Etapa 1 (C, D)

¿Hay alguna manera de lograr esto dinámicamente? (es decir, no especificar una fecha y luego usar ‘countif’ para tratar de averiguarlo, ya que está destinado a usarse como un tablero dinámico)

El resultado final será un gráfico de columnas apiladas con fechas a lo largo del eje x y recuentos de las etapas en el eje y.

Owen Auger

hola @anonimo

Aquí hay un enfoque: pbix cargado aquí.

  1. Transforme su tabla de Ideas en este formulario:imagen.png

  2. Crear una tabla de ‘Fecha’ desconectada

  3. Crea esta medida:

    Idea Count as at Latest Stage =
    VAR MaxDate =
        MAX ( 'Date'[Date] )
    RETURN
        CALCULATE (
            DISTINCTCOUNT ( Ideas[Idea] ),
            GENERATE (
                VALUES ( Ideas[Idea] ),
                CALCULATETABLE (
                    LASTDATE ( Ideas[Date] ),
                    ALLEXCEPT ( Ideas, Ideas[Idea] ),
                    Ideas[Date] <= MaxDate
                )
            )
        )

    Esta medida crea un filtro que combina cada Idea con su Fecha más reciente. Cuando aplica un filtro de Etapa y una ‘Fecha'[Date] filtro, puede contar las ideas para las que la(s) etapa(s) filtrada(s) son la última etapa en la última fecha filtrada.

  4. La columna visual apilada se ve así: creo que querías algo similar:imagen.png

¿Ese es el tipo de cosa que estabas buscando?

Saludos,

Owen

Owen Auger

hola @anonimo

Aquí hay un enfoque: pbix cargado aquí.

  1. Transforme su tabla de Ideas en este formulario:imagen.png

  2. Crear una tabla de ‘Fecha’ desconectada

  3. Crea esta medida:

    Idea Count as at Latest Stage =
    VAR MaxDate =
        MAX ( 'Date'[Date] )
    RETURN
        CALCULATE (
            DISTINCTCOUNT ( Ideas[Idea] ),
            GENERATE (
                VALUES ( Ideas[Idea] ),
                CALCULATETABLE (
                    LASTDATE ( Ideas[Date] ),
                    ALLEXCEPT ( Ideas, Ideas[Idea] ),
                    Ideas[Date] <= MaxDate
                )
            )
        )

    Esta medida crea un filtro que combina cada Idea con su Fecha más reciente. Cuando aplica un filtro de Etapa y una ‘Fecha'[Date] filtro, puede contar las ideas para las que la(s) etapa(s) filtrada(s) son la última etapa en la última fecha filtrada.

  4. La columna visual apilada se ve así: creo que querías algo similar:imagen.png

¿Ese es el tipo de cosa que estabas buscando?

Saludos,

Owen

Anónimo

En respuesta a Owen Auger

Hola Owen,

Esto es casi correcto, desafortunadamente, si el proyecto pasa por dos etapas en la misma fecha, no parece elegir la etapa posterior. En cambio, cuenta 1 para ambas etapas. ¿Hay alguna manera de hacer que solo elija la etapa posterior?

Owen Auger

En respuesta a Anónimo

@Anónimo

Veo el problema.

He actualizado mi archivo con un par de opciones para medidas que corrigen esto:
enlace PBIX

La lógica es la misma en cada uno, solo que está escrita de manera ligeramente diferente. ¡Puede haber una manera más elegante de manejar esto! 🙂

Idea Count as at Latest Stage V2 = 
VAR MaxDate =
    MAX ( 'Date'[Date] )
RETURN
    CALCULATE (
        DISTINCTCOUNT ( Ideas[Idea] ),
        KEEPFILTERS (
            GENERATE (
                GENERATE (
                    VALUES ( Ideas[Idea] ),
                    CALCULATETABLE (
                        LASTDATE ( Ideas[Date] ),
                        ALLEXCEPT ( Ideas, Ideas[Idea] ),
                        Ideas[Date] <= MaxDate
                    )
                ),
                CALCULATETABLE (
                    LASTNONBLANK ( Ideas[Stage], 0 ),
                    ALLEXCEPT ( Ideas, Ideas[Idea], Ideas[Date] )
                )
            )
        )
    )
Idea Count as at Latest Stage V3 = 
VAR MaxDate =
    MAX ( 'Date'[Date] )
RETURN
    CALCULATE (
        DISTINCTCOUNT ( Ideas[Idea] ),
        KEEPFILTERS (
            GENERATE (
                VALUES ( Ideas[Idea] ),
                CALCULATETABLE (
                    GENERATE (
                        LASTDATE ( Ideas[Date] ),
                        CALCULATETABLE (
                            LASTNONBLANK ( Ideas[Stage], 0 ),
                            ALLEXCEPT ( Ideas, Ideas[Idea], Ideas[Date] )
                        )
                    ),
                    ALLEXCEPT ( Ideas, Ideas[Idea] ),
                    Ideas[Date] <= MaxDate
                )
            )
        )
    )

Saludos,

Owen

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *