Compartir a través de


Creación de una tabla calculada

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Una tabla calculada es un objeto calculado que se basa en una expresión o consulta DAX derivada del resto de tablas del mismo modelo (o de una parte).

Un problema habitual de diseño que las tablas calculadas pueden resolver es exponer una dimensión realizadora de roles en un contexto específico para que se pueda exponer como una estructura de consulta en aplicaciones cliente. Es posible que recuerde que una dimensión de rol es simplemente una tabla expuesta en varios contextos: un ejemplo clásico es la tabla Date, que se manifiesta como OrderDate, ShipDate o DueDate, en función de la relación de clave externa. Al crear una tabla calculada para ShipDate explícitamente, se obtiene una tabla independiente disponible para las consultas y plenamente funcional, como cualquier otra tabla. Otro uso incluye la configuración de un conjunto de filas filtrado, un subconjunto o un superconjunto de columnas de otras tablas existentes. ya que permiten mantener intacta la tabla original mientras se crean variaciones de dicha tabla para dar cabida a escenarios concretos.

Para aprovechar al máximo el uso de las tablas calculadas, debe tener conocimientos básicos de DAX. A medida que trabaje con expresiones para la tabla, puede ayudar a saber que una tabla calculada contiene una sola partición con un DAXSource, donde la expresión es una expresión DAX.
Hay un valor CalculatedTableColumn para cada columna que devuelve la expresión, donde SourceColumn es el nombre de la columna devuelta (similar a los objetos DataColumn de las tablas no calculadas).

Debe existir al menos una tabla para poder crear una tabla calculada. Si va a crear una tabla calculada como un objeto de tabla calculada independiente, primero puede crear una tabla importando desde un origen de datos de archivo (csv, xls, xml). El archivo desde el que se importa puede tener una sola columna y un valor único. Después, puede ocultar esa tabla.

Cómo crear una tabla calculada

  1. En primer lugar, compruebe que el modelo tabular tiene un nivel de compatibilidad de 1200 o superior. Puede comprobar la propiedad ivel de compatibilidad del modelo en SSDT.

  2. Cambie a la vista de datos. No se puede crear una tabla calculada en la vista de diagrama.

  3. Seleccione Tabla>Nueva tabla calculada.

  4. Escriba o pegue una expresión DAX (vea a continuación algunas ideas).

  5. Asígnele un nombre a la tabla.

  6. Cree relaciones con otras tablas del modelo. Consulte Crear una relación entre dos tablas si necesita ayuda con este paso.

  7. Haga referencia a la tabla en los cálculos o las expresiones del modelo o use Analizar en Excel para realizar una exploración de datos ad hoc.

Replicar una dimensión realizadora de roles

En la barra de fórmulas, escriba una fórmula DAX que obtenga una copia de otra tabla. Una vez que se rellene la tabla calculada, asígnele un nombre descriptivo y configure una relación que use la clave externa específica del rol. Por ejemplo, en la base de datos de Adventure Works, puede crear una tabla calculada para la fecha de vencimiento y usar DueDateKey como base de una relación con la tabla de hechos.

=DimDate  

Resumido o filtrado

En la barra Fórmula, escriba una expresión DAX que filtre, resuma o manipule un modelo para que contenga las filas que desee. En este ejemplo se realiza una agrupación por ventas, color y divisa.

=SUMMARIZECOLUMNS(DimProduct[Color]  
, DimCurrency[CurrencyName]   
, "Sales" , SUM(FactInternetSales[SalesAmount])  
)  

Superconjunto con columnas de varias tablas

En la barra de fórmulas, escriba una expresión DAX que combine columnas de varias tablas. En este caso, la salida de consulta muestra la categoría de producto para cada moneda.

=CROSSJOIN(DimProductCategory, DimCurrency)  

Consulte también

Nivel de compatibilidad
Expresiones de análisis de datos (DAX) en Analysis Services
Descripción de DAX en modelos tabulares