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
Yggdrasill
Responsive Resident
Responsive Resident

Recuento de fechas entre dos fechas dentro de la misma columna

Mi tabla tiene este aspecto y en mi modelo tiene una relación 1:N con mi tabla de calendario de fecha a fecha:

CategoríaFechaDimensión
A1.1.2020Gato
A3.2.2020Perro
B1.1.2019Gato
B1.3.2019Perro
B1.6.2019Serpiente
C1.1.2020Serpiente
C2.1.2020Perro
C3.1.2020Serpiente
B1.1.2020Gato


Quiero contar el número de categorías que tengo en cada dimensión para cada fecha que elijo filtrar para que la salida sea así para la fecha de hoy

DimensiónFechaRecuento de categoría
Perro22.4.20201
Gato22.4.20201
Serpiente22.4.20201

Pero cuando selecciono otra fecha, por ejemplo 1.st de febrero de 2020 el resultado sería este

DimensiónFechaRecuento de categoría
Perro1.2.20200
Gato1.2.20202
Serpiente1.2.20201


Así que básicamente necesito contar las filas de mi tabla Calendar que se encuentran entre dos fechas correspondientes a las columnas Categoría y Dimensión.

¿Cómo puedo lograr este USind DAX?

Lo que he intentado hasta ahora es usar FILTER() y ERLIER(), pero mis habilidades DAX no están a la altura de la tarea que me temo.

6 REPLIES 6
v-alq-msft
Community Support
Community Support

Hola, @Yggdrasill

Me pregunto si hay algo mal con el resultado esperado en 2/1/2020. Supongo que desea calcular el número de categorías distintas donde la fecha es menor o igual que la fecha seleccionada para cada dimensión.

Mesa:

c1.png

Calendario:

Calendar = CALENDARAUTO()

No hay ninguna relación entre dos tablas.

Puede crear una medida como se muestra a continuación.

Count = 
var _date = SELECTEDVALUE('Calendar'[Date])
var _dimension = SELECTEDVALUE('Table'[Dimension])
return
CALCULATE(
    DISTINCTCOUNT('Table'[Category]),
    FILTER(
        ALL('Table'),
        'Table'[Dimension] = _dimension&&
        'Table'[Date]<=_date
    )
)

Resultado:

c2.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por tomarse el tiempo Allan, pero esto no parece devolver la salida deseada.

Por 1.st de febrero, los casos activos deben ser 2 gatos y 1 serpiente. (Tenga en cuenta que estoy usando el formato dd.mm.yyyy)

Además, la medida no parece funcionar.

Mi mesa es realmente así:

CasoFechaEstado deEstado para
A1.1.2020NuevoAbierto
A20.1.2020Abierto

Cerrado

B1.1.2020Nuevo

Abierto

B13.1.2020AbiertoPendiente
B1.2.2020PendienteCerrado


Necesito contar las fechas entre cada cambio de estado para cada caso y ser capaz de visualizarlo así para todos los casos


cases.PNG

Hola, @Yggdrasill

Basándome en sus datos, creé datos para reproducir su escenario.
Mesa:

h1.png

Prueba:

h2.png

Calendario:

Calendar = CALENDARAUTO()

Puede crear una medida como se muestra a continuación.

CountValue = 
var _date = SELECTEDVALUE('Calendar'[Date])
var _status = SELECTEDVALUE(Test[Status])
var tab = 
SUMMARIZE(
    ALLSELECTED('Table'),
    'Table'[Case],
    "MaxDate",
    var c = [Case]
    return
    CALCULATE(
        MAX('Table'[Date]),
        FILTER(
            ALLSELECTED('Table'),
            'Table'[Case] =c&&
            'Table'[Date]<=_date
        )
    )
)
var newtab = 
ADDCOLUMNS(
    tab,
    "Status",
    var c = [Case]
    var md = [MaxDate]
    return
    MAXX(
        FILTER(
            ALLSELECTED('Table'),
            'Table'[Case] = c&&
            'Table'[Date] = md
        ),
        [Status to]
    )
)
var result = 
COUNTROWS(
        FILTER(
            newtab,
            [Status] = _status
        )
    )
return
IF(
    ISBLANK(result),
    0,
    result
)

Resultado:

h5.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias Allan ! Esto es algo que puedo usar ! ¡Brillante!

Sin embargo, quiero señalar que los cálculos son lentos porque tengo más de 2000 casos y un lapso de más de 5 años.

Además, el recuento se rompe cuando uso la hieraría de fecha en los objetos visuales.

¿Es posible utilizar el final de cada fecha como punto de quiebre cuando quiero subir la granularidad de la fecha?

Por ejemplo, si utilizo un gráfico de barras con Años, ¿vería el recuento final de cada año?

Hola, @Yggdrasill

Puede modificar 'var _date á SELECTEDVALUE('Calendar'[Date])' como 'var _date ' MAX('Calendar'[Date])' y hacer que otros códigos no cambien.

CountValue = 
var _date = MAX('Calendar'[Date])
var _status = SELECTEDVALUE(Test[Status])
var tab = 
SUMMARIZE(
    ALLSELECTED('Table'),
    'Table'[Case],
    "MaxDate",
    var c = [Case]
    return
    CALCULATE(
        MAX('Table'[Date]),
        FILTER(
            ALLSELECTED('Table'),
            'Table'[Case] =c&&
            'Table'[Date]<=_date
        )
    )
)
var newtab = 
ADDCOLUMNS(
    tab,
    "Status",
    var c = [Case]
    var md = [MaxDate]
    return
    MAXX(
        FILTER(
            ALLSELECTED('Table'),
            'Table'[Case] = c&&
            'Table'[Date] = md
        ),
        [Status to]
    )
)
var result = 
COUNTROWS(
        FILTER(
            newtab,
            [Status] = _status
        )
    )
return
IF(
    ISBLANK(result),
    0,
    result
)

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

mitsu
Resolver IV
Resolver IV

Hola Puede utilizar la categoría como valor en su objeto visual y seleccionar su agregación como recuento . Alternativamente, cree una nueva medida como

Count(Table1[Category]) .
Espero que esto ayude !

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.