Proprietà di campo estese per un database di Analysis Services (SSRS)Extended Field Properties for an Analysis Services Database (SSRS)

L'estensione per l'elaborazione dati di SQL ServerSQL Server Analysis ServicesAnalysis Services supporta proprietà di campo estese.The SQL ServerSQL Server Analysis ServicesAnalysis Services data processing extension supports extended field properties. Le proprietà di campo estese sono proprietà aggiuntive rispetto alle proprietà di campo Value e IsMissing , disponibili nell'origine dati e supportate dall'estensione per l'elaborazione dati.Extended field properties are properties in addition to the field properties Value and IsMissing that are available on the data source and supported by the data processing extension. Le proprietà estese non vengono visualizzate nel riquadro Dati report all'interno della raccolta di campi per un set di dati del report.Extended properties do not appear in the Report Data pane as part of the field collection for a report dataset. È possibile includere valori di proprietà di campo estese in un report scrivendo espressioni mediante la raccolta predefinita Campi nelle quali i valori sono specificati per nome.You can include extended field property values in your report by writing expressions that specify them by name using the built-in Fields collection.

Le proprietà estese includono proprietà predefinite e proprietà personalizzate.Extended properties include predefined properties and custom properties. Le proprietà predefinite sono comuni a più origini dati, per le quali viene eseguito il mapping a nomi di proprietà di campo specifiche e risultano accessibili per nome tramite la raccolta predefinita Campi .Predefined properties are properties common to multiple data sources that are mapped to specific field property names and can be accessed through the built-in Fields collection by name. Le proprietà personalizzate sono specifiche per ogni provider di dati ed è possibile accedervi mediante la raccolta predefinita Campi solo tramite la sintassi che usa il nome della proprietà estesa come stringa.Custom properties are specific to each data provider and can be accessed through the built-in Fields collection only through syntax using the extended property name as a string.

Quando si usa la finestra Progettazione query MDX con interfaccia grafica di Analysis ServicesAnalysis Services per definire la query, a quest'ultima viene automaticamente aggiunto un set predefinito di proprietà delle celle e delle dimensioni.When you use the Analysis ServicesAnalysis Services MDX query designer in graphical mode to define your query, a predefined set of cell properties and dimension properties are automatically added to the MDX query. Nel report è possibile utilizzare solo le proprietà estese specificatamente elencate nella query MDX.You can only use extended properties that are specifically listed in the MDX query in your report. A seconda del report, potrebbe essere opportuno modificare il testo del comando MDX in modo che includa altre proprietà personalizzate o delle dimensioni definite nel cubo.Depending on your report, you may want to modify the default MDX command text to include other dimension or custom properties defined in the cube. Per ulteriori informazioni sui campi estesi disponibili in Analysis ServicesAnalysis Services origini dati, vedere creazione e utilizzo dei valori di proprietà ( MDX ) .For more information about extended fields available in Analysis ServicesAnalysis Services data sources, see Creating and Using Property Values (MDX).

Utilizzo delle proprietà di campo in un reportWorking with Field Properties in a Report

Le proprietà di campo estese includono proprietà predefinite e proprietà specifiche del provider di dati.Extended field properties include predefined properties and data provider-specific properties. Le proprietà di campo non vengono visualizzate con l'elenco dei campi nel riquadro Dati report , sebbene siano incluse nella query compilata per un set di dati. Non è possibile pertanto trascinarle nell'area di progettazione del report.Field properties do not appear with the field list in the Report Data pane, even though they are in the query built for a dataset; therefore, you cannot drag field properties onto your report design surface. È invece necessario trascinare il campo nel report e quindi modificare la proprietà Value del campo impostando la proprietà che si vuole usare.Instead, you must drag the field onto the report and then change the Value property of the field to the property that you want to use. Se, ad esempio, i dati delle celle di un cubo sono già stati formattati, è possibile usare la proprietà di campo FormattedValue usando l'espressione seguente: =Fields!FieldName.FormattedValue.For example, if the cell data from a cube has already been formatted, you can use the FormattedValue field property by using the following expression: =Fields!FieldName.FormattedValue.

Per fare riferimento a una proprietà estesa non predefinita, utilizzare la sintassi seguente in un'espressione:To refer to an extended property that is not predefined, use the following syntax in an expression:

  • Fields!FieldName("PropertyName")Fields!FieldName("PropertyName")

Proprietà di campo predefinitePredefined Field Properties

Nella maggior parte dei casi, le proprietà di campo predefinite si applicano a misure, livelli o dimensioni.In most cases, predefined field properties apply to measures, levels, or dimensions. Una proprietà di campo predefinita deve avere un valore corrispondente archiviato nell'origine dati di Analysis ServicesAnalysis Services .A predefined field property must have a corresponding value stored in the Analysis ServicesAnalysis Services data source. Se non esiste un valore o se si specifica una proprietà dei campi solo di misura, ad esempio per un livello, la proprietà restituisce un valore Null.If a value does not exist, or if you specify a measure-only field property on a level (for example), the property returns a null value.

Per fare riferimento a una proprietà predefinita da un'espressione, utilizzare uno dei due tipi di sintassi seguenti:You can use either of the following syntaxes to refer to a predefined property from an expression:

  • Fields!FieldName.PropertyNameFields!FieldName.PropertyName

  • Fields!FieldName("PropertyName")Fields!FieldName("PropertyName")

    Nella tabella seguente viene illustrato un elenco di proprietà di campo predefinite che è possibile utilizzare.The following table provides a list of predefined field properties that you can use.

ProprietàProperty TipoType Descrizione o valore previstoDescription or expected value
ValueValue OggettoObject Specifica il valore dei dati del campo.Specifies the data value of the field.
IsMissingIsMissing BooleanBoolean Indica se il campo è stato trovato nel set di dati risultante.Indicates whether the field was found in the resulting data set.
UniqueNameUniqueName StringString Restituisce il nome completo di un livello.Returns the fully qualified name of a level. Ad esempio, il valore UniqueName per un dipendente può essere [Dipendente].[Reparto dipendente].[Reparto].&[Vendite].&[Responsabile vendite Nord America].&[272].For example, the UniqueName value for an employee might be [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272].
BackgroundColorBackgroundColor StringString Restituisce il colore di sfondo definito nel database per il campo.Returns the background color defined in the database for the field.
ColoreColor StringString Restituisce il colore di primo piano definito nel database per l'elemento.Returns the foreground color defined in the database for the item.
FontFamilyFontFamily StringString Restituisce il nome del tipo di carattere definito nel database per l'elemento.Returns the name of the font defined in the database for the item.
FontSizeFontSize StringString Restituisce le dimensioni in punti del tipo di carattere definito nel database per l'elemento.Returns the point size of the font defined in the database for the item.
SpessoreCarattereFontWeight StringString Restituisce lo spessore del carattere definito nel database per l'elemento.Returns the weight of the font defined in the database for the item.
FontStyleFontStyle StringString Restituisce lo stile del tipo di carattere definito nel database per l'elemento.Returns the style of the font defined in the database for the item.
TextDecorationTextDecoration StringString Restituisce la formattazione di testo speciale definita nel database per l'elemento.Returns special text formatting defined in the database for the item.
FormattedValueFormattedValue StringString Restituisce un valore formattato per una misura o una cifra chiave.Returns a formatted value for a measure or key figure. La proprietà FormattedValue di Quote vendite restituisce, ad esempio, un formato valuta come $ 1.124.400,00.For example, the FormattedValue property for Sales Amount Quota returns a currency format like $1,124,400.00.
KeyKey OggettoObject Restituisce la chiave per un livello.Returns the key for a level.
LevelNumberLevelNumber Valore interoInteger Per gerarchie padre-figlio, questa proprietà restituisce il numero del livello o della dimensione.For parent-child hierarchies, returns the level or dimension number.
ParentUniqueNameParentUniqueName StringString Per gerarchie padre-figlio, restituisce un nome completo del livello padre.For parent-child hierarchies, returns a fully qualified name of the parent level.
Nota

I valori per queste proprietà di campo estese sono disponibili solo se vengono forniti dall'origine dati, ad esempio il cubo di Analysis ServicesAnalysis Services , quando il report viene eseguito e vengono recuperati i dati per i relativi set di dati.Values exist for these extended field properties only if the data source (for example, the Analysis ServicesAnalysis Services cube) provides these values when your report runs and retrieves the data for its datasets. È quindi possibile fare riferimento a tali valori delle proprietà di campo in qualsiasi espressione utilizzando la sintassi descritta nella sezione seguente.You can then refer to those field property values from any expression using the syntax described in the following section. Poiché, tuttavia, questi campi sono specifici del provider di dati in uso, eventuali modifiche apportate a tali valori non vengono salvate con la definizione del report.However, because these fields are specific to this data provider, changes that you make to these values are not saved with the report definition.

Proprietà estese di esempioExample Extended Properties

Per illustrare le proprietà estese, la query MDX seguente e il relativo set di risultati includono diverse proprietà del membro disponibili da un attributo delle dimensioni definito per un cubo.To illustrate extended properties, the following MDX query and result set include several member properties available from a dimension attribute defined for a cube. Le proprietà del membro incluse sono MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME e MEMBER_KEY.The member properties included are MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME, and MEMBER_KEY.

La query MDX viene eseguita sul cubo AdventureWorks2012AdventureWorks2012 nel database AdventureWorks2012AdventureWorks2012 DW incluso nei database di esempio AdventureWorks2012AdventureWorks2012 .This MDX query runs against the AdventureWorks2012AdventureWorks2012 cube in the AdventureWorks2012AdventureWorks2012 DW database, included with the AdventureWorks2012AdventureWorks2012 sample databases.

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]  

Quando si esegue la query in un riquadro di query MDX, si ottiene un set di risultati costituito da 1158 righe.When you run this query in an MDX query pane, you get a result set with 1158 rows. Le prime quattro righe sono illustrate nella tabella seguente.The first four rows are shown in the following table.

DateCaptionDateCaption DateUniqueNameDateUniqueName DateDayNameDateDayName DateValueinOriginalDatatypeDateValueinOriginalDatatype DateParentUniqueNameDateParentUniqueName DateMemberKeyinOriginalDatatypeDateMemberKeyinOriginalDatatype
All PeriodsAll Periods [Date].[Date].[All Periods][Date].[Date].[All Periods] (null)(null) (null)(null) (null)(null) 00
1-Jul-011-Jul-01 [Date].[Date].&[1][Date].[Date].&[1] DomenicaSunday 7/1/20017/1/2001 [Date].[Date].[All Periods][Date].[Date].[All Periods] 11
2-Jul-012-Jul-01 [Date].[Date].&[2][Date].[Date].&[2] LunedìMonday 7/2/20017/2/2001 [Date].[Date].[All Periods][Date].[Date].[All Periods] 22
3-Jul-013-Jul-01 [Date].[Date].&[3][Date].[Date].&[3] MartedìTuesday 7/3/20017/3/2001 [Date].[Date].[All Periods][Date].[Date].[All Periods] 33

Le query MDX predefinite compilate mediante Progettazione query MDX in modalità grafica includono solo MEMBER_CAPTION e UNIQUENAME per le proprietà delle dimensioni.Default MDX queries built using the MDX Query Designer in graphical mode only include MEMBER_CAPTION and UNIQUENAME for dimension properties. Per impostazione predefinita, tali valori sono sempre di tipo String.By default, these values always are data type String.

Se è necessaria una proprietà del membro nel tipo di dati originale, è possibile includere un'ulteriore proprietà MEMBER_VALUE modificando l'istruzione MDX predefinita in Progettazione query basata su testo.If you need a member property in its original data type, you can include an additional property MEMBER_VALUE by modifying the default MDX statement in the text-based query designer. Nella semplice istruzione MDX seguente, MEMBER_VALUE è stata aggiunta all'elenco delle proprietà delle dimensioni da recuperare.In the following simple MDX statement, MEMBER_VALUE has been added to the list of dimension properties to retrieve.

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  

Le prime quattro righe visualizzate nel riquadro risultati MDX sono illustrate nella tabella seguente.The first four rows of the result in the MDX Results pane appear in the following table.

Month of YearMonth of Year Order CountOrder Count
GennaioJanuary 2,4812,481
FebbraioFebruary 2,6842,684
MarzoMarch 2,7492,749
AprilApril 2,7392,739

Sebbene le proprietà facciano parte dell'istruzione MDX SELECT, non sono incluse nelle colonne del set di risultati.Even though the properties are part of the MDX select statement, they do not appear in the result set columns. I dati sono tuttavia disponibili per un report mediante la caratteristica delle proprietà estese.Nevertheless, the data is available for a report by using the extended properties feature. Nel riquadro risultati di una query MDX di SQL ServerSQL Server Management StudioManagement Studiofare doppio clic sulla cella per visualizzare i relativi valori delle proprietà, se impostati nel cubo.In an MDX query result pane in SQL ServerSQL Server Management StudioManagement Studio, you can double-click on the cell and see the cell property values if they are set in the cube. Se si fa doppio clic sulla prima cella Order Count contenente 1,379, verrà visualizzata una finestra popup con le proprietà della cella seguenti:If you double-click on the first Order Count cell that contains 1,379, you will see a pop-up window with the following cell properties:

ProprietàProperty ValueValue
CellOrdinalCellOrdinal 00
ValueVALUE 24812481
BACK_COLORBACK_COLOR (null)(null)
FORE_COLORFORE_COLOR (null)(null)
FORMATTED_VALUEFORMATTED_VALUE 2,4812,481
FORMAT_STRINGFORMAT_STRING #,##,#
FONT_NAMEFONT_NAME (null)(null)
FONT_SIZEFONT_SIZE (null)(null)
FONT_FLAGSFONT_FLAGS (null)(null)

Se si crea un set di dati del report con questa query e lo si associa a una tabella, sarà possibile visualizzare la proprietà VALUE predefinita per un campo, ad esempio =Fields!Month_of_Year!Value.If you create a report dataset with this query and bind the dataset to a table, you can see the default VALUE property for a field, for example, =Fields!Month_of_Year!Value. Se si imposta questa espressione come espressione di ordinamento per la tabella, la tabella verrà ordinata alfabeticamente in base al mese poiché il tipo di dati del campo Value è String .If you set this expression as the sort expression for the table, your results will be to sort the table alphabetically by month because the Value field uses a String data type. Per ordinare la tabella in modo che i mesi si trovino nell'ordine di successione nell'anno, con gennaio primo e dicembre ultimo, utilizzare l'espressione seguente:To sort the table in so that the months are in the order they occur in the year with January first and December last, use the following expression:

=Fields!Month_of_Year("MEMBER_VALUE")  

In questo modo i valori del campo verranno ordinati in base al tipo di dati interi originale dell'origine dei dati.This sorts the value of the field in its original integer data type from the data source.

Vedere ancheSee Also

Espressioni (Generatore report e SSRS) Expressions (Report Builder and SSRS)
Raccolte predefinite nelle espressioni ( Generatore report e SSRS ) Built-in Collections in Expressions (Report Builder and SSRS)
Raccolta di campi del set di dati ( Generatore report e SSRS )Dataset Fields Collection (Report Builder and SSRS)