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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

DAX Recuento de filas según la fecha, incluidos los filtros existentes

Hola expertos,

No pude encontrar un tema que coincidiera con él, así que creé este.

Necesito su ayuda para corregir las medidas de Dax que cuentan filas anteriores o anteriores a una fecha determinada.

Hay una tabla de pedidos con una columna de fecha de vencimiento. Quiero contar los pedidos de acuerdo con esa fecha de vencimiento en relación con hoy.

Digamos que quiero contar las órdenes abiertas en un rango de +/- 7 días a partir de hoy.

Me las arreglé para establecer el rango de fechas correcto dinámicamente y contar los pedidos en ese rango para un día determinado.

Pero también quiero mostrar lo que hay antes y después del rango de fechas dado y lucho con eso. ¿Cómo puedo modificar mis medidas de recuento para mostrar el recuento de todos los pedidos antes de que comience el intervalo de fechas y después de que finalice el intervalo de fechas?

Cuando miras la imagen, quiero mi tabla en la columna de fecha como primera entrada "más antigua" que cuenta 9 pedidos y otra entrada "después" que debe contar 49 pedidos. Alternativamente, cuente estos pedidos y agréguelos al primer o último día del rango de fechas. Luego, el 6 de agosto mostraría "11" y el 27 de septiembre mostraría "52".

¿Alguien tiene una idea?

CFG_1-1726848094282.png

Mis medidas de conteo:

  • Contar los pedidos dentro del rango de fechas:
    SLA_Monitor Recuento en rango = CALCULAR(CONTAR(pedidos[Aft_sk]))
  • Colocación en el pasado, antes de que comience el intervalo de fechas:
    SLA_Monitor Recuento antes del rango = CALCULATE(COUNT(orders[Aft_sk]),FILTRO(orders,orders[t_sla_end]<=[SLA_Monitor primera fecha en el rango]))
  • Couting in the future after the date range ended:
    SLA_Monitor Contar después del rango = CALCULATE(COUNT(orders[Aft_sk]),FILTRO(orders,o(orders[t_sla_end]>=[SLA_Monitor última fecha en el rango],ISBLANK(orders[t_sla_end]))))

Establezco un filtro en "1" en la siguiente medida para crear dinámicamente el eje x (primera columna):
SLA_Monitor Rango de filtro = IF(SELECTEDVALUE(orders[t_sla_end])>=TODAY()-7 &&SELECTEDVALUE(orders[t_sla_end])<=TODAY()+7,1,BLANK())

Gracias y BR

CFG

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@C-F-G recomendación sería agregar una relación o usar la función treatas :

Sales Measure = 
VAR __StartDate = TODAY () - 7
VAR __DatesTable = DATESINPERIOD ( 'Calendar'[Date], __StartDate, 14, DAY )
RETURN
CALCULATE (
   SUM ( Table[Sales] ),
   TREATAS (
      __DatesTable,
      Table[Date Column You Want To Use]
  )
)

Gracias, parry2k.

El uso de TREATAS parece muy prometedor.

Trabajaré en este enfoque. 👍

Syndicate_Admin
Administrator
Administrator

Hola, @C-F-G

¿Puedo preguntarle si ha resuelto este problema? Si se resuelve, comparta su solución y acéptela como solución, será útil para que otros miembros de la comunidad que tengan problemas similares al suyo lo resuelvan más rápido.


Si no se resuelve, espero que proporcione el archivo .pbix completo a través de OneDrive o SharePoint. Tenga cuidado de eliminar toda la información confidencial y haremos todo lo posible para brindarle ideas para su problema.

Espero que mis sugerencias le den buenas ideas, si tiene más preguntas, aclare en una respuesta de seguimiento.
Saludos
Fen Ling,
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Hola

Gracias por tratar de ayudar.

Desafortunadamente, aún no pude resolverlo.

Es necesario un cambio en el modelo de datos. Pero no puedo hacerlo yo mismo mientras trabajo en una conexión en vivo a un servidor de análisis. Necesito ponerme en contacto con el otro departamento para realizar mi solicitud de cambio.

Sin embargo, muchas gracias por su esfuerzo.

CFG

Syndicate_Admin
Administrator
Administrator

@C-F-G

Como práctica recomendada, agregue una dimensión de fecha en el modelo y utilícela para los cálculos de inteligencia de tiempo. Una vez agregada la dimensión de fecha, márquela como una tabla de fechas en las herramientas de tabla. Mira los videos relacionados en mi canal de YT

Agregar dimensión de fecha
Importancia de la dimensión de fecha
Marcar la dimensión de fecha como una tabla de fechas: ¿por qué y cómo?
Lista de reproducción de inteligencia de tiempo

Para su cálculo, simplemente puede usar la siguiente medida para obtener -/+ 7 días a partir de hoy:

Sales Measure = 
VAR __StartDate = TODAY () - 7
RETURN
CALCULATE (
   SUM ( Table[Sales] ),
   DATESINPERIOD ( 'Calendar'[Date], __StartDate, 14, DAY )
)

Hola parry2k,

Gracias por señalar la importancia de una tabla de fechas.

Ya hay una tabla de fechas definida en el modelo con el que estoy trabajando. Desafortunadamente, está vinculado a otros campos de fecha en la tabla de pedidos. Estoy trabajando con una conexión en tiempo real en un servidor de análisis y no puedo cambiar el modelo de datos. Tengo que ponerme en contacto con otro departamento para crear una relación (inactiva) entre la tabla de fechas y el campo de fecha deseado. Traté de solucionar esto, pero parece que no es posible ...

Sin embargo, muchas gracias por su esfuerzo.

CFG

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

Check out the September 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors