andrewpirie
Estoy tratando de agregar el nombre del empleado que creó una entrada en nuestro conjunto de datos de órdenes de venta en PowerBI. Las columnas relevantes son las siguientes:
ÓRDENES DE VENTA
…
SALESPERSON_ID VARCHAR (20)
EMPLEADO
OLD_FORMAT_EMPLOYEE_ID VARCHAR (20)
NEW_FORMAT_EMPLOYEE_ID INT
DISPLAYNAME VARCHAR (200)
…
En SQL, haría esto de la siguiente manera:
SELECT SALESORDER..., EMPLOYEES.DISPLAYNAME FROM SALESORDER LEFT JOIN EMPLOYEE ON SALESORDER.SALESPERSON_ID = CAST(EMPLOYEE.NEW_FORMAT_EMPLOYEE_ID AS VARCHAR(20)) OR SALESORDER.SALESPERSON_ID = EMPLOYEE.OLD_FORMAT_EMPLOYEE_ID
Para hacer esto en PowerBI, podría usar lo anterior, que se siente como una trampa (estoy tratando de ser competente en PowerBI), o agregar una columna con una declaración DAX como la siguiente (que da un error al comparar Texto y Número, que me confunde porque cambié el tipo de datos en ‘Empleado'[NEW_FORMAT_EMPLOYEE_ID] al texto en el Editor avanzado)
IF( IFERROR(VALUE('Sales Order'[SALESPERSON_ID]), -1) = -1, LOOKUPVALUE( 'Employee'[DISPLAYNAME], 'Employee'[OLD_FORMAT_EMPLOYEE_ID], 'Sales Order'[SALESPERSON_ID] ), LOOKUPVALUE( 'Employee'[DISPLAYNAME], 'Employee'[NEW_FORMAT_EMPLOYEE_ID], 'Sales Order'[SALESPERSON_ID] ) )
Agradecería cualquier ayuda para que esta combinación / búsqueda funcione en PowerBI.
Gracias,
Andrés
v-yulgu-msft
Hola, @andrewpirie
Primero asegúrese de que el tipo de datos de las columnas OLD_FORMAT_EMPLOYEE_ID y NEW_FORMAT_EMPLOYEE_ID en tabla EMPLEADO son ambos texto.
Agregue una columna calculada en la tabla SALESORDER:
Name = IF( LOOKUPVALUE(EMPLOYEE[DISPLAYNAME],EMPLOYEE[NEW_FORMAT_EMPLOYEE_ID],SALESORDER[SALESPERSON_ID])= "", LOOKUPVALUE(EMPLOYEE[DISPLAYNAME],EMPLOYEE[OLD_FORMAT_EMPLOYEE_ID],SALESORDER[SALESPERSON_ID]), LOOKUPVALUE(EMPLOYEE[DISPLAYNAME],EMPLOYEE[NEW_FORMAT_EMPLOYEE_ID],SALESORDER[SALESPERSON_ID]) )
Atentamente,
Yuliana Gu
v-yulgu-msft
Hola, @andrewpirie
Primero asegúrese de que el tipo de datos de las columnas OLD_FORMAT_EMPLOYEE_ID y NEW_FORMAT_EMPLOYEE_ID en tabla EMPLEADO son ambos texto.
Agregue una columna calculada en la tabla SALESORDER:
Name = IF( LOOKUPVALUE(EMPLOYEE[DISPLAYNAME],EMPLOYEE[NEW_FORMAT_EMPLOYEE_ID],SALESORDER[SALESPERSON_ID])= "", LOOKUPVALUE(EMPLOYEE[DISPLAYNAME],EMPLOYEE[OLD_FORMAT_EMPLOYEE_ID],SALESORDER[SALESPERSON_ID]), LOOKUPVALUE(EMPLOYEE[DISPLAYNAME],EMPLOYEE[NEW_FORMAT_EMPLOYEE_ID],SALESORDER[SALESPERSON_ID]) )
Atentamente,
Yuliana Gu
andrewpirie
En respuesta a v-yulgu-msft
Gracias Yuliana_Gu, ¡es una solución brillante!
Andrés
GilbertQ
¿Qué pasa con la opción de utilizar la opción Fusionar consultas en el Editor de consultas?
Eso le dará todas las opciones requeridas como se muestra a continuación.
ankitpatira
@andrewpirie Asegúrese de que el tipo de datos en ambas columnas sea el mismo, es decir, salesperson_id y new_format_employee_id.
andrewpirie
En respuesta a ankitpatira
@ankitpatira Ambos están configurados para enviar mensajes de texto en PowerBI