Una de las características más eficaces de Power Pivot es la capacidad de crear relaciones entre tablas y, después, usar las tablas relacionadas para buscar o filtrar datos relacionados. Para recuperar valores relacionados de tablas, use el lenguaje de fórmulas proporcionado conPower Pivot, Expresiones de análisis de datos (DAX). DAX usa un modelo relacional y, por lo tanto, puede recuperar fácilmente y con precisión valores relacionados o correspondientes en otra tabla o columna. Si está familiarizado con BUSCARV en Excel, esta funcionalidad en Power Pivot es similar, pero mucho más fácil de implementar.
Puede crear fórmulas que realicen búsquedas como parte de una columna calculada o como parte de una medida para su uso en una tabla dinámica o Gráfico dinámico. Para obtener más información, vea los siguientes temas:
Campos calculados en Power Pivot
Columnas calculadas en Power Pivot
En esta sección se describen las funciones de DAX que se proporcionan para la búsqueda, junto con algunos ejemplos de cómo usar las funciones.
Nota: Según el tipo de operación de búsqueda o fórmula de búsqueda que quiera usar, es posible que primero tenga que crear una relación entre las tablas.
Descripción de las funciones de búsqueda
La capacidad de buscar datos relacionados o de coincidencia de otra tabla es especialmente útil en situaciones en las que la tabla actual solo tiene un identificador de algún tipo, pero los datos que necesita (como el precio del producto, el nombre u otros valores detallados) se almacenan en una tabla relacionada. También es útil cuando hay varias filas en otra tabla relacionadas con la fila actual o el valor actual. Por ejemplo, puede recuperar fácilmente todas las ventas vinculadas a una región, tienda o vendedor en particular.
A diferencia de Excel funciones de búsqueda como BUSCARV, que se basan en matrices, o BUSCAR, que obtiene el primero de varios valores de coincidencia, DAX sigue las relaciones existentes entre tablas unidas por claves para obtener el único valor relacionado que coincida exactamente. DAX también puede recuperar una tabla de registros relacionados con el registro actual.
Nota: Si está familiarizado con las bases de datos relacionales, puede pensar en búsquedas en Power Pivot similar a una instrucción de subselección anidada en Transact-SQL.
Recuperar un único valor relacionado
La función RELATED devuelve un único valor de otra tabla relacionado con el valor actual de la tabla actual. Especifique la columna que contiene los datos que desee y la función sigue las relaciones existentes entre tablas para capturar el valor de la columna especificada en la tabla relacionada. En algunos casos, la función debe seguir una cadena de relaciones para recuperar los datos.
Por ejemplo, supongamos que tiene una lista de los envíos actuales en Excel. Sin embargo, la lista contiene solo un número de id. de empleado, un número de id. de pedido y un número de id. de remitente, lo que hace que el informe sea difícil de leer. Para obtener la información adicional que desee, puede convertir esa lista en una tabla vinculada de Power Pivot y, a continuación, crear relaciones con las tablas Empleado y Revendedor, haciendo coincidir IdDe Empleado con el campo EmployeeKey y ResellerID en el campo ResellerKey.
Para mostrar la información de búsqueda en la tabla vinculada, agregue dos nuevas columnas calculadas, con las siguientes fórmulas:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])
Envíos de hoy antes de la búsqueda
Código de pedido |
Id. de empleado |
ResellerID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Tabla Empleados
Id. de empleado |
Empleado |
Revendedor |
---|---|---|
230 |
Kuppa Vamsi |
Sistemas de ciclo modular |
15 |
Pilar Ackeman |
Sistemas de ciclo modular |
76 |
Kim Ralls |
Bicicletas asociadas |
Envíos actuales con búsquedas
Código de pedido |
Id. de empleado |
ResellerID |
Empleado |
Revendedor |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Sistemas de ciclo modular |
100315 |
15 |
445 |
Pilar Ackeman |
Sistemas de ciclo modular |
100316 |
76 |
108 |
Kim Ralls |
Bicicletas asociadas |
La función usa las relaciones entre la tabla vinculada y la tabla Empleados y revendedores para obtener el nombre correcto para cada fila del informe. También puede usar valores relacionados para los cálculos. Para obtener más información y ejemplos, vea Función RELATED.
Recuperar una lista de valores relacionados
La función RELATEDTABLE sigue una relación existente y devuelve una tabla que contiene todas las filas coincidentes de la tabla especificada. Por ejemplo, supongamos que desea averiguar cuántos pedidos ha realizado cada revendedor este año. Puede crear una nueva columna calculada en la tabla Revendedores que incluya la siguiente fórmula, que busca registros para cada revendedor en la tabla ResellerSales_USD y cuenta el número de pedidos individuales realizados por cada revendedor.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
En esta fórmula, la función RELATEDTABLE obtiene primero el valor de ResellerKey para cada revendedor de la tabla actual. (No es necesario especificar la columna Id. en cualquier lugar de la fórmula, ya que Power Pivot la relación existente entre las tablas). La función RELATEDTABLE obtiene todas las filas de la tabla ResellerSales_USD que están relacionadas con cada revendedor y cuenta las filas. Si no hay ninguna relación (directa o indirecta) entre las dos tablas, recibirá todas las filas de la ResellerSales_USD tabla.
Para los sistemas de ciclo modular de revendedor en nuestra base de datos de ejemplo, hay cuatro pedidos en la tabla de ventas, por lo que la función devuelve 4. Para Bicicletas asociadas, el revendedor no tiene ventas, por lo que la función devuelve un blanco.
Revendedor |
Registros en la tabla de ventas para este revendedor |
|
---|---|---|
Sistemas de ciclo modular |
Id. de revendedor |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
Id. de revendedor |
SalesOrderNumber |
|
Bicicletas asociadas |
Nota: Dado que la función RELATEDTABLE devuelve una tabla, no un solo valor, debe usarse como argumento para una función que realiza operaciones en tablas. Para obtener más información, vea Función RELATEDTABLE.