Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
La calucación DATEDIFF está emitiendo valores incorrectos como se puede ver en la captura de pantalla a continuación. ¿Hay alguna razón específica por la que alguien lo sepa, o hay un método más preciso para obtener el recuento de días entre la Fecha A y la Fecha B?
Solved! Go to Solution.
Solo tengo resultados de trabajo también.
Consulte PBIX actualizado adjunto. Página 2.
El primer lugar donde estaría buscando son los tipos de datos para las fechas y ver si hay algún problema de conversión / problemas de configuración regional, pero dudo que eso explique diferencias tan significativas.
Agregar columna personalizada:
= Duration.Days([DecommissionDate]-[DateFirstUse]))
A Power BI no le gustan las columnas de fecha calculadas con un origen de datos SQL. Al agregar una columna personalizada en Power Query, se obtienen cálculos correctos para todos los valores.
DateDiff debería funcionar bien.
Necesito más detalles.
¿Es eso una medida o una columna calculada?
¿Puede incluir algunos datos reales? (no es una captura de pantalla)
Una captura de pantalla de su modelo de datos también puede ayudar.
Esto está en una columna calculada. No veo una manera de usar columnas en las medidas, así que he estado usando columnas calculadas:
La función DATEDIF() de Excel calcula los valores correctamente, por lo que parece ser un problema específico de Power BI por algún motivo. En Power BI, algunos de los valores están correctamente cubiertos, pero la mayoría de ellos son incorrectos.
Solo debería poder copiar y pegar desde Excel.
Alternativamente, comparte en google drive o similar.
Esto fue copiado / pegado de excel ...
FechaIniciar | FechaFin |
18/05/2019 | 4/12/2011 |
2/09/2011 | 1/07/2019 |
11/10/2010 | 11/08/2013 |
28/09/2010 | 20/01/2017 |
4/09/2011 | 19/09/2018 |
17/07/2013 | 7/12/2009 |
7/08/2013 | 10/02/2017 |
5/06/2014 | 14/03/2010 |
15/02/2019 | 10/08/2021 |
21/05/2013 | 4/06/2010 |
5/07/2019 | 20/01/2012 |
17/12/2013 | 17/07/2021 |
15/11/2012 | 14/05/2018 |
16/02/2017 | 3/01/2014 |
Sí, solo recibo este error al intentar publicar una respuesta con la tabla pegada:
"Tu publicación se ha cambiado porque se encontró HTML no válido en el cuerpo del mensaje. Se ha eliminado el CÓDIGO HTML no válido. Por favor, revise el mensaje y envíelo cuando esté satisfecho."
Aquí hay un enlace de Google Drive al que he subido una muestra:
https://drive.google.com/file/d/1t7jBXYHQ367BWpeuj-x9Y0KPmlsQrpMX/view?usp=sharing
Sí, no puedo replicar el problema cuando uso una hoja de cálculo como fuente de datos. Todos los valores cuando Excel es la fuente de datos salen para convertirse correctamente. Cuando se usan valores con Base de datos SQL de Azure como origen de datos, se trata de una combinación de valores correctos e incorrectos. Asumiría que el resultado debería ser el mismo, por lo que no estoy seguro de por qué el uso de la tabla de base de datos produciría resultados diferentes. ¿Algún pensamiento?
Solo tengo resultados de trabajo también.
Consulte PBIX actualizado adjunto. Página 2.
El primer lugar donde estaría buscando son los tipos de datos para las fechas y ver si hay algún problema de conversión / problemas de configuración regional, pero dudo que eso explique diferencias tan significativas.
En ella, @KNP
Parece que los valores incorrectos se multiplican por 2,3,4 tal vez otros, no los verificó todos, pero algo lo está repitiendo. Gracias por la solución.
Probé usando una medida, basada en su archivo y también está funcionando.
DateDiff_Measure = SUMX('Equipment', DATEDIFF('Equipment'[DateFirstUse], 'Equipment'[DecommissionDate], DAY))
Ya he jugado con los tipos de datos y el formato, pero aún sin éxito. Son verdaderos tipos de datos DATE. Marcaré su respuesta como la solución y trataré de encontrar una solución. Gracias a todos por tratar de ayudar.
La otra cosa a verificar, si alguna agrupación / agregación que ocurre en la visualización está causando resultados engañosos. Si ya está volcado en una tabla sin que ocurra la agregación, entonces no tengo ideas por ahora.
Mucha suerte.
Agregar columna personalizada:
= Duration.Days([DecommissionDate]-[DateFirstUse]))
A Power BI no le gustan las columnas de fecha calculadas con un origen de datos SQL. Al agregar una columna personalizada en Power Query, se obtienen cálculos correctos para todos los valores.
Los resultados para la función anterior se pueden ver en la captura de pantalla a continuación que son subtsantialmente más altos:
No estoy seguro de que eso ayude, pero el último. [Fecha] debe ser . [Día]. Será bueno si proporciona algún archivo si no contiene información confidencial
Debo haber cambiado eso al tener que volver a escribir algunos de los nombres de las tablas, pero lo cambié a . [Día] y aún así obtener resultados incorrectos.
Hi, @sffc
Intente crear una tabla de calendario con fechas completas, luego conéctela a la tabla de hechos (Equipo) y use la función.
Hola - gracias por la respuesta y la idea. Puedo intentarlo, pero ¿puede confirmar lo que quiere decir con "fechas completas"? Lo he intentado con fechas cortas y largas que están completas, pero obtengo los mismos resultados, es decir, miércoles 15 de diciembre de 2015 -> 15/12/2015, etc.
¿Puedes probar esto?
TimeInService = SUMX('Equipment', DATEDIFF('Equipment'[DateFirstUse].[ Día], 'Equipo'[DecommisionDate]. [Día], DÍA))