Você está na página 1de 3

16/05/13 Contexto de las frmulas DAX - Excel - Office.

com
office.microsoft.com/es-hn/excel-help/contexto-de-las-formulas-dax-HA102836880.aspx?CTT=5&origin=HA102916957 1/3
El contexto le permite realizar anlisis dinmicos, en los que los resultados de una frmula pueden
cambiar para reflejar la seleccin de fila o celda actual, y tambin los datos relacionados. Entender lo
que es el contexto y usarlo eficazmente es muy importante para generar frmulas muy eficaces, y para
solucionar los posibles problemas de las frmulas.
En esta seccin se definen los diferentes tipos de contexto: contexto de la fila, contexto de la consulta y
contexto del filtro. Explica cmo se evala el contexto para las frmulas en las columnas calculadas y en
las tablas dinmicas.
La ltima parte de este artculo proporciona vnculos a ejemplos detallados que ilustran cmo cambian
los resultados de las frmulas segn el contexto.
Descripcin de contexto
Las frmulas de PowerPivot pueden verse afectadas por los filtros aplicados en una tabla dinmica, por
relaciones entre las tablas y por filtros utilizados en frmulas. El contexto es aquello que permite llevar a
cabo anlisis dinmicos. Entender el contexto es importante para generar frmulas y solucionar
problemas.
Hay diferentes tipos de contexto: contexto de fila, contexto de consulta y contexto de filtro.
El contexto de fila se puede entender como "la fila actual". Si ha creado una columna calculada, el
contexto de la fila est formado por los valores de cada fila individual y los valores de las columnas que
estn relacionadas con la fila actual. Tambin hay algunas funciones (Funcin EARLIER Function y Funcin
EARLIEST) que obtienen un valor de la fila actual y despus lo usan al realizar una operacin con una
tabla completa.
El contexto de consulta hace referencia al subconjunto de datos que se crea implcitamente para cada
celda en una tabla dinmica, dependiendo de los encabezados de columna y fila.
El contexto de filtro es el conjunto de valores permitido en cada columna, basado en las restricciones de
filtro que se aplicaron a la fila o que se han definido por expresiones de filtro dentro de la frmula.
Contexto de fila
Si crea una frmula en una columna calculada, el contexto de fila para esa frmula incluye los valores de
todas las columnas en la fila actual. Si la tabla se relaciona con otra tabla, el contenido tambin incluye
todos los valores de esa otra tabla que estn relacionados con la fila actual.
Por ejemplo, suponga que crea una columna calculada,
=[Freight] + [Tax],
, que agrega y dos columnas de la misma tabla. Esta frmula se comporta como las frmulas de una
tabla de Excel, que automticamente hacen referencia a los valores de la misma fila. Observe que las
tablas son diferentes de los intervalos: no puede hacer referencia a un valor de la fila antes de la fila
actual mediante la notacin del intervalo y no puede hacer referencia a cualquier valor nico arbitrario en
una tabla o celda. Siempre debe trabajar con tablas y columnas.
El contexto de la fila sigue automticamente las relaciones entre las tablas para determinar qu filas de
las tablas relacionadas estn asociadas a la fila actual.
Por ejemplo, la frmula siguiente utiliza la funcin RELATED para capturar un valor de impuesto de una
tabla relacionada, en funcin de la regin a la que se envi el pedido. El valor del impuesto se determina
utilizando el valor para la regin en la tabla actual, para ello, se busca la regin en la tabla relacionada y,
posteriormente, se obtiene la tasa impositiva para esa regin de la tabla relacionada.
= [Freight] + RELATED('Region'[TaxRate])
Esta frmula obtiene simplemente la tasa impositiva para la regin actual, en la tabla Region. No
necesita conocer o especificar la clave que conecta las tablas.
Contexto de varias filas
Adems, DAX incluye funciones que iteran los clculos sobre una tabla. Estas funciones pueden tener
varias filas actuales y contextos de filas actuales. En trminos de programacin, puede crear frmulas que
repitan un bucle interno y externo.
Por ejemplo, suponga que un libro contiene una tabla Products y una tabla Sales. Es posible que desee
pasar por la tabla de ventas completa, la cual est llena de transacciones que implican a varios
productos, y encontrar la cantidad ms grande que se haya pedido para cada producto en cualquiera de
las transacciones.
En Excel, este clculo requiere una serie de resmenes intermedios, que tendran que recompilarse si los
datos cambiaran. Si es un usuario avanzado de Excel, podra compilar frmulas de matriz que realizaran
el trabajo. De forma alternativa, en una base de datos relacional podra escribir subselecciones anidadas.
Sin embargo, con DAX puede compilar una frmula nica que devuelve el valor correcto y los resultados
se actualizan automticamente cada vez que agregue datos a las tablas.
=MAXX(FILTER(Sales,[ProdKey]=EARLIER([ProdKey])),Sales[OrderQty])
Para obtener un tutorial detallado de esta frmula, vea la Funcin EARLIER.
Para abreviar, la funcin EARLIER almacena el contexto de fila de la operacin anterior a la operacin
actual. En todo momento, la funcin almacena en memoria dos conjuntos de contexto: un conjunto de
contexto representa la fila actual para el bucle interno de la frmula y el otro conjunto de contexto
Contexto de las frmulas DAX
16/05/13 Contexto de las frmulas DAX - Excel - Office.com
office.microsoft.com/es-hn/excel-help/contexto-de-las-formulas-dax-HA102836880.aspx?CTT=5&origin=HA102916957 2/3
representa la fila actual para el bucle externo de la frmula. DAX alimenta automticamente los valores
entre los dos bucles de forma que puede crear agregados complejos.
Contexto de la consulta
Contexto de la consulta hace referencia al subconjunto de datos que se recuperan implcitamente para
una frmula. Al colocar un campo calculado u otro campo de valor en una celda en una tabla dinmica,
el motor de PowerPivot examina los encabezados de columna y fila, segmentos de datos y los filtros de
informe para determinar el contexto. A continuacin, PowerPivot realiza los clculos necesarios para
rellenar cada celda en la tabla dinmica. El conjunto de datos que se recupera es el contexto de la
consulta para cada celda.
Dado que el contexto puede cambiar segn dnde se coloque la frmula, los resultados de esta tambin
cambian segn si se utiliza en una tabla dinmica con muchas agrupaciones y filtros, o en una columna
calculada sin filtros y un contexto mnimo.
Por ejemplo, suponga que crea esta frmula sencilla que suma los valores de la columna Profit de la
tabla Sales:
=SUM('Sales'[Profit])
.
Si utiliza esta frmula en una columna calculada dentro de la tabla Sales, los resultados para la frmula
sern los mismos que para la tabla completa, porque el contexto de la consulta para la frmula siempre
es el conjunto de datos completo de la tabla Sales. Los resultados reflejarn beneficios en todas las
regiones, todos los productos, todos los aos, etc.
Sin embargo, normalmente no desea ver los mismos resultados cientos de veces, sino que desea obtener
la ganancia correspondiente a un determinado ao, pas o regin, o producto o alguna combinacin de
estos y, posteriormente, obtener un total general.
En una tabla dinmica, es fcil cambiar el contexto agregando o quitando los encabezados de columna y
fila, y agregando o quitando las segmentaciones de datos. Puede crear una frmula como la anterior, en
un campo calculado y, a continuacin, colocarla en una tabla dinmica. Cada vez que agregue
encabezados de columna o fila a la tabla dinmica, cambie el contexto de consulta en el que se evale el
campo calculado. Las operaciones de segmentacin de datos y filtrado tambin afectan al contexto. Por
consiguiente, la misma frmula, que se utiliza en una tabla dinmica, se evala en un contexto de
consulta diferente para cada celda.
Contexto de filtro
El contexto de filtro se agrega al especificar restricciones de filtro en el conjunto de valores permitido en
una columna o tabla, utilizando argumentos para una frmula. El contexto del filtro se aplica sobre otros
contextos, como el contexto de la fila o el de la consulta.
Por ejemplo, una tabla dinmica calcula sus valores para cada celda segn los encabezados de columna y
fila, tal como se describe en la seccin anterior en el contexto de la consulta. Sin embargo, dentro de los
campos calculados o las columnas calculadas que agrega a la tabla dinmica, puede especificar las
expresiones de filtro para controlar los valores que utiliza la frmula. Tambin puede borrar de forma
selectiva los filtros en columnas especficas.
Para obtener ms informacin acerca de cmo crear filtros dentro de frmulas, vea Funciones de filtro
(DAX).
Para obtener un ejemplo de cmo se pueden borrar los filtros para crear totales globales, vea Funcin
ALL.
Para obtener ejemplos de cmo borrar selectivamente y aplicar filtros dentro de frmulas, vea Funcin
ALLEXCEPT.
Por consiguiente, debe consultar la definicin de los campos calculados o las frmulas que se usan en
una tabla dinmica para conocer el contexto del filtro al interpretar los resultados de las frmulas.
Determinar el contexto de las frmulas
Al crear una frmula, PowerPivot para Excel comprueba primero la sintaxis general y, a continuacin,
comprueba los nombres de las columnas y las tablas que proporciona con las posibles columnas y las
tablas del contexto actual. Si PowerPivot no puede encontrar las columnas y tablas que especifica la
frmula, obtendr un error.
El contexto se determina, segn se describe en las secciones anteriores, utilizando las tablas disponibles
en el libro, cualquier relacin entre las tablas y los filtros que se hayan aplicado.
Por ejemplo, si ha importado recientemente algunos datos en una tabla nueva y no ha aplicado ningn
filtro, todo el conjunto de columnas de la tabla forma parte del contexto actual. Si tiene varias tablas que
se vinculan mediante relaciones y est trabajando en una tabla dinmica filtrada agregando los
encabezados de columna y utilizando segmentaciones de datos, el contexto incluye las tablas
relacionadas y cualquier filtro en los datos.
El contexto es un concepto eficaz que tambin puede dificultar la solucin de los problemas con las
frmulas. Recomendamos comenzar con frmulas y relaciones simples para ver cmo funciona el
contexto y, posteriormente, empezar a experimentar con frmulas simples en tablas dinmicas. La
siguiente seccin tambin proporciona algunos ejemplos de cmo las frmulas utilizan tipos diferentes
de contexto para devolver resultados de forma dinmica.
Ejemplos de contexto en frmulas
La funcin RELATED expande el contexto de la fila actual para incluir los valores en una columna
relacionada. Esto le permite realizar bsquedas. El ejemplo de este tema muestra la interaccin del
filtrado con el contexto de la fila.
16/05/13 Contexto de las frmulas DAX - Excel - Office.com
office.microsoft.com/es-hn/excel-help/contexto-de-las-formulas-dax-HA102836880.aspx?CTT=5&origin=HA102916957 3/3
La funcin FILTER le permite especificar las filas a incluir en el contexto actual. Los ejemplos de este
tema tambin muestran cmo incrustar los filtros dentro de otras funciones que realizan los agregados.
La funcin ALL establece el contexto dentro de una frmula. Puede utilizarlo para invalidar los filtros
que se aplican como resultado del contexto de la consulta.
La funcin ALLEXCEPT le permite quitar todos los filtros excepto uno que especifique. Ambos temas
incluyen ejemplos que le guan en el proceso de generacin de frmulas y le ayudan a entender los
contextos complejos.
Las funciones EARLIER y EARLIEST le permiten recorrer las tablas y realizar clculos, haciendo referencia
a un valor de un bucle interno. Si conoce el concepto de recursividad y los bucles internos y externos,
apreciar la eficacia que proporcionan las funciones EARLIER y EARLIEST. Si estos conceptos son
nuevos para usted, debera seguir los pasos del ejemplo con atencin para ver cmo se utilizan los
contextos internos y externos en los clculos.
Integridad referencial
En esta seccin se discuten algunos conceptos avanzados relacionados con los valores perdidos en tablas
PowerPivot que estn conectadas por relaciones. Esta seccin podra serle de utilidad si tiene libros con
varias tablas y frmulas complejas, y desea obtener ayuda para comprender los resultados.
Si no conoce los conceptos de datos relacionales, se recomienda que lea primero el tema de
introduccin, Informacin general de las relaciones.
Integridad referencial y relaciones de PowerPivot
PowerPivot no requiere que se aplique integridad referencial entre dos tablas para definir una relacin
vlida. En su lugar, se crea una fila en blanco en el extremo "uno" de cada relacin de uno a varios y se
utiliza para administrar todas las filas que no tienen correspondencia en la tabla relacionada. De hecho se
comporta como una combinacin externa de SQL.
En las tablas dinmicas, si se agrupan los datos en un extremo de la relacin, todos los datos no
coincidentes de la relacin se agrupan y se incluyen como totales en una fila con un encabezado en
blanco. El encabezado en blanco es aproximadamente el equivalente al "miembro desconocido."
Descripcin del miembro desconocido
El concepto del miembro desconocido le resultar probablemente familiar si ha trabajado con sistemas
de base de datos multidimensionales, como SQL Server Analysis Services. Si el trmino es nuevo para
usted, el siguiente ejemplo explica lo que es el miembro desconocido y cmo afecta a los clculos.
Supongamos que est creando un clculo que suma las ventas mensuales de cada almacn, pero en una
columna de la tabla Sales falta un valor para el nombre del almacn. Dado que las tablas Store y Sales
estn conectadas por el nombre de almacn, qu espera que ocurra en la frmula? Cmo debera la
tabla dinmica agrupar o mostrar las cifras de ventas que no estn relacionadas con un almacn
existente?
Este problema es comn en almacenamiento de datos, donde las tablas de datos grandes se deben
relacionar lgicamente con tablas de dimensiones que contienen informacin sobre los almacenes,
regiones y otros atributos que se utilizan para categorizar y calcular hechos. Para resolver el problema,
cualquier nuevo hecho que no est relacionado con una entidad existente se asignar temporalmente al
miembro desconocido. Por eso los hechos no relacionados aparecern agrupados en una Tabla dinmica
bajo un encabezado en blanco.
Tratamiento de valores en blanco frente a la fila en blanco
Los valores en blanco son diferentes de las filas en blanco que se agregan para alojar el miembro
desconocido. El valor en blanco es un valor especial que se utiliza para representar valores NULL, cadenas
vacas y otros valores perdidos. Para obtener ms informacin acerca del valor en blanco as como de
otros tipos de datos DAX, vea Tipos de datos en modelos de datos.
Directorio de sitios Pngase en contacto con nosotros Enviar comentarios Legal Marcas comerciales Privacidad y cookies Accesibilidad

Você também pode gostar