SQL Server Analysis Services 数据处理扩展插件支持扩展字段属性。扩展字段属性是除字段属性 ValueIsMissing 之外的属性,可用于数据源并受数据处理扩展插件支持。扩展属性并不作为报表数据集字段集合的一部分显示在“数据集”窗格中。您可以通过编写使用全局 Fields 集合按名称指定扩展字段属性值的表达式,在报表中包括这些值。

扩展属性包括预定义属性和自定义属性。预定义属性是通用于多个数据源的属性,它们映射到特定字段属性名称并可通过全局 Fields 集合按名称进行访问。自定义属性是特别为每个数据访问接口定义的,只能使用将扩展属性名称用作字符串的语法通过全局 Fields 集合进行访问。

在图形模式下使用 Analysis Services MDX 查询设计器定义查询时,一组预定义的单元属性和维度属性会自动添加到 MDX 查询。您只能使用在您的报表的 MDX 查询中专门列出的扩展属性。根据您的报表,可能需要修改默认 MDX 命令文本才能包含多维数据集中定义的其他维度或自定义属性。有关 Analysis Services 数据源中的可用扩展字段的详细信息,请参阅创建和使用属性值 (MDX)。

 在报表中使用字段属性

扩展字段属性包括预定义属性和数据访问接口特定属性。即使字段属性在为数据集生成的查询中,这些属性也不会在“数据集”窗口的字段列表中出现,因此,您不能将字段属性拖至报表布局。不过,您可以将该字段拖至报表中,然后将该字段的 Value 属性更改为要使用的属性。

若要引用未预定义的扩展属性,请在表达式中使用以下语法:

  • Fields!FieldName("PropertyName")

 预定义的字段属性

在大多数情况下,预定义的字段属性应用于度量值、级别或维度。预定义的字段属性必须在 Analysis Services 数据源中存储有相应的值。如果值不存在,或者(例如)对某个级别指定了仅适用于度量值的字段属性,则该属性将返回空值。

可以使用以下任一语法引用表达式中的预定义属性:

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

下表提供了您可以使用的预定义字段属性的列表:

属性 类型 说明或所需的值

Value

Object

指定字段的数据值。

IsMissing

Boolean

指示是否在结果数据集中找到了该字段。

UniqueName

String

返回级别的完全限定名称。例如,某个雇员的 UniqueName 值可能为 [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272]

BackgroundColor

String

返回数据库中为该字段定义的背景颜色。

Color

String

返回数据库中为该项定义的前景色。

FontFamily

String

返回数据库中为该项定义的字体的名称。

FontSize

String

返回数据库中为该项定义的字体的字号。

FontWeight

String

返回数据库中为该项定义的字体的粗细。

FontStyle

String

返回数据库中为该项定义的字体的样式。

TextDecoration

String

返回数据库中为该项定义的特殊文本格式设置。

FormattedValue

String

返回度量值或关键数字的格式值。例如,“销售额配额”FormattedValue 属性将返回一种货币格式,如 $1,124,400.00。

Key

Object

返回级别的键。

LevelNumber

Integer

针对父子层次结构返回级别号或维度编号。

ParentUniqueName

String

针对父子层次结构返回父级的完全限定名称。

为字段输入语法时,预定义字段将会出现在表达式编辑器的 IntelliSense 中。有关详细信息,请参阅在表达式中使用全局集合 (Reporting Services)。

注意:
仅当数据源(如 Analysis Services 多维数据集)在报表运行和检索其数据集数据的情况下提供这些扩展字段属性的值时,这些值才存在。然后,您可以使用下面所述的语法从任意表达式引用这些字段属性值。但是,由于这些字段专用于此数据访问接口,因此,对这些值所做的更改不会随报表定义一同保存。

扩展属性示例

为了说明扩展属性,以下 MDX 查询和结果集包含了为多维数据集定义的某维度属性的多个可用成员属性。包含的成员属性为 MEMBER_CAPTION、UNIQUENAME、Properties("Day Name")、MEMBER_VALUE、PARENT_UNIQUE_NAME 和 MEMBER_KEY。

此 MDX 查询将针对随 AdventureWorks 示例数据库提供的 AdventureWorks DW 数据库中的 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]

在 MDX 查询窗格中运行此查询时,您将获得一个包含 1158 行的结果集。下表显示了其中的前四行。

DateCaption DateUniqueName DateDayName DateValueinOriginalDatatype DateParentUniqueName DateMemberKeyinOriginalDatatype

All Periods

[Date].[Date].[All Periods]

(null)

(null)

(null)

0

1-Jul-01

[Date].[Date].&[1]

Sunday

7/1/2001

[Date].[Date].[All Periods]

1

2-Jul-01

[Date].[Date].&[2]

Monday

7/2/2001

[Date].[Date].[All Periods]

2

3-Jul-01

[Date].[Date].&[3]

7/3/2001

[Date].[Date].[All Periods]

3

对于使用图形模式下的 MDX 查询设计器生成的 MDX 查询,其维度属性只包括 MEMBER_CAPTION 和 UNIQUENAME。默认情况下,这些值始终为 String 数据类型。

如果需要成员属性采用其原始数据类型,则可通过在通用查询设计器中修改默认 MDX 语句,包含附加属性 MEMBER_VALUE。在下面的简单 MDX 语句中,MEMBER_VALUE 已添加到要检索的维度属性列表中。

复制代码
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

下表显示了 MDX“结果”窗格中的前四行结果。

Month of Year Order Count

January

2,481

February

2,684

March

2,749

April

2,739

即使属性是 MDX 选择语句的一部分,它们也不会显示在结果集列中。尽管如此,使用扩展属性功能仍可将这些数据用于报表。在 SQL Server Management Studio 的 MDX 查询结果窗格中,您可以双击单元并查看单元的属性值(如果在多维数据集中进行了设置)。如果双击第一个包含 1,379 的 Order Count 单元,则会看到一个包含以下单元属性的弹出窗口:

Property Value

CellOrdinal

0

VALUE

2481

BACK_COLOR

(null)

FORE_COLOR

(null)

FORMATTED_VALUE

2,481

FORMAT_STRING

#,#

FONT_NAME

(null)

FONT_SIZE

(null)

FONT_FLAGS

(null)

如果使用此查询创建报表数据集,并将该数据集绑定到一个表,则可以看到字段的默认 VALUE 属性,例如 =Fields!Month_of_Year!Value。如果将此表达式设置为该表的排序表达式,则会按月份的字母顺序对表中的结果进行排序,因为 Value 字段默认为 String 数据类型。若要按月份在一年中的顺序(即一月排在第一位,十二月排在最后)对该表进行排序,请使用以下表达式:

复制代码
=Fields!Month_of_Year("MEMBER_VALUE")

这将使用数据源中字段的原始整数数据类型对其值进行排序。

转载于:https://www.cnblogs.com/frank_luo/archive/2009/05/25/1488951.html

为 Analysis Services 数据库使用扩展字段属性(SQL Server 2005 联机丛书(2008 年 11 月))...相关推荐

  1. 生成有关 SQL Server 2005 Analysis Services 多维数据集数据源的本地化报表

    引言 本文节选了 Brian Larson 所著的 Microsoft SQL Server 2005 Reporting Services 一书.学习如何通过参数化 MDX 查询将 Analysis ...

  2. SQL Server 2005 Integration Services (SSIS) (2) - 导入/导出向导

    下面通过一个例子,利用最新的SQL Server 2005 Export/Import 向导来建立一个简单的SSIS Package (包),这个SSIS将把SQL Server 2005 自带的Ad ...

  3. Eclipse如何连接SQL Server 2005数据库

    做管理系统当然少不了经常与数据库打交道,在网上搜了很多数据库版本都不小,大的有好几个G的,小的也有几百兆的,我这可怜的内存,最终找了个精简版中的精简版的Sql server2005,只有80几兆,本来 ...

  4. Visual C# 2008+SQL Server 2005 数据库与网络开发-- 9.1 对XML的支持

    和以前的SQL Server数据库版本相比较,SQL Server 2005在XML支持方面有了很大的改善,如支持XML数据类型等.经过这些显著的改善,开发人员可以通过SQL Server 2005更 ...

  5. xp安装sql server 2005数据库

    xp操作系统安装免费SqlServer2005 在使用SqlServer 开发时,发现一个问题 在xp中安装Sql Server2005 企业版 怎么也装不上.  在网上找到好多关于安装Sql Ser ...

  6. 升级SharePoint数据库到SQL Server 2005的一点心得

    之前数据库服务器我用的是SQL Server 2000 Standard Edition+SP4.SharePoint Portal Server 2003更新到了SP2. 早就听说2005比2000 ...

  7. 如何在SQL Server 2005中还原数据库

    还原数据库的方式 有几种数据库备份的方式就将会有几种还原数据库的 方式: l 完整备份的还原:无论是完整备份.差异备份还是事务日志备份的还原,在第一步都要先做完整备份的还原.完整备份的还原只需要还原完 ...

  8. 关于SQL Server 2005 的自动远程数据库备份

    关于SQL Server 2005 的自动远程数据库备份 原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的 ...

  9. SQL Server 2005 Analysis Services实践(一)

    一.在Analysis Services项目中定义数据源视图 1.根据模板创建Analysis Services项目 BIDS(Business Intelligence Development St ...

最新文章

  1. MySQL里面的CONNECTION_ID
  2. Cell子刊:源自微生物群的醋酸盐能够在健康和疾病期间促进大脑先天免疫系统的代谢适应性...
  3. leetcode算法题--猜数字大小 II★★
  4. SVM的发展和研究热点
  5. 2021-11-13SystemStringBuliding
  6. SpringMVC的请求-文件上传-文件上传的原理
  7. 横向对比EXT4,带你感受真实的Linux文件系统F2FS
  8. 阿铭Linux_网站维护学习笔记201903027
  9. Xcode12 在Segue下切换视图时不充满屏幕的问题
  10. matlab 读取npy,在将mat中的mat数据转换为Python中使用的NPY数据时遇到的Pit问题,Matlab,转成,python,npy,坑...
  11. python中 s是什么意思_python中字符串 s[ : -1]是什么意思?
  12. Erlang 游戏开发经验总结
  13. Uni-app fly 接口封装
  14. python二维表转一维表_【习题】一维表转二维表
  15. 索尼发布新款VR头盔与FB竞争,暂未公布定价
  16. java实现交集并集差集
  17. c#如何实现RTU远程数据采集功能及RTU在水利工程中的运用
  18. hdu1878欧拉回路(DFS+欧拉回路)
  19. 使用deconvblind估计PSF
  20. 调试器(debugger)是如何工作的

热门文章

  1. python向it新增5个元素_Python序列、元组、列表、集合及字典笔记整理
  2. java书籍_2020年java从入门到进阶书籍推荐,基础\自学\编程\数据结构\后端\虚拟机\网络\设计模式书籍...
  3. 无法拒绝APP测试的理由,如果你还不知道,是我的错!
  4. git clone 出现fatal: unable to access ‘https://github 类错误解决方法
  5. Nervos DAO锁定总额突破100亿,近日解锁的14.28亿生态基金已被全部存入
  6. 一条案例:如何选择合适的第三方数据源
  7. 机器学习:用梯度下降法实现线性回归
  8. 智能家居助手后台系统原型/智慧家居后台管理系统/应用分析/页面分析/设备分析/用户管理/运营管理/权限管理/系统设置/问题反馈/商城管理/消息管理/用户画像/公告管理/账号画像/留存用户/数据埋点
  9. [ARM] ARM处理器寻址方式
  10. 新建项目虚拟环境及pycharm配置