Necesito unir dos conjuntos de datos en función de que un valor en un conjunto de datos se encuentre entre valores en otro conjunto de datos.
Conjunto de datos 1 (foo):
identificación | vale |
|---|---|
a | 3 |
b | 7 |
C | 13 |
Conjunto de datos 2 (barra):
descripción | comienzo | endval |
|---|---|---|
X | 2 | 5 |
y | 8 | 14 |
z | 17 | 20 |
En SQL, escribiría:
select bar.descr
, bar.beginval
, bar.endval
, foo.id
from bar
left outer join foo on foo.val between bar.beginval and bar.endval
Eso produciría:
descripción | comienzo | endval | identificación |
|---|---|---|---|
X | 2 | 5 | a |
y | 8 | 14 | C |
z | 17 | 20 | (nulo) |
Pero como los conjuntos de datos no provienen del mismo origen y los orígenes no son necesariamente bases de datos SQL, no puedo escribir SQL para hacer esto en Power BI.
En Power BI, veo que puedo unir una columna = una columna. No veo la posibilidad de unirme a un rango. ¿Es esto posible con DAX o con algún tipo de manipulación en Query Editor?
Actualizar
En mi caso específico, el conjunto de datos 2 es una hoja de cálculo y el conjunto de datos 1 proviene de un centro de datos. Si uno los conjuntos de datos usando M en Power Query Editor, como recomienda Davide Bacci, fuerza el resultado al modo Importar. Power BI dejó de responder y terminé teniendo que usar el Administrador de tareas para cerrar Power BI cuando noté que había 20 millones de filas en una descarga que probablemente tuviera varios cientos de millones de filas.
¿Hay alguna manera de hacer esto en DAX para poder dejar la parte del centro de datos en modo de consulta directa? ¿O eso aún resultaría en una unión lenta y que consumiría recursos en alguna parte? (Tenga en cuenta que "lento" es relativo y el principal problema es la cantidad de recursos informáticos necesarios. Actualmente estoy haciendo esto en IBM Cognos Analytics y el único problema es que el informe puede tardar hasta unos 18 minutos en ejecutarse. Pero al menos no necesito cargar un conjunto de datos de 400 GB desde mi computadora portátil al servidor de informes).
¿Puedo haber hecho una pequeña pregunta AB? Me encantaría saber que existen otras herramientas en el ecosistema que pueden ayudar con esto. Siempre y cuando no sea Power Automate. Eso está prohibido aquí.