Compartilhar via


Usando propriedades de campo estendidas para um conjunto de dados do Analysis Services

A extensão de processamento de dados do SQL ServerAnalysis Services oferece suporte às propriedades de campo estendidas. As propriedades de campo estendidas são propriedades adicionais às propriedades de campo Value e IsMissing que estão disponíveis na fonte de dados e são suportadas pela extensão de processamento de dados. As propriedades estendidas não são exibidas no painel Dados do Relatório como parte da coleção de campos para um conjunto de dados do relatório. Você pode inclui os valores de propriedade do campo estendido em seu relatório escrevendo expressões que os especifique por nome usando a coleção incorporada de Fields.

As propriedades estendidas incluem propriedades predefinidas e propriedades personalizadas. As propriedades predefinidas são propriedades comuns para várias fontes de dados mapeadas para nomes de propriedade de campo específico e podem ser acessadas por nome através da coleção incorporada de Fields. As propriedades personalizadas são definidas para cada provedor de dados e pode ser acessada através da coleção incorporada de Fields apenas pela sintaxe usando o nome da propriedade estendida como uma cadeia de caracteres.

Ao usar o designer de consulta MDX do Analysis Services em modo gráfico para definir sua consulta, um conjunto predefinido de propriedades de células e propriedades de dimensão é adicionado automaticamente à consulta MDX. Apenas as propriedades estendidas que estiverem especificamente listadas na consulta MDX em seu relatório poderão ser usadas. Dependendo do relatório, é possível modificar o texto do comando MDX padrão para incluir outra dimensão ou propriedades personalizadas definidas no cubo. Para obter mais informações sobre os campos estendidos disponíveis nas fontes de dados do Analysis Services, consulte Criando e usando valores de propriedade (MDX).

Trabalhando com as propriedades de campo em um relatório

As propriedades de campo estendidas incluem as propriedades predefinidas e as propriedades específicas para um provedor de dados. As propriedades de campo não são exibidas com a lista de campos no painel Dados do Relatório, embora elas estejam na consulta incorporada de um conjunto de dados; portanto, não é possível arrastar as propriedades de campo para a superfície de design de relatórios. Em vez disso, você deverá arrastar o campo para o relatório e alterar a propriedade Value do campo para a propriedade que você deseja usar. Por exemplo, se os dados da célula de um cubo já tiverem sido formatados, você poderá usar a propriedade de campo FormattedValue usando a seguinte expressão: =Fields!FieldName.FormattedValue. =Fields!FieldName.FormattedValue.

Para consultar uma propriedade estendida que não seja predefinida, use a seguinte sintaxe em uma expressão:

  • Fields!FieldName("PropertyName")

Propriedades de campo predefinidas

Na maioria dos casos, as propriedades de campo predefinidas são aplicadas a medidas, níveis ou dimensões. Uma propriedade de campo predefinida deve ter um valor correspondente armazenado na fonte de dados do Analysis Services. Se não existir um valor ou se você especificar uma propriedade de campo em um nível apenas para medida (por exemplo), a propriedade retornará um valor nulo.

Para consultar uma propriedade predefinida a partir de uma expressão, use as seguintes sintaxes:

  • Fields!FieldName.PropertyName

  • Fields!FieldName("PropertyName")

A tabela a seguir fornece uma lista das propriedades de campo predefinidas que você pode usar.

Propriedade

Tipo

Descrição ou valor esperado

Value

Object

Especifica o valor de dados do campo.

IsMissing

Boolean

Indica se o campo foi encontrado no conjunto de dados resultante.

UniqueName

String

Retorna o nome totalmente qualificado de um nível. Por exemplo, o valor UniqueName para um funcionário pode ser [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272].

BackgroundColor

String

Retorna a cor do segundo plano definida no banco de dados para o campo.

Color

String

Retorna a cor do primeiro plano definida no banco de dados para o item.

FontFamily

String

Retorna o nome da fonte definido no banco de dados para o item.

FontSize

String

Retorna o tamanho da fonte definido no banco de dados para o item.

FontWeight

String

Retorna a espessura da fonte definida no banco de dados para o item.

FontStyle

String

Retorna o estilo da fonte definido no banco de dados para o item.

TextDecoration

String

Retorna a formatação de texto especial definida no banco de dados para o item.

FormattedValue

String

Retorna um valor formatado para a medida ou o número chave. Por exemplo, a propriedade FormattedValue para Cota do Valor de Vendas retorna um formato de moeda como $1.124.400,00.

Key

Object

Retorna a chave para um nível.

LevelNumber

Integer

Para hierarquias pai-filho, retorna o nível ou o número de dimensões.

ParentUniqueName

String

Para hierarquias pai-filho, retorna um nome totalmente qualificado do nível pai.

As propriedades de campo predefinidas são exibidas no IntelliSense no editor de expressões quando você insere a sintaxe para um campo. Para obter mais informações, consulte Usando coleções internas em expressões (Reporting Services).

ObservaçãoObservação

Os valores para essas propriedades de campo estendidas passarão a existir somente se a fonte de dados (por exemplo, o cubo do Analysis Services) fornecer esses valores quando você executar e recuperar os dados de seus conjuntos de dados. Dessa forma, você poderá consultar esses valores da propriedade de campo a partir de qualquer expressão usando a sintaxe descrita na seguinte seção. Entretanto, como esses campos são específicos para esse provedor de dados, as alterações que forem feitas nesse valor não serão salvas com a definição de relatório.

Exemplo de propriedades estendidas

Para ilustrar as propriedades estendidas, a consulta MDX e o conjunto de resultados a seguir incluem várias propriedades de membro disponíveis a partir de um atributo de dimensão definido para um cubo. As propriedades de membro incluídas são MEMBER_CAPTION, UNIQUENAME, Properties("Nome do Dia"), MEMBER_VALUE, PARENT_UNIQUE_NAME e MEMBER_KEY.

Essa consulta MDX é executada no cubo AdventureWorks no banco de dados AdventureWorks DW, incluído com os bancos de dados de exemplo AdventureWorks.

WITH MEMBER [Measures].[DateCaption] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_CAPTION' 
   MEMBER [Measures].[DateUniqueName] 
      AS '[Date].[Date].CURRENTMEMBER.UNIQUENAME' 
   MEMBER [Measures].[DateDayName] 
      AS '[Date].[Date].Properties("Day Name")' 
   MEMBER [Measures].[DateValueinOriginalDatatype] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_VALUE' 
   MEMBER [Measures].[DateParentUniqueName] 
      AS '[Date].[Date].CURRENTMEMBER.PARENT_UNIQUE_NAME' 
   MEMBER [Measures].[DateMemberKeyinOriginalDatatype] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_KEY' 
SELECT {
   [Measures].[DateCaption], 
   [Measures].[DateUniqueName], 
   [Measures].[DateDayName], 
   [Measures].[DateValueinOriginalDatatype],
   [Measures].[DateParentUniqueName],
   [Measures].[DateMemberKeyinOriginalDatatype]
   } ON COLUMNS , [Date].[Date].ALLMEMBERS ON ROWS 
FROM [Adventure Works]

Ao executar essa consulta em um painel de consulta MDX, você pode obter um conjunto de resultados com 1158 linhas. As primeiras quatro linhas são exibidas na tabela a seguir.

DateCaption

DateUniqueName

DateDayName

DateValueinOriginalDatatype

DateParentUniqueName

DateMemberKeyinOriginalDatatype

Todos os Períodos

[Data].[Data].[Todos os Períodos]

(nulo)

(nulo)

(nulo)

0

1-Jul-01

[Data].[Data].&[1]

Domingo

7/1/2001

[Data].[Data].[Todos os Períodos]

1

2-Jul-01

[Data].[Data].&[2]

Segunda-feira

7/2/2001

[Data].[Data].[Todos os Períodos]

2

3-Jul-01

[Data].[Data].&[3]

Terça-feira

7/3/2001

[Data].[Data].[Todos os Períodos]

3

As consultas MDX padrão incorporadas usando o Designer de Consulta MDX no modo gráfico incluem apenas MEMBER_CAPTION e UNIQUENAME para as propriedades de dimensão. Por padrão, esses valores sempre são do tipo de dados String.

Se precisar de uma propriedade do membro em seu tipo de dados original, você poderá incluir uma propriedade adicional MEMBER_VALUE modificando a instrução MDX padrão no designer de consulta baseado em texto. Na instrução MDX simples indicada a seguir, MEMBER_VALUE foi adicionada à lista de propriedades de dimensão a ser recuperada.

SELECT NON EMPTY {[Measures].[Order Count]} ON COLUMNS, 
NON EMPTY { ([Date].[Month of Year].[Month of Year] ) } 
DIMENSION PROPERTIES 
   MEMBER_CAPTION, MEMBER_UNIQUE_NAME, MEMBER_VALUE ON ROWS 
FROM [Adventure Works]
CELL PROPERTIES 
   VALUE, BACK_COLOR, FORE_COLOR, 
   FORMATTED_VALUE, FORMAT_STRING, 
   FONT_NAME, FONT_SIZE, FONT_FLAGS

As primeiras quatro linhas do resultado no painel Resultados MDX aparecem na tabela a seguir.

Mês do Ano

Contagem dos Pedidos

Janeiro

2,481

Fevereiro

2,684

Março

2,749

Abril

2,739

Embora as propriedades façam parte da instrução de seleção MDX, elas não são exibidas nas colunas de conjunto de resultados. No entanto, os dados são disponibilizados para um relatório usando o recurso de propriedades estendidas. No painel de resultados da consulta MDX no SQL ServerManagement Studio, você pode clicar duas vezes na célula e ver os valores de propriedade da célula, caso elas estejam definidas no cubo. Se clicar duas vezes na primeira célula Contagem de Pedidos que contém 1379, será exibida uma janela com as seguintes propriedades da célula:

Propriedade

Valor

CellOrdinal

0

VALUE

2481

BACK_COLOR

(nulo)

FORE_COLOR

(nulo)

FORMATTED_VALUE

2,481

FORMAT_STRING

#,#

FONT_NAME

(nulo)

FONT_SIZE

(nulo)

FONT_FLAGS

(nulo)

Se você criar um conjunto de dados de relatório com essa consulta e associar o conjunto de dados a uma tabela, poderá ver a propriedade VALUE padrão para um campo, como, por exemplo, =Fields!Month_of_Year!Value. Se definir essa expressão como a expressão de classificação para a tabela, seus resultados servirão para classificar a tabela em ordem alfabética, por mês, porque o campo Valor usa um tipo de dados String. Para classificar a tabela de forma que os meses fiquem na ordem correta do ano, de janeiro a dezembro, use a seguinte expressão:

=Fields!Month_of_Year("MEMBER_VALUE")

Isso classifica o valor do campo em seu tipo de dados de inteiro original a partir da fonte de dados.