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.
Hola
Tengo una tabla de líneas base que tiene las siguientes columnas:
ID de línea base | ID de cliente | Nombre del servicio | Tabla de contratos de origen | Columna de tabla de origen correspondiente | Nueva columna(extrae el valor de la columna de tabla de origen correspondiente) |
1 | ABECEDARIO | Servicio 1 | Cuadro de contratos 1 | Campo de contrato A | nulo |
2 | .SDF | Servicio 2 | Cuadro de contratos 1 | Campo de contrato B | 0 |
3 | ABECEDARIO | Servicio 3 | Cuadro de contratos 3 | Campo de contrato C | 4 |
4 | FGH | Servicio 4 | Cuadro de contratos 4 | Campo de contrato B | nulo |
5 | OVC | Servicio 5 | Cuadro de contratos 5 | Campo de contrato A | nulo |
6 | NBV (en inglés) | Servicio 6 | Cuadro de contratos 1 | Campo de contrato B | 2 |
Para cada fila de la tabla Líneas base, en la columna Nueva, deseo rellenar los valores de las tablas relacionadas mencionadas en la columna Tabla de contrato de origen y sus columnas correspondientes cuyo nombre existe en la columna Tabla de origen correspondiente. Las tablas de contratos de origen tienen la siguiente estructura:
Cuadro de contratos 1 | ||||
ID de cliente | Campo de contrato A | Campo de contrato B | Campo de contrato C | … |
ABECEDARIO | nulo | 3 | nulo | … |
Por ejemplo, deseo rellenar la tabla Nueva columna en líneas base haciendo referencia a la tabla Contrato 1 y rellenando el valor que se encuentra en la columna Campo de contrato A que corresponde al ID de cliente de la tabla de líneas base. ¿Cómo lo consigo?
¡Gracias!
Hola Sahir,
Gracias por proponer una solución. El ID de cliente no es único en la tabla de líneas base (hecho) y su recuento dependerá del número de líneas de servicio que el cliente tenga con nuestra empresa. Cuando intento ejecutar el código, recibo el error de que no se puede determinar un único valor para Client ID en la tabla Líneas base.
Además, hay varias tablas de contratos de las que necesito extraer un valor de un campo específico. Entonces, en el siguiente ejemplo, para completar los valores de la primera fila en la "Nueva columna", necesito obtener el valor del campo de contrato A de la Tabla de contrato 1 que corresponde al ID de cliente ABC. Del mismo modo, para completar los valores de la nueva columna para la segunda fila, debo consultar el campo de contrato B de la tabla de contrato 1.
ID de línea base | ID de cliente | Nombre del servicio | Tabla de contratos de origen | Columna de tabla de origen correspondiente | Nueva columna(extrae el valor de la columna de tabla de origen correspondiente) |
1 | ABECEDARIO | Servicio 1 | Cuadro de contratos 1 | Campo de contrato A | nulo |
2 | .SDF | Servicio 2 | Cuadro de contratos 1 | Campo de contrato B | 0 |
La tabla de contrato de origen y la columna de tabla de origen correspondiente variarán según el servicio.
Esperamos su solución.
Hola @wmsbsintern,
1. Cargue la tabla de líneas base y la tabla de contratos en Power BI como tablas independientes.
2. Cree una relación entre la tabla de líneas base y la tabla de contratos basada en la columna "ID de cliente". Esto le permitirá hacer referencia a los datos relacionados.
3. En la tabla de líneas base, cree una nueva columna calculada:
New Column =
LOOKUPVALUE(
ContractTable[Contract Field A],
ContractTable[Client ID],
BaselinesTable[Client ID]
)
4. Aplique la fórmula a la "Nueva columna" para cada fila de la tabla de líneas base. Esto rellenará la columna con los valores de la tabla de contratos relacionada.
Si necesita más ayuda, no dude en comunicarse conmigo.