Свойства ячеек многомерных выражений — содержимое FORMAT_STRING

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Свойство ячейки FORMAT_STRING используется для форматирования свойства ячейки VALUE , в результате образуется значение свойства ячейки FORMATTED_VALUE . В свойстве ячейки FORMAT_STRING допускаются как строковые, так и числовые исходные значения. Выражение формата применяется к значению, образуя отформатированное значение свойства ячейки FORMATTED_VALUE . В следующих таблицах подробно описан синтаксис и символы форматирования, используемые для обработки строковых и числовых значений.

Строковые значения

Выражение форматирования строк может состоять из одного или двух разделов, отделенных точкой с запятой (;).

Использование Результат
Одна секция Формат распространяется на все строковые значения.
Две секции Первый раздел распространяется на строковые данные, а второй — на значения NULL и строки нулевой длины ("").

В строке форматирования текстовых строк могут использоваться следующие символы.

Знак Описание
@ Текстовый заполнитель: любой символ или пробел. Если в строке в той же позиции, что и знак (@) в строке формата, находится символ, в отформатированной строке будет отображаться этот символ. В противном случае в отформатированной строке на этом месте будет пробел. Заполнители заполняются справа налево, если в строке формата нет восклицательного знака (!).
& Текстовый заполнитель: любой символ или пустое место. Если в строке в той же позиции, что и знак амперсанда (&) в строке формата, находится символ, в отформатированной строке будет отображаться этот символ. В противном случае в отформатированной строке на этом месте не будет ничего. Заполнители заполняются справа налево, если в строке формата нет восклицательного знака (!).
< Принудительный перевод в нижний регистр. В отформатированной строке все символы будут в нижнем регистре.
> Принудительный перевод в верхний регистр. В отформатированной строке все символы будут в верхнем регистре.
! Принудительное заполнение заполнителей слева направо (по умолчанию — справа налево).

Числовые значения

Пользовательское выражение форматирования чисел может включать в себя от одного до четырех разделов, разделенных точками с запятой. Если аргумент формата содержит один из именованных числовых форматов, допускается использование только одного раздела.

Использование Результат
Одна секция Формат распространяется на все значения.
Две секции Первый раздел распространяется на неотрицательные значения, а второй — на отрицательные.
Три секции Первый раздел распространяется на положительные значения, второй — на отрицательные, третий — на нулевые.
Четыре раздела Первый раздел распространяется на положительные значения, второй — на отрицательные, третий — на нулевые, четвертый — на значения NULL.

В следующем примере имеется два раздела. В первом разделе определяется формат неотрицательных значений, во втором — отрицательных.

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

Если в выражении формата встречаются точки с запятыми, между которыми ничего нет, пропущенный раздел выводится в формате положительного значения. Например, в следующем выражении формата положительные и отрицательные значения форматируются в первом разделе, а для нулевых значений выводится «Ноль».

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

В строке форматирования числовых значений могут использоваться следующие символы.

Знак Описание
Нет Вывод числа без форматирования.
0 Цифровой заполнитель: цифра или ноль (0).

Если в числе в той же позиции, что и ноль в строке формата, находится цифра, в отформатированной строке будет отображаться эта цифра. В противном случае в отформатированном числе на этом месте будет ноль.

Если число имеет меньше разрядов, чем нулей в строке формата (с обеих сторон от десятичного разделителя), отформатированное число выводится с начальными либо конечными нулями.

Если число имеет больше разрядов справа от десятичного разделителя, чем нулей справа от десятичного разделителя в строке формата, отформатированное значение округляется до стольких знаков после запятой, сколько нулей в строке формата.

Если число имеет больше цифр слева от десятичного разделителя, чем нулей слева от десятичного разделителя в строке формата, в отформатированном значении дополнительные разряды выводятся без изменений.
# Цифровой заполнитель: цифра или пустое место.

Если в числе в той же позиции, что и символ решетки (#) в строке формата, находится цифра, в отформатированной строке будет отображаться эта цифра. В противном случае в отформатированном числе на этом месте не будет ничего.

Заполнитель "решетка" (#) аналогичен цифровому заполнителю "ноль" (0) с той разницей, что начальные и конечные нули не отображаются в случае, если число содержит столько же или меньше разрядов, чем "решеток" # с обеих сторон от десятичного разделителя в строке формата.
. Десятичный заполнитель, определяющий, сколько разрядов отображается слева и справа от десятичного разделителя.

Если выражение формата содержит символы решетки (#) только слева от точки (.), числа меньше 1 начинаются с десятичного разделителя. Чтобы в этом случае в дробных числах отображался начальный ноль, в качестве первого цифрового заполнителя слева от десятичного разделителя укажите ноль (0) в строке формата.

Фактический символ, используемый в качестве десятичного заполнителя в отформатированном значении, зависит от числового формата, распознаваемого системой.

Важно! В некоторых языковых стандартах в качестве десятичного разделителя используется запятая.
% Процентный заполнитель. Выражение умножается на 100. Символ процента (%) вставляется там, где процент выводится в строке форматирования.
, Разделитель групп разрядов, отделяющий тысячи от сотен в числе с четырьмя или более разрядами слева от десятичного разделителя.

При стандартном использовании разделителя групп разрядов он заключается в цифровые заполнители (0 или #).

Два смежных разделителя разрядов или разделитель разрядов непосредственно слева от десятичного разделителя (независимо от того, указан ли десятичный разделитель), означает "масштабирование числа путем деления числа на 1000, округления по мере необходимости". Например, можно использовать строку формата "##0", чтобы представить 100 миллионов как 100. Числа меньше одного миллиона отображаются как 0. Два идущих подряд разделителя групп разрядов в любой позиции, кроме позиции непосредственно слева от десятичного разделителя, интерпретируются просто как разделители групп разрядов.

Фактический символ, используемый в качестве разделителя групп разрядов в отформатированном значении, зависит от числового формата, распознаваемого системой.

Важно! В некоторых языковых стандартах в качестве разделителя групп разрядов используется точка.
: Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени.

Важно! В некоторых языковых стандартах в качестве разделителя времени могут использоваться другие символы.

Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы.
/ Разделитель дат, разделяющий день, месяц и год при форматировании значений данных.

Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы.

Важно! В некоторых языковых стандартах в качестве разделителя дат могут использоваться другие символы.
E- E+ e- e+ Экспоненциальный формат.

Если выражение формата содержит минимум один цифровой заполнитель (0 или #) справа от символов E-, E+, e-или e+, отформатированное значение отображается в экспоненциальном формате, а между числом и его показателем степени вставляется символ "E" или "e". Число заполнителей цифр справа определяет количество цифр в показателе степени. Для вывода отрицательных показателей степени со знаком "минус" используется E- или e- . Для вывода отрицательных показателей степени со знаком "минус" и положительных со знаком "плюс" используйте E+ или e+ .
- + $ ( ) Буквенный символ.

Чтобы отобразить символ, отличный от одного из перечисленных, поместите обратную косую черту (\) перед символом или заключите его в двойные кавычки (" ").
\ Следующий символ в строке формата.

Чтобы вывести специальный символ в качестве обычного буквенного символа, укажите перед ним обратную косую черту (\). Сама обратная косая черта не отображается. Использование обратной косой черты аналогично заключению выводимого символа в двойные кавычки. Чтобы отобразить обратную косую черту, используйте две обратные косые черты (\\). К символам, которые не выводятся в буквенном виде, относятся следующие:



Символы форматирования даты и времени a,c, d, h, m, n, p, q, s, t, w, y, /и :

Числовое форматирование символов-#, 0, %, E, e, запятой и точки

Символы форматирования строки,@&, <, >и !
"ABC" Отображает строку в двойных кавычках (" ").

Для добавления строки в выражение формата в тексте программы используется функция Chr(34), заключающая текст в кавычки ( 34— код символа двойной кавычки).

Именованные числовые форматы

В следующей таблице перечислены имена стандартных числовых форматов.

Название формата Описание
General Number Отображает число без разделителя групп разрядов.
Currency Отображает число с разделителем групп разрядов, если необходимо. Отображает две цифры справа от десятичного разделителя. Вывод основан на параметрах локали системы.
Fixed Отображает не менее одной цифры слева и две цифры справа от десятичного разделителя.
Standard Отображает число с разделителем групп разрядов, не менее одной цифры слева и две цифра справа от десятичного разделителя.
Percent Отображает число, умноженное на 100 с добавлением справа символа процента (%). Всегда отображает две цифры справа от десятичного разделителя.
Scientific Использует стандартное экспоненциальное представление.
Yes/No Отображает «Нет», если число равно 0; в противном случае — «Да».
True/False Отображает «False», если число равно 0; в противном случае — «True».
On/Off Отображает «Выкл», если число равно 0; в противном случае — «Вкл».

Значения даты

В строке форматирования значений даты и времени могут использоваться следующие символы.

Знак Описание
: Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени.

Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы.

Важно! В некоторых языковых стандартах в качестве разделителя времени могут использоваться другие символы.
/ Разделитель дат, разделяющий день, месяц и год при форматировании значений данных.

Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы.

Важно! В некоторых языковых стандартах в качестве разделителя компонентов даты могут использоваться другие символы.
C Вывод даты в формате ддддд и времени в формате вввввименно в этом порядке.

Если в числе даты нет дробной части, выводятся только сведения о дате. Если в числе даты нет целой части, выводятся только сведения о времени.
d Отображает день в виде числа без нуля в начале (1–31).
dd Отображает день в виде числа с нулем в начале (01–31).
ddd Отображает день в виде аббревиационного обозначения (вс-сб).
dddd Отображает день в виде полного имени (с воскресенья по субботу).
ддддд Вывод полной даты (включая день, месяц и год), отформатированной в соответствии с системным сокращенным форматом даты.

В Microsoft Windows по умолчанию используется следующий сокращенный формат даты: д/м/гг.
dddddd Вывод числа даты в виде полной даты (включая день, месяц и год), отформатированной в соответствии с системным форматом полной даты.

В Microsoft Windows по умолчанию используется следующий формат полной даты: дд мммм, гггг.
w Вывод номера дня недели (от 1 — понедельник, до 7 — воскресенье).
Ww Отображает неделю года в виде числа (1–54).
m Отображает месяц в виде числа без нуля в начале (1–12).

Если м следует сразу за ч или чч, выводятся минуты, а не месяц.
мм Отображает месяц в виде числа с нулем в начале (01–12).

Если м следует сразу за ч или чч, выводятся минуты, а не месяц.
mmm Отображает месяц в виде сокращения (январь-декабрь).
mmmm Отображает месяц в виде полного названия месяца (январь-декабрь).
Q Отображает квартал года в виде числа (1–4).
y Отображает день года в виде числа (1–366).
yy Отображает год в виде двузначного числа (00–99).
yyyy Отображает год в виде четырехзначного числа (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.

В Microsoft Windows по умолчанию используется следующий формат времени: ч:мм:сс.
AM/PM Вывод заглавных букв AM при выводе времени с полуночи до полудня и PM при выводе времени с полудня до полуночи.

Важно! Используется 12-часовой формат времени.
am/pm Отображение строчных букв am при выводе времени с полуночи до полудня и pm при выводе времени с полудня до полуночи.

Важно! Используется 12-часовой формат времени.
A/P Отображение заглавных букв A при выводе времени с полуночи до полудня и P при выводе времени с полудня до полуночи.

Важно! Используется 12-часовой формат времени.
a/p Отображение строчных букв a при выводе времени с полуночи до полудня и p при выводе времени с полудня до полуночи.

Важно! Используется 12-часовой формат времени.
AMPM Вывод строкового литерала, определенного в системе для вывода времени до полудня, при выводе времени с полуночи до полудня, и строкового литерала, определенного в системе для вывода времени после полудня, при выводе времени с полудня до полуночи.

Литералы времениAMPM можно указать как в верхнем, так и в нижнем регистре, однако регистр при выводе строки определяется системными настройками компьютера.

В Microsoft Windows по умолчанию используется формат AM/PM.

Важно! Используется 12-часовой формат времени.

Именованные форматы даты

В следующей таблице приведены стандартные имена форматов даты и времени.

Название формата Описание
General Date Отображает дату и/или время. Для действительных чисел отображает дату и время, например 03.04.1993, 17:34. При отсутствии дробной части отображается только дата, например 03.04.1993. При отсутствии целой части отображается только время, например 17:34. Формат отображения данных определяется настройками системы.
Long Date Отображает дату в длинном формате системы.
Medium Date Отображает дату в среднем формате, подходящем для языковой версии приложения.
Short Date Отображает дату в кратком формате системы.
Long Time Отображает время в длинном формате системы, включая часы, минуты и секунды.
Medium Time Отображает время в 12-часовом формате (часы, минуты и указатель AM/PM).
Short Time Отображает время в 24-часовом формате, например 17:45.

См. также:

ЯЗЫК и FORMAT_STRING в FORMATTED_VALUE
Свойства ячеек (многомерные выражения)
Создание и использование значений свойств (многомерные выражения)
Основные принципы запросов многомерных выражений (службы Analysis Services)