Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Estoy trabajando con un conjunto de datos de viaje que tiene esencialmente 3 columnas como se muestra a continuación.
Creado | Salida inicial | TripNum |
6-15-20 | 6-25-20 | 1 |
6-16-20 | 6-26-20 | 2 |
Me gustaría crear una tabla para los recuentos de viajes para los próximos 15, 30 y 45 días. Puedo hacerlo fácilmente en tiempo real. Sin embargo, estoy buscando tener datos históricos para trazar en un gráfico de líneas. Para ello necesito excluir todos los viajes que sean mayores que la fecha actual en el contexto de fecha dada en función de la fecha de creación del viaje. La siguiente tabla es lo que estoy buscando para crear.
Fecha | Recuento de excursiones de 15 días | Recuento de excursiones de 30 días | Recuento de excursiones de 45 días |
6-1-20 | 10 | 20 | 25 |
6-2-20 | 11 | 25 | 29 |
6-3-20 | 15 | 31 | 35 |
6-4-20 | 14 | 24 | 42 |
Realmente estoy luchando con la lógica DAX en este tema. Para el contexto, he creado una tabla de fechas relacionada con la fecha de salida inicial.
Gracias
Peter
Solved! Go to Solution.
Rena
Me faltaba la lógica && para que el filtro funcionara correctamente. Gracias por su ayuda con esta pregunta.
Un cambio adicional que necesitaba hacer era agregar lo siguiente:
Trip Count =
VAR _days = 15
RETURN
CALCULATE (
DISTINCTCOUNT ( 'Trip'[TripNum] ),
FILTER (
ALL ( 'Trip' ),
'Trip'[Created Date] <= MAX ( 'Date'[Date] )
--------> && 'Trip'[Trip Date] >= Max ( 'Date'[Date])
&& 'Trip'[Trip Date] > 'Trip'[Created Date]
&& 'Trip'[Trip Date]
<= MAX ( 'Date'[Date] ) + _days
)
)
Hola @PeterBlatchley ,
Intente crear una medida como se muestra a continuación y agregue Pronóstico en el panel Análisis, compruebe más adelante si puede lograr su requisito:
Trip Count =
CALCULATE (
DISTINCTCOUNT ( 'Trip'[TripNum] ),
FILTER (
ALL ( 'Trip' ),
'Trip'[Created] <= MAX ( 'Date'[Date] )
&& 'Trip'[Initial Depart] = MAX ( 'Date'[Date] )
)
)
Si no es aplicable para su escenario, proporcione más datos de ejemplo y el resultado esperado (incluya la lógica de caculación por recuento y ejemplos). ¿Desea pronosticar el recuento de viajes en los próximos 45 días u obtener el recuento de viajes en el pasado?
Saludos
Rena
Do desea pronosticar el recuento de viajes en los próximos 45 días o obtener el recuento de viajes en el pasado?
Hola Rena,
Gracias por la respuesta. Como mencionaste, estoy buscando el recuento de viajes en el pasado.
Gracias
Peter
Hola @PeterBlatchley ,
No estoy seguro de si entiendo correctamente sus necesidades. Por ejemplo, si los datos actuales en el gráfico están en 2020/8/20, entonces desea obtener el recuento de viajes en 2020/8/20, 2020/8/5, 2020/7/21 y 2020/7/6? ¿Puedo saber si la tabla existe los datos con fecha antigua?
Saludos
Rena
Rena
Tal vez visual es un mejor ejemplo. En este ejemplo, solo obtendré recuentos de viajes de 15 días.
Aquí tengo mi tabla de entrada con Trip, la fecha en que se creó el viaje y la fecha en que se llevará a cabo el viaje.
En el medio, tengo las tablas virtuales que necesito para cada fecha para hacer mis cálculos. Los valores rojos se excluyen porque no están en los criterios de fecha de 15 días o ya han tenido lugar.
La tabla resultante muestra los recuentos de fecha y 15 días de viaje en función de mi tabla virtual intermedia.
Espero que esto ayude a explicar mi problema.
Gracias de nuevo por su ayuda.
-Pedro
Hola @PeterBlatchley ,
En primer lugar, cree una tabla Date. A continuación, cree una medida como se muestra a continuación, coloque el campo de fecha en la tabla Fecha en el eje X de visual...
Trip Count =
VAR _days = 15
RETURN
CALCULATE (
DISTINCTCOUNT ( 'Trip'[TripNum] ),
FILTER (
ALL ( 'Trip' ),
'Trip'[Created Date] <= MAX ( 'Date'[Date] )
&& 'Trip'[Trip Date] > 'Trip'[Created Date]
&& 'Trip'[Trip Date]
<= MAX ( 'Date'[Date] ) + _days
)
)
Saludos
Rena
Rena
Me faltaba la lógica && para que el filtro funcionara correctamente. Gracias por su ayuda con esta pregunta.
Un cambio adicional que necesitaba hacer era agregar lo siguiente:
Trip Count =
VAR _days = 15
RETURN
CALCULATE (
DISTINCTCOUNT ( 'Trip'[TripNum] ),
FILTER (
ALL ( 'Trip' ),
'Trip'[Created Date] <= MAX ( 'Date'[Date] )
--------> && 'Trip'[Trip Date] >= Max ( 'Date'[Date])
&& 'Trip'[Trip Date] > 'Trip'[Created Date]
&& 'Trip'[Trip Date]
<= MAX ( 'Date'[Date] ) + _days
)
)
@PeterBlatchley, no muy claro. pero puede crear fórmulas como estas con una tabla de fechas
Rolling 15 day á CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],MAX(Sales[Sales Date]),15,Day))
Rolling 30 day ? CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],MAX(Sales[Sales Date]),30,Day))
Rolling 45 day á CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],MAX(Sales[Sales Date]),45,Day))
Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únase a ella con la columna de fecha de su/s hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/
Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...
Apreciamos tus Felicitaciones.