Anda di halaman 1dari 2

16/05/13

Filtrar datos en las frmulas - Excel - Office.com

Filtrar datos en las frmulas


Puede crear filtros en las frmulas para restringir los valores de los datos de origen que se usan en los
clculos. Para ello, se especifica una tabla como una entrada de la frmula y se define una expresin de
filtro. La expresin de filtro que proporcione se usa para consultar los datos y devuelve solo un
subconjunto de los datos de origen. El filtro se aplica dinmicamente cada vez que actualiza los
resultados de la frmula, en funcin del contexto actual de sus datos. En esta seccin se describe cmo
crear filtros en las frmulas DAX (Expresiones de anlisis de datos).

En este artculo
Crear un filtro en una tabla usada en una frmula
Filtros que quitan duplicados
Cmo afecta el contexto a los filtros
Quitar filtros

Crear un filtro en una tabla usada en una frmula


Puede aplicar filtros en frmulas que usan una tabla como entrada. En lugar de escribir un nombre de
tabla, use la funcin FILTER para definir un subconjunto de filas de la tabla especificada. Esa subconjunto
se pasa a otra funcin para efectuar operaciones como, por ejemplo, agregaciones personalizadas.
Por ejemplo, suponga que tiene una tabla de datos que contiene informacin de pedidos de los
distribuidores y desea calcular cunto vendi cada uno. Sin embargo, desea mostrar la cantidad de
ventas solo para los distribuidores que vendieron varias unidades de sus productos mayor valor. La
frmula siguiente, basada en un libro de ejemplo de DAX, muestra un ejemplo de cmo puede crear este
clculo con un filtro:

=SUMX(
FILTER ('ResellerSales_USD', 'ResellerSales_USD'[Quantity] > 5 &&
'ResellerSales_USD'[ProductStandardCost_USD] > 100),
'ResellerSales_USD'[SalesAmt]
)
La primera parte de la frmula especifica unas de las funciones de agregacin de PowerPivot, que tiene
una tabla como argumento. SUMX calcula una suma de una tabla.
La segunda parte de la frmula, FILTER(table, expression),le indica a SUMXlos datos que
debe usar. SUMX requiere una tabla o una expresin que d una tabla como resultado. Aqu, en lugar
de utilizar todos los datos de una tabla, se usa la funcin FILTERpara especificar las filas de la tabla
que se usan.
La expresin de filtro tiene dos partes: la primera indica el nombre de la tabla a la que se aplicar el
filtro. La segunda parte define una expresin que se usar como condicin de filtro. En este caso, va a
filtrar los distribuidores que vendieron ms de cinco unidades y los productos que costaron ms de 100 $.
El operador, &&, es un operador lgico AND, que indica que ambas partes de la condicin deben
cumplirse para que la fila pertenezca al subconjunto filtrado.
La tercera parte de la frmula indica a la funcin SUMX que se deben sumar los valores. En este caso
solo va a usar la cantidad de ventas.
Tenga en cuenta que funciones como FILTER, que devuelven una tabla, nunca devuelve directamente la
tabla o filas al libro de PowerPivot, pero estn siempre incrustadas en otra funcin. Para obtener ms
informacin sobre FILTER y otras funciones usadas para filtrar, incluidos ms ejemplos, vea Funciones de
filtro (DAX).

Filtros que quitan duplicados


Adems de filtrar por valores especficos, puede devolver un conjunto nico de valores de otra tabla o
columna. Esto puede resultar til si desea contar el nmero de valores nicos de una columna o usar una
lista de valores nico para otras operaciones. DAX proporciona dos funciones para devolver valores
distintivos: Funcin DISTINCT y Funcin VALUES.
La funcin DISTINCT examina una nica columna que especifique como argumento para la funcin y
devuelve una nueva columna que solo contiene los valores distintivos.
La funcin VALUES tambin devuelve una lista de valores nicos, as como el miembro Unknown. Esto
resulta til cuando se usan valores de dos tablas que estn unidas por una relacin y falta un valor en
una tabla que se encuentra en la otra. Para obtener ms informacin sobre el miembro desconocido,
vea Contexto en frmulas DAX.
Ambas funciones devuelven una columna completa de valores; por consiguiente, las funciones se usan
para obtener una lista de valores que se pasa a continuacin a otra funcin. Por ejemplo, podra utilizar la
siguiente frmula para obtener una lista de los distintos productos que ha vendido un distribuidor
determinado, utilizando la clave del producto nica y, a continuacin, contabilizar los productos de esa
lista utilizando la funcin COUNTROWS:
=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Cmo afecta el contexto a los filtros


Al agregar una frmula DAX a una tabla dinmica o grfico dinmico, el contexto puede afectar a los
resultados de la frmula. Si est trabajando en una tabla de PowerPivot, el contexto es la fila actual y sus

office.microsoft.com/es-hn/excel-help/filtrar-datos-en-las-formulas-HA102837258.aspx?CTT=5&origin=HA102916957

1/2

16/05/13

Filtrar datos en las frmulas - Excel - Office.com

valores. Si est trabajando en una tabla dinmica o un grfico dinmico, el contexto es el conjunto o
subconjunto de datos que se definen mediante operaciones como segmentacin o filtrado. El diseo de
la tabla dinmica o del grfico dinmico tambin impone su propio contexto. Por ejemplo, si crea una
tabla dinmica que agrupe ventas por regin y ao, en la tabla dinmica solo aparecen los datos que se
aplican a esas regiones y aos. Por consiguiente, cualquier medida que agregue a la tabla dinmica se
calcula en el contexto de los encabezados de fila y columna adems de los filtros en la frmula de la
medida.
Para obtener ms informacin, vea Contexto en frmulas DAX..

Quitar filtros
Al trabajar con frmulas complejas, es recomendable saber exactamente cules son los filtros actuales o
modificar el filtro que forma parte de la frmula. DAX proporciona varias funciones que permiten quitar
filtros y controlar las columnas que se conservan como parte del contexto de filtros actual. En esta
seccin se proporciona informacin general del modo en que estas funciones afectan a los resultados de
una frmula.

Invalidar todos los filtros con la funcin ALL


Puede usar la funcin ALL para invalidar los filtros aplicados anteriormente y devolver todas las filas de
la tabla a la funcin que realiza la agregacin u otra operacin. Si utiliza una o ms columnas, en lugar
de una tabla, como argumentos a ALL,la funcin ALLdevuelve a todas las filas y omite cualquier filtro
de contexto.
Por ejemplo, suponga que tiene las tablas Sales y Products, y desea crear una frmula que calcule la suma
de ventas del producto actual dividida entre las ventas de todos los productos. Debe tener en cuenta el
hecho de que, si la frmula se usa en una medida, el usuario de la tabla dinmica puede estar usando una
segmentacin para filtrar un determinado producto, con el nombre de producto de las filas. Por lo tanto,
para obtener el verdadero valor del denominador independientemente de filtros o segmentaciones, debe
agregar la funcin ALL para invalidar los filtros. La frmula siguiente es un ejemplo de cmo usar ALL
para invalidar los efectos de filtros anteriores:

=SUM (Sales[Amount])/SUMX(Sales[Amount], FILTER(Sales, ALL(Products)))


La primera parte de la frmula, SUM (Sales[Amount]), calcula el numerador.
La suma tiene en cuenta el contexto actual, lo que significa que si agrega la frmula a una columna
calculada, se aplica el contexto de la fila, pero si agrega la frmula a una tabla dinmica como una
medida, se aplican los filtros que estn aplicados en la tabla dinmica (el contexto de filtros).
La segunda parte de la frmula calcula el denominador. La funcin ALL invalida cualquier filtro que la
tabla Products pueda tener aplicado.
Para obtener ms informacin, incluidos ejemplos detallados, vea Funcin ALL.

Invalidar filtros especficos con la funcin ALLEXCEPT


La funcin ALLEXCEPT tambin invalida los filtros existentes, pero puede especificar que se conserven
algunos de los filtros existentes. Las columnas que seale como argumentos para la funcin ALLEXCEPT
especifican las columnas que continuarn filtradas. Si desea invalidar los filtros en la mayora de las
columnas pero no todos, ALLEXCEPT es ms conveniente que ALL. La funcin ALLEXCEPT resulta muy til
cuando se crean tablas dinmicas que pueden estar filtradas por muchas columnas diferentes y desea
controlar los valores que se usan en la frmula. Para obtener ms informacin, con un ejemplo detallado
sobre cmo utilizar ALLEXCEPT en una tabla dinmica, vea Funcin ALLEXCEPT.
Directorio de sitios

Pngase en contacto con nosotros

Enviar comentarios

Legal

Marcas comerciales

Privacidad y cookies

office.microsoft.com/es-hn/excel-help/filtrar-datos-en-las-formulas-HA102837258.aspx?CTT=5&origin=HA102916957

Accesibilidad

2/2

Anda mungkin juga menyukai