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.
Hola
Estaba usando Power BI Desktop con una conexión local de PostgreSQL. Tenía una tabla con algunas columnas de intervalo (en SQL: "AGE(x_2, x_1) AS interval_column"). Power BI reconoció automáticamente esas columnas como "duración" sin agregar ningún paso en Power Query.
Ahora estoy cambiando de una conexión local a una conexión ODBC, y esas columnas ya no se reconocen como 'duración', sino como 'texto'. Cambiar el tipo de 'texto' a 'duración' agregando un paso en Power Query conduce a un error:
(Literal para la duración no se pudo analizar).
Ambas tablas son exactamente iguales,además de las diferentes conexiones.
Incluso intenté cambiar las instrucciones SQL de:
EDAD(x_2, x_1) AS interval_column
Para
(x_2 - x_1) AS interval_column
pero no funcionó tan bien.
¡Espero que puedas ayudarme! ¡Muchas gracias de antemano!
Sinceramente
Omar
Fragmento de ejemplo de la tabla:
Hay @oemer_erguen,
¿Podemos considerar la importación de las columnas de fecha x_1 y x_2 en Power BI y, a continuación, hacer referencia a la solución en los siguientes subprocesos para obtener la duración?
1. Agregar una columna personalizada en el Editor de Power Query
2. Uso de DAX
Calcular la duración en días, horas, minutos y segundos de forma dinámica en Power BI mediante DAX
Saludos
Sé cómo resolver el problema de manera diferente y actualmente estoy usando la "opción 3" en la que guardo los segundos entre x_1 y x_2 y lo divido por 86400 (Un día tiene 86400 segundos) por lo que obtengo un número de décima, que es reconocido por Power BI como decimal.
Pero el problema real sigue siendo el mismo: una conexión de consulta directa a un SQL conduce a una tabla de resultados diferente que una conexión a través de ODBC. Espacialmente los campos de intervalo de la tabla sql no se reconocen igual en Power BI (uno se reconoce como duración, el otro como texto).
Para mí se parece más a un error o las consultas difieren entre sí.
Y consejo para usted @yingyinr,nunca use DAX si pudiera manejar lo mismo en SQL. Dax es una forma de ralentizar ...
Hola @lbendlin,
hay 3 formas de guardar intervalos (duración) en PostgreSQL. Ya sea como "año mes días horas:minutos:segundos:milisegundos", "días horas:minutos:segundos:milisegundos" o simplemente en "segundos". Las primeras 2 opciones se muestran como "duración" en Power BI desde nuestra base de datos local, pero como un "texto" desde nuestra conexión ODBC.
Creo que deberías ir con la tercera opción. Puede traducirse directamente en la construcción Power Query #duration (0,0,0, segundos).
solo para aclarar: ¿así es como obtiene los datos de la conexión ODBC? ¿Qué significa "1 mon?!?! ¿Cuántos días hay en ese mes?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |