ALLNOBLANKROW
Se aplica a:columna Calculadatabla calculadaMedidacálculo visual
En la tabla primaria de una relación, devuelve todas las filas, pero la fila en blanco, o todos los valores distintos de una columna, pero la fila en blanco, e ignora los filtros de contexto que puedan existir.
Sintaxis
ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )
Parámetros
Término | Definición |
---|---|
table |
Tabla sobre la que se quitan todos los filtros de contexto. |
column |
Columna sobre la que se quitan todos los filtros de contexto. |
Solo se debe pasar un parámetro; el parámetro es una tabla o una columna.
Valor devuelto
Una tabla, cuando el parámetro pasado era una tabla o una columna de valores, cuando el parámetro pasado era una columna.
Observaciones
La función ALLNOBLANKROW solo filtra la fila en blanco que una tabla primaria, en una relación, mostrará cuando haya una o varias filas en la tabla secundaria que tengan valores no coincidentes con la columna primaria. Consulte el ejemplo siguiente para obtener una explicación exhaustiva.
En la tabla siguiente se resumen las variaciones de
ALL
que se proporcionan en DAXy sus diferencias:Función y uso Descripción ALL(Column)
Quita todos los filtros de la columna especificada de la tabla; todos los demás filtros de la tabla, sobre otras columnas, siguen aplicándolos. ALL(Table)
Quita todos los filtros de la tabla especificada. ALLEXCEPT(Table,Col1,Col2...)
Invalida todos los filtros de contexto de la tabla excepto en las columnas especificadas. ALLNOBLANK(table|column)
En la tabla primaria de una relación, devuelve todas las filas, pero la fila en blanco, o todos los valores distintos de una columna, pero la fila en blanco, y ignora los filtros de contexto que puedan existir. Para obtener una descripción general de cómo funciona la función ALL, junto con ejemplos paso a paso que usan ALL(Tabla) y ALL(Columna), consulte ALL función.
Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).
Ejemplo
En los datos de ejemplo, la tabla ResellerSales_USD contiene una fila que no tiene valores y, por tanto, no puede estar relacionada con ninguna de las tablas primarias de las relaciones del libro. Usará esta tabla en una tabla dinámica para que pueda ver el comportamiento de fila en blanco y cómo controlar los recuentos de datos no relacionados.
Paso 1: Comprobar los datos no relacionados
Abra la ventana Power Pivoty seleccione la tabla ResellerSales_USD. En la columna ProductKey, filtre por los valores en blanco. Una fila permanecerá. En esa fila, todos los valores de columna deben estar en blanco, excepto SalesOrderLineNumber.
Paso 2: Crear una tabla dinámica
Cree una tabla dinámica y arrastre la columna datetime. [Año calendario], en el panel Etiquetas de fila. En la tabla siguiente se muestran los resultados esperados:
Etiquetas de fila |
---|
2005 |
2006 |
2007 |
2008 |
Total general |
Anote la etiqueta en blanco entre 2008 y Grand Total. Esta etiqueta en blanco representa el miembro Desconocido, que es un grupo especial que se crea para tener en cuenta los valores de la tabla secundaria que no tienen ningún valor coincidente en la tabla primaria, en este ejemplo la fecha y hora. Columna [Año del calendario] .
Cuando vea esta etiqueta en blanco en la tabla dinámica, sabe que en algunas de las tablas relacionadas con la columna, datetime. [Año natural], hay valores en blanco o valores que no coinciden. La tabla primaria es la que muestra la etiqueta en blanco, pero las filas que no coinciden están en una o varias de las tablas secundarias.
Las filas que se agregan a este grupo de etiquetas en blanco son valores que no coinciden con ningún valor de la tabla primaria, por ejemplo, una fecha que no existe en los valores datetime table-- o NULL, lo que significa que no hay ningún valor para date en absoluto. En este ejemplo hemos colocado un valor en blanco en todas las columnas de la tabla de ventas secundaria. Tener más valores en la tabla primaria que en las tablas secundarias no provoca un problema.
Paso 3: Recuento de filas con ALL y ALLNOBLANK
Agregue las dos medidas siguientes a la tabla datetime para contar las filas de la tabla: Countrows ALLNOBLANK de datetime, Countrows ALL de datetime. Las fórmulas que puede usar para definir estas medidas son:
// Countrows ALLNOBLANK of datetime
= COUNTROWS(ALLNOBLANKROW('DateTime'))
// Countrows ALL of datetime
= COUNTROWS(ALL('DateTime'))
// Countrows ALLNOBLANKROW of ResellerSales_USD
= COUNTROWS(ALLNOBLANKROW('ResellerSales_USD'))
// Countrows ALL of ResellerSales_USD
= COUNTROWS(ALL('ResellerSales_USD'))
En una tabla dinámica en blanco, agregue datetime. [Año calendario] columna a las etiquetas de fila y, a continuación, agregue las medidas recién creadas. Los resultados deben tener un aspecto similar al de la tabla siguiente:
Etiquetas de fila | Countrows ALLNOBLANK de datetime | Countrows ALL de datetime |
---|---|---|
2005 | 1280 | 1281 |
2006 | 1280 | 1281 |
2007 | 1280 | 1281 |
2008 | 1280 | 1281 |
1280 | 1281 | |
Total general | 1280 | 1281 |
Los resultados muestran una diferencia de 1 fila en el recuento de filas de la tabla. Sin embargo, si abre la ventana Power Pivot y selecciona la tabla datetime, no puede encontrar ninguna fila en blanco en la tabla porque la fila en blanco especial mencionada aquí es el miembro Desconocido.
Paso 4: Comprobar que el recuento es preciso
Para demostrar que el ALLNOBLANKROW no cuenta filas verdaderamente en blanco y solo controla la fila en blanco especial de la tabla primaria, agregue las dos medidas siguientes a la tabla ResellerSales_USD: Countrows ALLNOBLANKROW de ResellerSales_USD, Countrows ALL de ResellerSales_USD.
Cree una tabla dinámica y arrastre la columna datetime. [Año calendario], en el panel Etiquetas de fila. Ahora agregue las medidas que acaba de crear. Los resultados deben tener un aspecto similar al siguiente:
Etiquetas de fila | ALLNOBLANKROW de recuentos de ResellerSales_USD | ALL de recuentos de ResellerSales_USD |
---|---|---|
2005 | 60856 | 60856 |
2006 | 60856 | 60856 |
2007 | 60856 | 60856 |
2008 | 60856 | 60856 |
60856 | 60856 | |
Total general | 60856 | 60856 |
Ahora las dos medidas tienen los mismos resultados. Esto se debe a que la función ALLNOBLANKROW no cuenta filas verdaderamente en blanco en una tabla, sino que solo controla la fila en blanco que es un caso especial generado en una tabla primaria, cuando una o varias de las tablas secundarias de la relación contienen valores no coincidentes o valores en blanco.