LOOKUPVALUE con Direct Query o una alternativa necesaria

Un usuario Pregunto ✅

gaiusgw

He revisado varios subprocesos similares y no encuentro una solución simple para esto.

Estoy usando 2 soruces sql de consulta directa y no puedo cambiar al modo de importación porque necesito que los datos se actualicen diariamente. Estoy tratando de extraer valores de una tabla a otra. LOOKUPVALUE no es una opción aparentemente o al menos no puedo encontrar una manera de hacerlo funcionar. Aquí hay un ejemplo simplificado de las 2 tablas y el resultado que busco lograr.

tabla 1

CONTROL_NO

CUST

1

ZORRO

1

ZORRO

2

CERDO

2

CERDO

2

CERDO

3

PERRO

3

PERRO

4

OVEJA

4

OVEJA

5

VACA

6

SOPORTAR

Tabla 2

CONTROL_NO

A GRANEL

1

CIERTO

2

FALSO

3

CIERTO

4

FALSO

5

CIERTO

6

FALSO

Resultado de la tabla 1 que estoy buscando

CONTROL_NO

CUST

A GRANEL

1

ZORRO

CIERTO

1

ZORRO

CIERTO

2

CERDO

FALSO

2

CERDO

FALSO

2

CERDO

FALSO

3

PERRO

CIERTO

3

PERRO

CIERTO

4

OVEJA

FALSO

4

OVEJA

FALSO

5

VACA

CIERTO

6

SOPORTAR

FALSO

Como estoy seguro de que puede ver, soy muy nuevo en Power BI. Cualquier ayuda será realmente apreciada. Muchas gracias.

Edhans

En respuesta a gaiusgw

Encantado de ayudar. ¿Puede marcar uno o más de estos como la solución para que este hilo se pueda cerrar?

En un asunto semi-relacionado, tampoco necesitas LOOKUPVALUE aquí. Estás pensando en BUSCARV en Excel. En Power BI, normalmente debería pensar en fusionar. LOOKUPVALUE tiene sus usos, pero es bastante raro, mucho más raro que hacer cualquier tipo de VLOOKUP / XLOOKUP en Excel debido a cómo funciona el modelo de datos y las fusiones.

Vea este archivo. Le muestra cómo fusionar esas dos tablas y traer la columna VERDADERO / FALSO a la primera tabla. En Power BI, presione el botón Transformar en la cinta Inicio para acceder a Power Query y verlo.

gaiusgw

En respuesta a Edhans

¡Impresionante! Muchas gracias @edhans, realmente aprecio el consejo. 👍

Edhans

No debería utilizar Direct Query @gaiusgw. Si sus datos se actualizan a diario, utilice una actualización programada para importar los datos. Puede actualizar los datos en un espacio de trabajo Pro 8 veces al día y en un espacio de trabajo Premium o Premium por usuario 48 veces al día. La consulta directa casi siempre se usa en exceso en el deseo percibido de tener datos actualizados, pero tiene muchos inconvenientes:

  1. La inteligencia de tiempo no funciona
  2. Algunas funciones de DAX no funcionan
  3. Algunas imágenes tienen soporte limitado
  4. La experiencia para el lector de informes suele ser más lenta

Las personas nuevas en Power BI a menudo caen en la trampa de «La consulta directa me proporciona información actualizada» y rápidamente se colocan en un rincón de la funcionalidad. Hice lo mismo cuando empecé. Ahora, rara vez lo uso.

gaiusgw

En respuesta a Edhans

@edhans gracias por la explicación y advertencia. He estado en esto menos de 1 mes y asumí, como dijiste, que directquery era la mejor opción. Estoy usando el escritorio en este momento. ¿Sabe si los datos se actualizan cada vez que se abren? ¿O debes hacer clic en actualizar? No encuentro una configuración para autorefesh al abrir usando el escritorio. Además, ¿sabe si es posible cambiar la fuente para importar o debo comenzar desde cero? Muchas gracias.

Edhans

En respuesta a gaiusgw

Puede convertir de consulta directa a importación. Sin embargo, no puedes ir por el otro lado. En la parte inferior de su informe hay un botón para cambiar. Haga clic en él y se abrirá este cuadro de diálogo que le advierte que esta es una calle de un solo sentido, y luego le permite cambiar a Importar.

2021-03-23_11-46-27.png

El servicio es donde ocurren las actualizaciones programadas. La aplicación de escritorio es solo para desarrollo. Publica en el servicio, luego establece actualizaciones allí en un horario. Ahí es donde haces tu análisis.

gaiusgw

En respuesta a Edhans

Así que lo hice de forma encubierta para importar, pero veo un problema. Algunas de las tablas con las que estoy trabajando tienen más de 1,6 millones de líneas, por lo que actualmente se necesitan unos 15 minutos para actualizar en el escritorio. Estos son 5 años de datos, por lo que puedo esperar que en otros 5 años se tarden 30 minutos en cargar y así sucesivamente. directquery tarda menos de 30 segundos en cargarse. ¿Estoy en una roca y en un lugar difícil aquí? ¿Tarda entre 15 y 30 minutos en cargarse todos los días o usa directquery y no tiene ciertas funciones como LOOKUPVALUE? ¿Hay alguna forma de importar solo nuevas líneas para reducir el tiempo de actualización?

Edhans

En respuesta a gaiusgw

Haría esto usando Actualización incremental – en el servicio. Lo configura en el escritorio, pero cuando lo publica, solo actualizará los datos recientes, lo que sea para usted. Últimos 5 días, 5 semanas, 2 años. Lo que. Se conservan los datos más antiguos.

Pero incluso si no usa la actualización incremental, el servicio se actualiza automáticamente. Entonces dijiste que esto se actualizaba a diario. Así que configure la actualización para que se produzca a las 11 p. M. Cuando vengas a la mañana siguiente, estará actualizado. Incluso puede trabajar en el informe en el servicio. mientras es refrescante. Cuando haya terminado, le mostrará datos más nuevos si actualiza su navegador o cambia sus páginas.

Los 15 minutos para 1,6 millones de líneas parece que también está sucediendo algo más. Puedo usar la base de datos de registro Contoso de más de 12 millones y se tarda menos de 5 minutos en actualizar completamente en mi computadora portátil, por lo que puede ser que su servidor sea parte del problema de velocidad. Puede leer más sobre la actualización incremental aquí.

Aprecio que sea nuevo en Power BI. Es muy poderoso y, en última instancia, será una experiencia gratificante para ti. Pero hoy creo que lo estás viendo como Excel, donde tienes Excel y esos son tus datos. Power BI no es Power BI Desktop. Power BI es la aplicación Power BI Desktop, espacios de trabajo en el servicio, configuración de actualización programada, informes, aplicaciones, uso compartido y más. Cuando se limita solo a la aplicación de escritorio, se encuentra con los obstáculos con los que se está frustrando. Power BI Desktop no está diseñado para ser la herramienta de análisis del usuario final. El servicio es. Pero tienes que entender cómo encajan la mayoría de las piezas. Un lugar para comenzar es aquí. Hay libros sobre Power BI que puede leer. Uno es de Reza Rad llamado From Rookie to Rockstar. Es tan enorme que son 4 libros, pero también gratis. El primer libro tiene mucha información sobre el servicio, habla sobre espacios de trabajo, actualizaciones, etc.

También hay videos y cursos de pago. Te ayudarán a ver más claramente que yo en una publicación de la comunidad cómo encajan todas las piezas.

gaiusgw

En respuesta a Edhans

Realmente aprecio su tiempo y todas las explicaciones detalladas y los recursos que ha compartido. Muchas gracias.

Edhans

En respuesta a gaiusgw

Encantado de ayudar. ¿Puede marcar uno o más de estos como la solución para que este hilo se pueda cerrar?

En un asunto semi-relacionado, tampoco necesitas LOOKUPVALUE aquí. Estás pensando en BUSCARV en Excel. En Power BI, normalmente debería pensar en fusionar. LOOKUPVALUE tiene sus usos, pero es bastante raro, mucho más raro que hacer cualquier tipo de VLOOKUP / XLOOKUP en Excel debido a cómo funciona el modelo de datos y las fusiones.

Vea este archivo. Le muestra cómo fusionar esas dos tablas y traer la columna VERDADERO / FALSO a la primera tabla. En Power BI, presione el botón Transformar en la cinta Inicio para acceder a Power Query y verlo.

gaiusgw

En respuesta a Edhans

¡Impresionante! Muchas gracias @edhans, realmente aprecio el consejo. 👍

gaiusgw

Aquí hay más detalles para aclarar el problema.

Aquí puede ver que mis fuentes son directquery. Entonces no puedo editar a menos que esté usando transform datos.

Capture.JPG

OPENDET es donde necesito agregar la información.

2.JPG

OPENHEAD es de donde necesito sacar la información. Necesito la información en la columna BULK. El enlace común es CONTROL_NO.

3.JPG

Aquí puede ver cuando intento agregar una columna y usar LOOKUPVALUE, no se reconoce.

4.JPG5.JPG

¿Hay alguna manera de extraer la información BULK de OPENHEAD para agregar una columna en OPENDET en la vista de datos de transformación?

Anónimo

Puede crear una columna calculada en la Tabla 1 utilizando la siguiente fórmula DAX:

BULK = LOOKUPVALUE (TABLE2[CONTROL_NOBULK],TABLA 2[ID],TABLA 1[Id])

gaiusgw

En respuesta a Anónimo

Mis tablas no tenían suficiente espacio, pero entiendo lo que quisiste decir. Yo he editado

BULK = LOOKUPVALUE (TABLE2[BULK],TABLA 2[CONTROL_NO],TABLA 1[CONTROL_NO])

Sin embargo, estoy usando consultas directas, no datos importados, por lo que LOOKUPVALUE no funciona y RELATED tampoco. He usado la fórmula anterior en bases de datos importadas y no hay problema. Pero para la consulta directa, necesito una solución para agregar una columna que extraiga el valor de otra consulta directa basada en un campo relacionado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *