格式字符串
使用格式字符串,您可以设置数字类型度量中 Essbase 成员值的格式,以便它们显示为文本、日期或其他预定义值类型。您可以在度量维中的所有成员以及其他维中的公式成员上定义格式字符串。
使用格式字符串时显示的值是单元的格式化值(MDX 中的 FORMATTED_VALUE 属性)。
基础实际值为数字,并且此值不受关联的格式化值的影响。格式字符串使您能够显示更有意义的值来代替原始数字值。例如,使用基于文本的格式值,可以将数据单元格显示为 "High"、"Medium" 和 "Low"。
此外,还支持使用内置文本和日期度量类型的文本和日期类型值。格式字符串为您的实施增加了更大的灵活性,因为您可以将格式字符串应用于多个维中的成员,而使用文本和日期度量,您只能将一个或另一个应用于单个度量维。您可以将格式字符串应用于数字维;您不必将维键入为文本或日期。
格式字符串可以应用于聚合存储 (ASO) 或块存储 (BSO) 数据库。
主题:
实施格式字符串
聚合存储 (ASO) 和块存储 (BSO) 数据库支持格式字符串。您可以在数据库级别实施格式字符串。使用以下工作流在 Essbase 中启用和使用格式字符串。
-
在大纲属性中,启用键入的度量。
-
在“帐户”维中,创建要设置其成员格式的度量,并在其成员属性中编辑“关联格式字符串”字段以创建 MDX 格式指令。有关创建 MDX 格式指令的语法,请参见 MDX 格式指令。
格式字符串的限制
格式字符串不支持跨分区。
格式字符串的最大长度为 256 个字符。
共享成员(包括隐式共享)不能具有单独的格式字符串。共享成员继承原型成员的格式字符串。
MDX 格式指令
在 ASO 和 BSO 多维数据集中使用 MDX 表达式定义 Essbase 格式字符串。
应用格式字符串的 MDX 语法为:
format_string_expression = MdxFormat (string_value_expression)其中,string_value_expression 是 MDX 规范中所述的有效 MDX 字符串值表达式(请参见 MDX 语法规则)。
大多数 MDX 表达式都可用于指定格式字符串;但是,格式字符串不能包含对数据单元格值(当前正在设置格式的单元格值除外)的引用。可以使用 MDX CellValue 函数引用当前单元格值。
Essbase 将具有无效格式字符串的成员视为未定义格式字符串。可以使用无效的格式字符串保存大纲。如果查询包含具有无效格式字符串的成员,则 Essbase 将生成警告。
如果成员未与格式字符串关联,则会应用默认格式规则。默认格式规则根据度量是数字、文本还是日期类型设置单元格的格式。对于数字度量,默认的格式化值是该数字的文本版本。对于文本度量,默认格式化值是基于关联文本列表对象的文本值。对于日期值,默认格式是根据大纲属性中定义的日期格式字符串进行格式化的日期字符串。
支持格式字符串的函数
在将格式字符串应用于 Essbase 度量时,有一些 MDX 函数非常有用。
格式字符串将作为 MDX 表达式应用于 ASO 和 BSO 多维数据集。
-
EnumText 返回与内部数字值关联的文本列表标签。
-
EnumValue 将返回文本列表标签的内部数值。
-
CellValue 返回当前单元格的内部数字值。
-
NumToStr 将值转换为十进制字符串。
为具有文本度量或格式字符串的块存储数据库编写计算脚本时, @ENUMVALUE 计算函数非常有用。此函数返回与内部数字值关联的文本列表标签。
MaxL alter session set dml_output 语句有一个子句 set formatted_value on | off 。默认情况下,格式化值显示在查询中,但此语句可用于关闭格式化值的显示。
OUTFORMATTEDVALUES Report Writer 命令可在报表中返回格式化的单元格值。