FORMAT_STRING内容(MDX)

FORMAT_STRING 单元格属性用于格式化 VALUE 单元格属性,并为 FORMATTED_VALUE 单元格属性创建值。 FORMAT_STRING单元格属性处理字符串和数值原始值,对值应用格式表达式以返回单元格属性的格式化值FORMATTED_VALUE。 下表详细介绍了用于处理字符串和数值的语法和格式字符。

字符串值

字符串的格式表达式可以有一节或两个节,用分号分隔(;))。

用法 结果
一个部分 格式适用于所有字符串值。
两个部分 第一节适用于字符串数据,而第二节适用于 null 值和零长度字符串(“)。

下表中描述的字符可以出现在用于字符数组的格式字符串中。

字符 DESCRIPTION
@ 用于显示字符或空格的字符占位符。 如果字符串在格式字符串中@符号所在的位置有一个字符,则格式化后的字符串将显示该字符。 否则,格式化字符串将在该位置显示一个空格。 除非格式字符串中有感叹号(!),否则占位符是从右到左填充的。
& 表示一个字符占位符,该占位符可以显示字符或保持空白。 如果字符串在出现与号(>)的位置有一个字符,则格式化字符串将显示该字符。 否则,格式化字符串不显示任何内容。 除非格式字符串中含有感叹号(!),否则占位符将从右向左填充。
< 强制小写。 格式化字符串以小写格式显示所有字符。
> 强制转换为大写字母。 格式化字符串以大写格式显示所有字符。
! 强制从左到右填充占位符。 (默认值是从右到左填充占位符。

数值

数字的用户定义格式表达式可以在任意位置有 1 到 4 个分区,用分号分隔。 如果格式参数包含一个命名的数字格式,则只允许一个节。

用法 结果
一个部分 格式表达式适用于所有值。
两个部分 第一节适用于正值和零,第二部分适用于负值。
三个部分 第一节适用于正值,第二部分适用于负值,第三部分应用于零。
四个部分 第一节适用于正值、第二个应用于负值、第三个到零,第四个应用于 null 值。

以下示例包含两个部分。 第一节定义正值和零的格式,第二节定义负值的格式。

"$#,##0;($#,##0)"  

如果包含分号,且它们之间没有任何内容,则缺少的部分将使用正值的格式进行打印。 例如,以下格式使用第一节中的格式显示正值和负值,如果值为零,则显示“零”:

"$#,##0;;\Z\e\r\o"  

下列表格显示可以出现在数字格式字符串中的字符。

字符 DESCRIPTION
没有 显示不带任何格式的数字。
0 表示显示数字或零(0)的数字占位符。

如果数字在格式字符串中显示零的位置有一个数字,则格式化值将显示数字。 否则,格式化值在该位置显示零。

如果数字的位数少于格式字符串中的零(小数点两侧的零),则格式化后的值会显示前导零或尾随零。

如果格式表达式中小数分隔符右侧的零数量少于实际数字中的小数位数,那么格式化后的值会将数字四舍五入到与零数量相同的小数位。

如果小数点分隔符左侧的数字数多于格式表达式中小数分隔符左侧的零,则格式化值将显示其他数字,而无需修改。
# 表示用于显示一个数字或者没有显示任何内容的数字占位符。

如果表达式在数字符号(#)出现在格式字符串中的位置有一个数字,则格式化值将显示数字。 否则,格式化的值不会在该位置显示任何内容。

数字符号 (#) 占位符的工作方式类似于零 (0) 位占位符,但如果数字与格式表达式中小数分隔符两侧的 # 字符相同或更少,则不显示前导和尾随零。
表示一个十进制占位符,该占位符确定小数点分隔符左侧和右侧显示的数字数。

如果格式表达式仅包含句点(.)左侧的数字符号(#.),则小于 1 的数字以小数分隔符开头。 若要显示以小数显示的前导零,请使用零(0)作为小数分隔符左侧的第一个数字占位符。

在格式化输出中用作小数占位符的实际字符取决于计算机系统识别的数字格式。

注意:在某些区域设置中,逗号用作小数分隔符。
% 表示百分比占位符。 表达式乘以 100。 百分比字符 (%) 被插入到格式字符串中百分比出现的位置。
表示一个千位分隔符,它用于在小数点分隔符左侧有四位或更多的数字中将千位与百位分开。

如果格式包含以数字占位符(0#)括起来的千位分隔符,则指定了对千位分隔符的标准使用。

两个相邻的千位分隔符,或在小数分隔符左侧的千位分隔符(无论是否指定小数位),表示“通过将数字除以1000进行缩放,并根据需要进行舍入”。例如,可以使用格式字符串“##0,,”将1亿表示为100。 小于 100 万的数字显示为 0。 除小数分隔符左侧以外的任意位置有两个相邻的千位分隔符被视为指定使用千位分隔符。

用作格式化输出中的千位分隔符的实际字符取决于计算机系统识别的数字格式。

注意:在某些地区设置中,句点被用作千位分隔符。
: 表示一个时间分隔符,用于在设置时间值的格式时分隔小时、分钟和秒。

注意:在某些区域设置中,其他字符可以用作时间分隔符。

用作格式化输出中的时间分隔符的实际字符由计算机上的系统设置确定。
/ 表示一个日期分隔符,当日期值被格式化时,用于分隔日、月和年。

用作格式化输出中的日期分隔符的实际字符由计算机上的系统设置确定。

注意:在某些区域设置中,其他字符可能用作日期分隔符。
E- E+ e- e+ 表示科学格式。

如果格式表达式至少包含 E-E+e- 或 e+右侧的一个数字占位符(0#),则格式化值以科学格式显示,E 或 e 在数字与数字指数之间插入。 右侧的数字占位符数决定了指数中的位数。 使用 E 或e- 在负指数旁边包括减号。 使用 E+e+ 将负指数旁边的减号和正指数旁边的加号包含在负指数旁边。
- + $ ( ) 显示文本字符。

若要显示除列出的字符以外的字符,请在字符前放置反斜杠(\),或将字符括在双引号(“”“) 中。
\ 显示格式字符串中的下一个字符。

若要将具有特殊含义的字符显示为文本字符,请将反斜杠(\)放在字符的前面。 不显示反斜杠本身。 使用反斜杠与将下一个字符括在双引号中相同。 若要显示反斜杠,请使用两个反斜杠(\\)。 不能显示为文本字符的字符示例包括以下字符:

日期格式和时间格式字符-acdhmnpqstwy/

数字格式字符-#0%、Ee逗号句点

字符串格式字符 -@<>
“ABC” 显示双引号 (“ ”) 内的字符串。

在代码中包含格式字符串时,使用 Chr(34)来将文本括住。 (双引号的字符代码为 34

命名数字格式

下表标识预定义的数字格式名称:

格式名称 DESCRIPTION
General Number 显示不含千位分隔符的数字。
Currency 显示具有千位分隔符的数字(如果适用)。 显示小数分隔符右侧的两位数字。 输出基于系统区域设置。
Fixed 在小数点分隔符右侧至少显示一位数字和两位数字。
Standard 显示带千位分隔符的数字,左侧至少有一位数字,小数点分隔符右侧至少有一位数字。
Percent 显示乘以100的数字,并在右侧附加一个百分号(%)。 始终在小数点分隔符右侧显示两位数字。
Scientific 使用标准科学表示法。
Yes/No 如果数字为 0,则显示 No;否则,显示“是”。
True/False 如果数字为 0,则显示 False;否则,显示 True。
On/Off 如果数字为 0,则显示 Off;否则,显示“打开”。

日期值

下表列出可以出现在日期/时间格式字符串中的字符。

字符 DESCRIPTION
: 表示一个时间分隔符,用于在设置时间值的格式时分隔小时、分钟和秒。

用作格式化输出中的时间分隔符的实际字符由计算机的系统设置确定。

注意:在某些区域设置中,其他字符可能用作时间分隔符。
/ 表示日期分隔符,用于在日期值中分隔日、月和年。

用作格式化输出中的日期分隔符的实际字符由计算机的系统设置确定。

注意:在某些区域设置中,其他字符可用于表示日期分隔符
C 按该顺序将日期显示为 ddddd ,并将时间显示为 ttttt

如果日期序列号没有小数部分,则仅显示日期信息。 仅当没有整数部分时显示时间信息。
d 将日期显示为没有前导零的数字(1-31)。
dd 将日期显示为带前导零的数字(01-31)。
DDD 将日期显示为缩写(Sun-Sat)。
dddd 将当天显示成完整名称(Sunday-Saturday)。
ddddd 根据系统的短日期格式设置,将日期显示为完整日期(包括日、月和年)。

对于 Microsoft Windows,默认的短日期格式为 m/d/yy
ddddd 将日期序列号显示为完整日期(包括日、月和年),格式根据计算机系统识别的长日期设置。

对于 Windows,默认的长日期格式为 mmmm dd、yyyyy
w 将星期几显示为数字(星期天为1,星期六为7)。
ww 将年份的一周显示为数字(1-54)。
m 将月份显示为没有前导零的数字(1-12)。

如果 m 紧跟 hhh,则显示分钟而不是月份。
毫米 将月份显示为带前导零的数字(01-12)。

如果 m 紧跟 hhh,则显示分钟而不是月份。
将月份显示为缩写(Jan-Dec)。
将月份显示为完整月份名称(January-December)。
q 将年份的季度显示为数字(1-4)。
y 将一年中的某一天显示为数字(1-366)。
yyy 将年份显示为两位数(00-99)。
yyyyy 将年份显示为四位数(100-9999)。
h 将小时显示为没有前导零的数字(0-23)。
HH 将小时显示为带前导零的数字(00-23)。
n 将分钟显示为没有前导零的数字(0-59)。
nn 将分钟显示为带前导零的数字(00-59)。
s 将第二个显示为没有前导零的数字(0-59)。
ss 将第二个显示为带前导零的数字(00-59)。
t t t t t 使用计算机系统识别的时间格式定义的时间分隔符将时间显示为完整时间(包括小时、分钟和秒)。

如果选择前导零选项,并且时间早于上午或下午周期中的10:00,则会显示前导零。 例如,09:59、

对于 Windows,默认时间格式为 h:mm:ss
AM/PM 显示大写的 AM,用于从午夜到中午的任何小时;显示大写的 PM,用于从中午到午夜的任何小时。

注意:使用 12 小时制。
am/pm 显示小写的 am,适用于从午夜到中午的任何小时;显示小写的 pm,适用于从中午到午夜的任何小时。

注意:使用 12 小时制。
A/P 显示一个大写 A ,其中包含从午夜到中午的任何小时;显示一个大写 P ,其中包含从中午到午夜的任何小时。

注意:使用 12 小时制。
a/p 显示从午夜到中午的任何小时的小写字母 a;显示从中午到午夜的任何小时的小写字母 p

注意:使用 12 小时制。
AMPM 显示计算机系统定义的 AM 字符串,从零点到正午的任何时刻; 显示计算机系统定义的 PM 字符串,从正午到零点的任何时刻。

注意:使用 12 小时制。

AMPM 可以是大写或小写,但显示的字符串的大小写与计算机系统设置中定义的字符串匹配。

对于 Windows,默认格式为 AM/PM

命名的日期格式

下表标识预定义的日期和时间格式名称:

格式名称 DESCRIPTION
General Date 显示日期和时间。 对于实数,显示日期和时间,例如下午 4/3/93 05:34。 如果没有小数部分,则仅显示日期,例如 4/3/93。 如果没有整数部分,则仅显示时间,例如下午 05:34。 日期显示的格式由系统设置确定。
Long Date 根据系统的长日期格式显示日期。
Medium Date 使用适用于主机应用程序语言版本的中等日期格式显示日期。
Short Date 使用系统的短日期格式显示日期。
Long Time 使用系统的长时间格式显示时间,包括小时、分钟和秒。
Medium Time 使用小时和分钟和 AM/PM 设计器以 12 小时格式显示时间。
Short Time 使用 24 小时格式显示时间,例如 17:45。

另请参阅

FORMATED_VALUE上的语言和FORMAT_STRING
使用单元格属性 (MDX)
创建和使用属性值 (MDX)
MDX 查询基础 (Analysis Services)