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
Recientemente creé una nueva tabla basada en una comparación entre dos columnas para los valores que faltan.
Utilicé la siguiente instrucción DAX para crear la nueva tabla (llamada "Missing From Rapid7"):
Falta en Rapid7 =
EXCEPTO( VALORES(CMDB_Active[ip_address]), VALORES(it_current[ip_address_rapid7]))
Entonces, basándome en esos valores dentro de esa tabla, estoy tratando de agregar una columna adicional en esa tabla que contenga los valores de una de las dos tablas originales (de la tabla llamada "CMDB_Active")
Por ejemplo, quiero agregar la columna "host_name" que contiene los valores de la tabla "CMDB_Active" en esta tabla recién creada llamada "Missing From Rapid7".
Cada uno de los valores en el "Missing From Rapid7" es de una columna llamada "Dirección IP". Y cada uno de los valores en la columna "Dirección IP" tiene un valor correspondiente "host_name" que es de la tabla "CMDB_Active".
¡Hágame saber si esto tiene sentido o si se necesita más información!
Podrías probar esto de un par de maneras. Una forma sería usar ADDCOLUMNS, algo así como
Falta en Rapid7 =
ADDCOLUMNS(
EXCEPTO( VALORES(CMDB_Active[ip_address]), VALORES(it_current[ip_address_rapid7])),
"Nombre de host"
LOOKUPVALUE(CMDB_Active[host_name], CMDB_Active[ip_address], [ip_address])
)
Donde [ip_address] es el nombre de la columna de la tabla recién creada, que debe ip_address si no la ha cambiado.
Otra opción es hacer todo esto en Power Query. Si 'fusionar como nuevo' entre CMDB_Active y it_current, usando un 'anti unión izquierda', entonces tendrías toda la tabla de CMDB_Active, solo para ip_adress que no están en it_current.
Ejemplo simple, 2 y 3 se han ido y todavía tiene la columna 'palabra', que no se usó en la unión.
Hola, gracias por la ayuda! Me encontré con un par de problemas al probar la primera opción.
Primero utilicé la opción "Nueva columna" con la siguiente expresión:
Columna = ADDCOLUMNS(
EXCEPTO( VALORES(CMDB_Active[ip_address]), VALORES(it_current[ip_address_rapid7])),
"Nombre de host"
LOOKUPVALUE (CMDB_Active[host_name], CMDB_Active[ip_address], [ip_address])
)
Recibí el error:
La sintaxis de 'LOOKUPVALUE' es incorrecta. (DAX(ADDCOLUMNS( EXCEPT( VALUES(CMDB_Active[ip_address]), VALUES(it_current[ip_address_rapid7])), "Host Name" LOOKUPVALUE (CMDB_Active[host_name], CMDB_Active[ip_address], [ip_address])))))
Entonces agregué una coma después de "Nombre de host" y obtuve el siguiente error:
La expresión hace referencia a varias columnas. No se pueden convertir varias columnas en un valor escalar.
Tienes razón, me perdí una coma después del nuevo nombre de la columna (lo he agregado ahora).
La idea con LOOKUPVALUE es
¿Está escrito exactamente como se muestra a continuación (con la coma esta vez)? Lo he intentado en una configuración muy rápida y parecía funcionar bien para mí. Si no es así, ¿podría compartir algunos de los datos?
Missing From Rapid7 =
ADDCOLUMNS(
EXCEPT( VALUES(CMDB_Active[ip_address]), VALUES(it_current[ip_address_rapid7])),
"Host Name",
LOOKUPVALUE(CMDB_Active[host_name], CMDB_Active[ip_address], [ip_address])
)
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 |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |