Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Estoy intentando extraer el valor del período de un conjunto de datos de instantánea de fecha. La tabla tiene el siguiente aspecto. Hay un par de cosas a tener en cuenta con respecto a esta mesa. La primera es que el Column CostItemID está en el lado de muchos de una relación de uno a varios. La segunda es que la columna de sello de fecha está vinculada a una tabla de fechas. La última columna de la tabla es el valor que estoy intentando extraer de la tabla. Tenga en cuenta que es posible períodos allí el coste de asociado a una posición de coste puede disminuir en un período determinado.
CostItemID | Sello de fecha | Costo del proyecto hasta la fecha | Costo incurrido por sello de fecha anterior |
1 | 5/8/20 | 100 | |
2 | 5/8/20 | 200 | |
3 | 5/8/20 | 300 | |
1 | 5/9/20 | 150 | 50 |
2 | 5/9/20 | 275 | 75 |
3 | 5/9/20 | 365 | 65 |
1 | 5/10/20 | 175 | 25 |
2 | 5/10/20 | 225 | -50 |
3 | 5/10/20 | 375 | 10 |
Solved! Go to Solution.
Gracias a ambos por ayudar con este desafío. Estoy seguro de que hay una mejor manera que lo que se me ocurrió. Sin embargo, después de algunas investigaciones en Internet pude llegar a una solución que parece darme el resultado deseado y tiene un rendimiento decente. Lo que se me ocurrió es el siguiente:
1. En Power Query ordenar CostItemID en ascendente.
2. El siguiente paso ordena DateStamp en ascendente.
3. A continuación, agregue una columna de índice.
4. Después de cerrar y aplicar pude llegar a una medida de la siguiente manera:
@Ashish_Mathur & @mahoneypat Gracias a ambos por cantaren!!! Puede que tengas que ser paciente conmigo, sólo estoy rascando la superficie cuando se trata de Dax. Probé ambos métodos y no parecía obtener el resultado deseado. Probablemente debería haber sido más claro con respecto a la frecuencia de cada sello de fecha. Los nuevos datos se añaden a la tabla semanalmente con un sello de fecha respectivo. No estoy seguro de si esto afectaría a cualquiera de sus expresiones. Encontré una solución torpe pero efectiva con PowerQuery, pero me temo que esto empatará las actualizaciones dado que este conjunto de datos tiene registros 7M. Si podemos encontrar una manera de hacerlo con dax debería mejorar en gran medida el rendimiento. A continuación se muestra un enlace al video que he encontrado (también puede proporcionar algo de claridad en torno a lo que estoy tratando de hacer). Probablemente puedesaltar a 4:30 en el video si lo desea. Me pareció que era un trabajo bastante inteligente.
Un par de cosas a tener en cuenta:
1. Ignore el autor que crea una tabla de usuario. Ya lo tengo en el modelo de datos.
2. Además, no tenga en cuenta la fusión de los ID de usuario en la tabla. El conjunto de datos con el que estoy trabajando ya viene con esos valores (CostItemID)
Una vez más, gracias a ambos por mirar esto. Ha sido una especie de cabeza rascándome el agujero del conejo para mí.
Sinceramente
Cailen
Gracias a ambos por ayudar con este desafío. Estoy seguro de que hay una mejor manera que lo que se me ocurrió. Sin embargo, después de algunas investigaciones en Internet pude llegar a una solución que parece darme el resultado deseado y tiene un rendimiento decente. Lo que se me ocurrió es el siguiente:
1. En Power Query ordenar CostItemID en ascendente.
2. El siguiente paso ordena DateStamp en ascendente.
3. A continuación, agregue una columna de índice.
4. Después de cerrar y aplicar pude llegar a una medida de la siguiente manera:
Hola
Para cada CostItemID, si siempre habrá fechas continuas en el campo Sello de fecha, estas medidas funcionarán
Coste hasta la fecha (Datos[Coste del proyecto a fecha])
Coste incremental: [Coste a la fecha]-CALCULATE([Coste a la fecha],PREVIOUSDAY(Calendario[Fecha]))
Espero que esto ayude.
Cambiar de anterior a var currentday á selectedvalue(Fecha[Fecha])
var todayvalue á sum(Table[Project Cost to Date])
var prevdatevalue á calculate(sum(Table[Project Cost to Date]), all(Date[Date]), Date[Date] - currentday -1)
devolver todayvalue - prevdatevalue
Esto supone que tiene resultados todos los días (es decir, prevdatevalue siempre tiene un valor) y que el objeto visual está en el día y la granularidad de elementos individuales.
Si esto funciona para usted, por favor márquelo como la solución. Los felicitaciones también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.