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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

Faltan datos al cargar una vista desde Oracle

Estoy cargando datos desde una vista en una base de datos de Oracle, usando Power BI Desktop y el modo de importación. Sin embargo, los datos no son los mismos si ejecuto la consulta en Oracle Developer que cuando la cargo en Power Query. Faltan la mayoría de los datos en Power BI. Quiero cargar los datos de un año completo, pero la primera fecha de carga en Power BI es julio.

Copié la consulta nativa de Power Query y la ejecuté en Oracle Developer, y dio diferentes resultados en Oracle Developer. Aquí no faltaron los datos. Consulta nativa básicamente las listas de las columnas en mi vista, por lo que no hay ninguna transformación allí.

Para depurar, modifiqué la vista para que solo contenga datos antes de julio y, en este caso, no se carga nada en Power BI. Los datos anteriores a julio siguen siendo visibles en Oracle Developer.

Aquí está el código M de mi consulta:

let
Source = Oracle.Database("dwh1_high", [HierarchicalNavigation=true]),
TEST2 = Source{[Schema="TEST2"]}[Data],
REP_COMPLAINTS_V = TEST2{[Name="REP_COMPLAINTS_V"]}[Data]
in
REP_COMPLAINTS_V

Todo esto es muy raro y me parece un error. ¿Alguna idea sobre cómo solucionarlo?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Después de un poco de depuración, investigación y varios ensayos, logré encontrar la causa raíz del problema.

En la vista, hay una función que convierte las fechas en números de día de la semana. Si se utiliza to_char(sysdate, 'D'), la salida de esta función puede ser diferente según el origen de la consulta y la configuración de NLS que se establezca en ese servidor. Por lo tanto, se debe usar una función diferente: TRUNC(sysdate) - TRUNC(sysdate, 'IW'), luego debe agregar +1 (si desea tener 1 para el lunes y 7 para el domingo).

Ver más detalles aquí: https://stackoverflow.com/questions/14517761/using-oracle-sql-how-does-one-output-day-number-of-week...

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Después de un poco de depuración, investigación y varios ensayos, logré encontrar la causa raíz del problema.

En la vista, hay una función que convierte las fechas en números de día de la semana. Si se utiliza to_char(sysdate, 'D'), la salida de esta función puede ser diferente según el origen de la consulta y la configuración de NLS que se establezca en ese servidor. Por lo tanto, se debe usar una función diferente: TRUNC(sysdate) - TRUNC(sysdate, 'IW'), luego debe agregar +1 (si desea tener 1 para el lunes y 7 para el domingo).

Ver más detalles aquí: https://stackoverflow.com/questions/14517761/using-oracle-sql-how-does-one-output-day-number-of-week...

Syndicate_Admin
Administrator
Administrator

@smoortema,

Queríamos comprobar amablemente si todo funciona como se esperaba después de probar la solución sugerida. Si hay algo más con lo que podamos ayudar, no dude en preguntar.

Si el problema se resuelve, le agradeceríamos que marcara la respuesta útil como Solución aceptada , ya que ayuda a otras personas que podrían enfrentar un problema similar.

Un cordial saludo,

Prasanna Kumar

Syndicate_Admin
Administrator
Administrator

@smoortema,

Queríamos comprobar amablemente si todo funciona como se esperaba después de probar la solución sugerida. Si hay algo más con lo que podamos ayudar, no dude en preguntar.

Si el problema se resuelve, le agradeceríamos que marcara la respuesta útil como Solución aceptada , ya que ayuda a otras personas que podrían enfrentar un problema similar.

Un cordial saludo,

Prasanna Kumar

Syndicate_Admin
Administrator
Administrator

@smoortema,

Simplemente haga un seguimiento para ver si la solución proporcionada fue útil para resolver su problema. No dude en informarnos si necesita más ayuda.

Si la respuesta abordó su consulta, márquela como Solución aceptada y haga clic en si la encontró útil, esto también beneficiará a otros en la comunidad.

Saludos

Prasanna Kumar

Syndicate_Admin
Administrator
Administrator

@smoortema,

Gracias por ponerse en contacto con la comunidad de Microsoft Fabric Forum.

Este es un resumen de las sugerencias para solucionar el problema:

Comprobar la lógica de la vista: asegúrese de que la vista no use SYSDATE ni filtros basados en sesión. En su lugar, utilice filtros de fecha fija.

Comprobar el contexto del usuario: compruebe si los datos devueltos difieren en función del usuario o la sesión comparando el usuario de Oracle en SQL Developer con Power BI.

Usar consulta SQL nativa: reemplace la carga predeterminada por una consulta SQL personalizada para omitir el plegado de consultas:

Source = Oracle.Database("dwh1_high", [Query="SELECT * FROM TEST2. REP_COMPLAINTS_V"])


Verifique la configuración regional y los tipos de datos: asegúrese de que las fechas y los tipos de datos se interpreten correctamente sin causar errores silenciosos.


Omitir límites de vista previa: asegúrese de que no confía solo en la vista previa de Power Query (muestra un número limitado de filas).

Use Query Diagnostics: habilite los diagnósticos en Power BI para ver qué consulta se envía realmente y qué devuelve Oracle.


Si encuentra útil esta respuesta, considere marcarla como la solución aceptada y darle un pulgar hacia arriba para apoyar a otros en la comunidad.


Gracias y saludos,
Prasanna kumar

Syndicate_Admin
Administrator
Administrator

@bhanu_gautam Gracias. Estoy usando el modo de importación, actualicé mi publicación original para incluir esta información.

Probé la opción de búfer, desafortunadamente no cambió nada.

Syndicate_Admin
Administrator
Administrator

@smoortema Si usa el modo de consulta directa, intente cambiar al modo de importación para ver si el problema persiste. El modo de consulta directa a veces puede tener limitaciones o problemas que no se producen en el modo de importación.

Este es un ejemplo de cómo podría modificar el código M para usar Table.Buffer para deshabilitar el plegado de consultas:

dejar
Origen = Oracle.Database("dwh1_high", [HierarchicalNavigation=true]),
TEST2 = fuente{[schema="TEST2"]}[datos],
REP_COMPLAINTS_V = TEST2{[name="REP_COMPLAINTS_V"]}[datos],
BufferedTable = Table.Buffer(REP_COMPLAINTS_V)
en
BufferedTable (Tabla en búfer)

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors