CALCULATETABLE
Se aplica a:columna CalculadaTabla calculadaMeasurecálculo visual
Evalúa una expresión de tabla en un contexto de filter modificado.
Nota
También hay la función CALCULATE. Realiza exactamente la misma funcionalidad,
Sintaxis
CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])
Parámetros
Término | Definición |
---|---|
expression |
Expresión de tabla que se va a evaluar. |
filter1, filter2,… |
(Opcional) Las expresiones booleanas or expresiones de tabla que definen filters, orfilter funciones modificadores. |
La expresión usada como parámetro first debe ser una tabla de modelo or una función que devuelve una tabla.
Filters puede ser:
- Expresiones de filter booleanas
- Expresiones de filter de tabla
- funciones de modificación de Filter
Cuando hay varios filters, se evalúan mediante el operador lógico AND. Esto significa que las condiciones de all deben TRUE
al mismo time.
Expresiones de filter booleanas
Una expresión booleana filter es una expresión que se evalúa como TRUE
orFALSE
. Hay varias reglas que deben cumplir:
- Solo pueden hacer referencia a una sola columna.
- No pueden hacer referencia a medidas.
- No pueden usar una función CALCULATE anidada.
A partir de la versión de septiembre de 2021 de Power BI Desktop, también se aplica lo siguiente:
- No pueden usar funciones que examinan or devuelven una tabla a menos que se pasen como argumentos a las funciones de agregación.
- pueden contener una función de agregación que devuelve un valueescalar.
Expresión de filter de tabla
Una expresión de tabla filter aplica un objeto table como filter. Podría ser una referencia a una tabla de modelo, pero es más probable que sea una función que devuelva un objeto table. Puede usar la función FILTER para aplicar condiciones de filter complejas, incluidas las que no se pueden definir mediante una expresión de filter booleana.
funciones modificadores de Filter
Filter funciones modificadores permiten hacer más que simplemente agregar filters. Proporcionan control adicional al modificar filter contexto.
Función | Propósito |
---|---|
REMOVEFILTERS | Quite allfilters, orfilters de una or más columnas de una tabla or de all columnas de una sola tabla. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | Quite filters de una or más columnas, or de all columnas de una sola tabla. |
KEEPFILTERS | Agregue filter sin quitar los filters existentes en las mismas columnas. |
USERELATIONSHIP | Interactuar con una relación inactiva entre related columnas, en cuyo caso la relación activa se volverá inactiva automáticamente. |
CROSSFILTER | Modifique filter dirección (de ambos a únicos or de single a ambos) or deshabilite una relación. |
1 La función ALLand sus variantes se comportan como modificadores filterand como funciones que devuelven objetos de tabla. If la función REMOVEFILTERS es compatible con la herramienta, es mejor usarlo para quitar filters.
Devolver value
Tabla de values.
Observaciones
Cuando se proporcionan expresiones filter, la función CALCULATETABLE modifica el contexto de filter para evaluate la expresión. Para cada expresión de filter, hay dos posibles resultados estándar cuando la expresión de filter se not encapsulada en la función KEEPFILTERS:
- If las columnas (tablas deor) no están en el contexto de filter, se agregarán nuevas filters al contexto de filter para evaluate la expresión.
- If las columnas (tablas deor) ya están en el contexto de filter, el nuevo filters sobrescribirá la nueva filtersfilters para evaluate la expresión CALCULATETABLE.
Esta función se not se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas or reglas de seguridad de nivel de fila (RLS).
Ejemplo
En el ejemplo siguiente se usa la función CALCULATETABLE para obtener el sum de ventas por Internet para 2006. Este value se usa más adelante para calculate la proporción de ventas por Internet en comparación con las ventas de all para el year 2006.
La fórmula siguiente:
= SUMX(
CALCULATETABLE(
'InternetSales_USD',
'DateTime'[CalendarYear] = 2006
),
[SalesAmount_USD]
)
Da como resultado la tabla siguiente:
Etiquetas de fila | Internet SalesAmount_USD | CalculateTable 2006 Internet Sales | Internet Sales to 2006 ratio |
---|---|---|---|
2005 | $2,627,031,40 | $5,681,440.58 | 0.46 |
2006 | $5,681,440.58 | $5,681,440.58 | 1.00 |
2007 | $8.705.066.67 | $5,681,440.58 | 1.53 |
2008 | $9.041,288.80 | $5,681,440.58 | 1.59 |
Total general | $26.054.827.45 | $5,681,440.58 | 4.59 |
contenido de Related
- de contexto de
- función CALCULATE (DAX)
- funciones de Filter (DAX)