Forum Discussion
Necesita ayuda para modelar Oracle SQL Query en Power BI
Saludos por el día !
Tengo una consulta SQL de Oracle mediante 5 tablas y varias combinaciones. Cuando estoy poniendo ese SQL en SQL personalizado y ejecútelo. No está llegando a través. Cada vez se muestra el error " Operación cancelada por el usuario " después de tomar unos minutos. Se supone que solo devolverá 2 años de datos que tendrán registros de 1Lakh.
¿Puede alguien ayudarme a modelar ese SQL en Power BI.
A continuación se muestra la instantánea de SQL (colocando solo FROM y Where cláusula).
¡Ayuda!
DE "SCH"." TABLE1",
"SCH"." MATERIAL_MASTER",
Sch. ECC BDG,
Sch. ECC SU,
"SCH"." PRODUCT_HIERARCHY_DIMENSION",
Sch. CUSTOMER_MASTER ,
( Seleccione material_id como PHC_Material_ID,
PRODUCT_HIERARCHY_LEVEL7_CODE COMO PRODUCT_HIERARCHY_CODE
DE SCH. MATERIAL_MASTER, LPDW_DM_SALES. PRODUCT_HIERARCHY_DIMENSION
Dónde
PRODUCT_HIERARCHY_IDENTIFIER de PRODUCT_HIERARCHY_ID(+)
Y PRODUCT_HIERARCHY_LEVEL2_DESCR <> 'Viejo Tyco'
Y PRODUCT_HIERARCHY_LEVEL2_DESCR <> 'Vincotech') PHC ,
(SELECCIONE "CODE_TYPE_SHORT_NAME",
"GENERIC_CDE",
"GENERIC_CDE_DESC"
DE "LPDW_PURCH_EDW"." MASTER_CODES"
DONDE CODE_TYPE_SHORT_NAME 'SALESGROUP'
O CODE_TYPE_SHORT_NAME ' 'DOCTYPE'
O CODE_TYPE_SHORT_NAME 'ITEMCAT'
O CODE_TYPE_SHORT_NAME 'BUYERASSOC'
O CODE_TYPE_SHORT_NAME 'STORAGELOC'
O CODE_TYPE_SHORT_NAME 'MRPGRP'
O CODE_TYPE_SHORT_NAME 'PRFTCTR'
O CODE_TYPE_SHORT_NAME 'ORIGGRP'
O CODE_TYPE_SHORT_NAME 'MATLTYP'
O CODE_TYPE_SHORT_NAME 'MRPCTRL'
O CODE_TYPE_SHORT_NAME 'PLANTA') MC2
Dónde
SALES_STAT_CATEGORY_CDE-MC2. GENERIC_CDE(+) Y
PART_NBR de la p. PHC_material_id(+) Y
TRANSACTION_TYPE_IDENTIFIER <> 1
Y "TRANSACTION_DATE" ENTRE '01-Jan-19' Y ((add_months('01-Sep-20', -1))-1)
Y LOCAL_CURRENCY_VALUE <> 0
Y
( ( (CASO CUANDO TABLA1. TRANSACTION_TYPE_IDENTIFIER IN (2,3,6) ENTONCES
(CASO CUANDO (TABLA1. DISTRIBUTION_CHANNEL_CODE '03' O
TABLA1. BILLING_TYPE_CDE IN ('IG', 'IGS','IV','IVS','ZIVR'))
ENTONCES 'I' ELSE 'T' END )
ELSE (CASE CUANDO TABLE1. DISTRIBUTION_CHANNEL_CODE '03'
ENTONCES 'I' ELSE 'T' END )
END ) ) - 'T' )
Y DISTRIBUTION_CHANNEL_CODE IN ('01','02')
Y "PRODUCT_HIERARCHY_LEVEL2_CODE" á '13093'
Y "PART_NBR" - MATERIAL_ID
Y "PRODUCT_HIERARCHY_IDENTIFIER" - PRODUCT_HIERARCHY_ID
Y BDG. CURR_TO ' USD'
Y BDG. CURR_FROM = SCH. TABLA1. LOCAL_CURRENCY_CDE
Y BDG. DAY_DATE = SCH. TABLA1. TRANSACTION_DATE
Y LA SUYA. CURR_TO ' USD'
Y LA SUYA. CURR_FROM = SCH. TABLA1. LOCAL_CURRENCY_CDE
Y LA SUYA. DAY_DATE = SCH. TABLA1. TRANSACTION_DATE
Y (TABLE1. SALES_STAT_CATEGORY_CDE'ZPOR'
Y TABLE1.ORGANIZATION_ID '1296')
Y SCH. CUSTOMER_MASTER. CUSTOMER_ID-SCH." TABLE1"." SHIP_TO_CUSTOMER_ID"
1 Reply
- V-lianl-msft
Community Support
Hola @VineetaSirohi ,
Si el motivo del error son los tiempos de espera, el parámetro de tiempo de espera debe cambiarse a un valor superior. Si establece el tiempo de espera de la instrucción en -1, las instrucciones no deben agotar el tiempo de espera. Esta configuración debe ser predeterminada.
Si utiliza la conectividad de base de datos abierta (ODBC) en Oracle, tiene la opción de habilitar los tiempos de espera para que no vuelva a enfrentar este mensaje de error. Para habilitar los tiempos de espera, vaya a su Panel de control y haga clic en Herramientas administrativas. En el cuadro de diálogo Herramientas administrativas, orígenes de datos de reloj (ODBC). Seleccione la conexión ODBC. En la página de configuración, busque la casilla situada junto a "Habilitar tiempo de espera ODBC" y asegúrese de que la casilla está desactivada. Esto evitará que se produzcan más tiempos de espera.
Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.