FORMAT
Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne
Konwertuje value na tekst zgodnie z określonym format.
Składnia
FORMAT(<value>, <format_string>[, <locale_name>])
Parametry
Termin | Definicja |
---|---|
value |
Wyrażenie valueor, które daje w wyniku pojedynczą value. |
format_string |
Ciąg z szablonem formatowania. |
locale_name |
(Opcjonalnie) Nazwa ustawień regionalnych, które mają być używane przez funkcję. Możliwe values to ciągi akceptowane przez funkcję interfejsu API systemu Windows LocaleNameToLCID(). |
Zwracanie value
Ciąg zawierający value
sformatowany zgodnie z definicją format_string
.
Nuta
If
value
jest BLANK, funkcja zwraca pusty ciąg.
If
format_string
jest BLANK, value jest sformatowany przy użyciu or "Liczba ogólna" or "Ogólne Date" format (zgodnie z typem danych value
).
Uwagi
Wstępnie zdefiniowane ciągi format używają właściwości kultury modelu podczas formatowania wyniku. Domyślnie właściwość kultury modelu jest ustawiana zgodnie z ustawieniami regionalnymi użytkownika komputera. W przypadku nowych modeli Power BI Desktop właściwość kultury modelu można zmienić w opcje > ustawienia regionalne > język modelu. W przypadku usług Analysis Services kultura modelu jest ustawiana zgodnie z właściwością Language początkowo zdefiniowaną przez wystąpienie.
Ciągi format obsługiwane jako argument funkcji DAXFORMAT są oparte na ciągach format używanych przez program Visual Basic (OLE Automation), not ciągów format używanych przez program .NET Framework. W związku z tym możesz uzyskać nieoczekiwane wyniki orerrorif argument nie jest zgodny z żadnymi zdefiniowanymi ciągami format. Na przykład "p" jako skrót "Percent" nie jest obsługiwany. Ciągi, które podajesz jako argument funkcji FORMAT, która nie znajduje się na liście wstępnie zdefiniowanych ciągów format, są obsługiwane jako część niestandardowego ciągu format, or jako literał ciągu ciągu.
Aby dowiedzieć się więcej na temat określania ustawień regionalnych przy użyciu FORMAT, zapoznaj się z tym wideo.
Użycie FORMAT zmienia wynik measure na typ danych tekstowych. If wynik measure jest pierwotnie typu danych liczbowych, a następnie z FORMATnie można używać measure w wizualizacjach, w których sekcja values wymaga typu danych liczbowych, na przykład w przypadku wykresów. W usłudze Power BI można również użyć ciągów Dynamic format dla miar, określić ciąg format warunkowy, który utrzymuje typ danych liczbowych measure.
Ta funkcja jest not obsługiwana do użycia w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych or reguł zabezpieczeń na poziomie wiersza.
Przykłady
ciągi Format
= FORMAT( 12345.67, "General Number")
= FORMAT( 12345.67, "Currency")
= FORMAT( 12345.67, "Fixed")
= FORMAT( 12345.67, "Standard")
= FORMAT( 12345.67, "Percent")
= FORMAT( 12345.67, "Scientific")
Zwraca:
12345.67 "Numer ogólny" wyświetla liczbę bez formatowania.
$12,345.67 "Currency" wyświetla liczbę z formatowaniem ustawień regionalnych currency. W tym sample przedstawiono domyślne formatowanie currency Stanów Zjednoczonych.
12345.67 "Fixed" wyświetla co najmniej jedną cyfrę left separatora dziesiętnego and dwóch cyfr right separatora dziesiętnego.
12 345,67 "Standardowa" wyświetla co najmniej jedną cyfrę left separatora dziesiętnego and dwie cyfry do right separatora dziesiętnego, and zawiera separatory tysięcy. W tym sample przedstawiono domyślne formatowanie liczb Stanów Zjednoczonych.
1234 567,00 % "Procent" wyświetla liczbę jako wartość procentową (pomnożona przez 100) z formatowaniem and procentem sign na right liczby rozdzielonej pojedynczą spacją.
1.23E+04 "Scientific" wyświetla liczbę w notacji naukowej z dwiema cyframi dziesiętnymi.
Data/godzina z opcjonalnym locale_name
= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-US" )
= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-GB" )
= FORMAT( dt"2020-12-15T12:30:59", "mm/dd/yyyy", "en-GB" )
Zwraca:
12.15.2020 12:30:59 Gdzie month poprzedza dayandtime to 12-hourformat.
15/12/2020 12:30:59 Gdzie day poprzedza monthandtime to 24-hourformat.
12/15/2020 12:30:59 Gdzie month poprzedza dayandtime to 24-hourformat. Ponieważ określono ciąg format zależny od ustawień regionalnych, ustawienia regionalne są not stosowane and zwracane są format inne niż ustawienia regionalne.
Wstępnie zdefiniowane formaty liczbowe
W argumencie format_string
można określić następujące wstępnie zdefiniowane formaty liczbowe:
Format |
Opis |
---|---|
"General Number" |
Wyświetla liczbę bez separatorów tysięcy. |
"Currency" |
Wyświetla liczbę z separatorami tysięcy, if odpowiednie; wyświetla dwie cyfry right separatora dziesiętnego. Dane wyjściowe są oparte na ustawieniach regionalnych systemu. |
"Fixed" |
Wyświetla co najmniej jedną cyfrę leftand dwóch cyfr right separatora dziesiętnego. |
"Standard" |
Wyświetla liczbę z separatorami tysięcy, co najmniej jedną cyfrę leftand dwie cyfry do right separatora dziesiętnego. |
"Percent" |
Wyświetla liczbę pomnożona przez 100 z procentem sign (%) dołączana natychmiast do right; zawsze wyświetla dwie cyfry do right separatora dziesiętnego. |
"Scientific" |
Używa standardowej notacji naukowej, zapewniając dwie cyfry znaczące. |
"Yes/No" |
Wyświetla liczbę if jest 0; w przeciwnym razie wyświetla wartość Tak. |
"True/False" |
Wyświetla liczbę Falseif jest 0; w przeciwnym razie wyświetla True. |
"On/Off" |
Wyświetla if liczba jest 0; w przeciwnym razie wyświetla wartość Włączone. |
Niestandardowe formaty liczbowe
Niestandardowe wyrażenie format dla liczb może zawierać od jednej do trzech sekcji oddzielonych średnikami. If argument ciągu formatcontains jednym z nazwanych formatów liczbowych, dozwolona jest tylko jedna sekcja.
If używane | Wynik to |
---|---|
Tylko jedna sekcja | Wyrażenie format ma zastosowanie do allvalues. |
Dwie sekcje | Sekcja first ma zastosowanie do dodatnich zer valuesand, second ujemnych values. |
Trzy sekcje | Sekcja first dotyczy dodatnich values, second ujemnych values, and trzeciego do zera. |
"$#,##0;($#,##0)"
If średniki z niczym między nimi nie są uwzględniane, brakująca sekcja jest definiowana przy użyciu format dodatniej value. Na przykład poniższa format wyświetla dodatnie and ujemne values przy użyciu format w sekcji firstand wyświetla wartość "Zero" ifvalue wynosi zero.
"$#,##0"
If dołączysz średniki z niczym między nimi, brakująca sekcja jest wyświetlana przy użyciu format dodatniego value.
Niestandardowe znaki format liczbowe
W argumencie format_string
można określić następujące niestandardowe znaki liczbowe format:
Znak | Opis |
---|---|
None | Wyświetl liczbę bez formatowania. |
(0 ) |
Symbol zastępczy cyfry. Wyświetl cyfrę or zero. If wyrażenie ma cyfrę w pozycji, w której wartość 0 jest wyświetlana w ciągu format, jest wyświetlana; w przeciwnym razie wyświetl zero w tej pozycji.If liczba ma mniej cyfr niż zera (po obu stronach dziesiętnych) w wyrażeniu format wyświetlając wiodące or końcowe zera. If liczba ma więcej cyfr do right separatora dziesiętnego niż zera do right separatora dziesiętnego w wyrażeniu format, round liczbę do tylu miejsc dziesiętnych, ile wynosi zero. If liczba ma więcej cyfr do left separatora dziesiętnego niż zera do left separatora dziesiętnego w wyrażeniu format, wyświetl dodatkowe cyfry bez modyfikacji. |
(# ) |
Symbol zastępczy cyfry. Wyświetl cyfrę or nic. If wyrażenie ma cyfrę w pozycji, w której # pojawia się w ciągu format, wyświetla go; w przeciwnym razie wyświetl nic w tej pozycji. Ten symbol działa podobnie jak symbol zastępczy cyfry 0, except że wiodące and końcowe zera nie są wyświetlane, if liczba ma taką samą or mniejszą liczbę cyfr niż liczba znaków # po obu stronach separatora dziesiętnego w wyrażeniu format. |
(. ) |
Symbol zastępczy dziesiętny. W niektórych ustawieniach regionalnych przecinek jest używany jako separator dziesiętny. Symbol zastępczy dziesiętny określa, ile cyfr jest wyświetlanych leftandright separatora dziesiętnego. If wyrażenie formatcontains tylko znaki liczbowe do left tego symbolu, liczby mniejsze niż 1 zaczynają się separatorem dziesiętnym. Aby wyświetlić zero wiodące wyświetlane z liczbami ułamkowymi, użyj wartości 0 jako symbolu zastępczego cyfry first do left separatora dziesiętnego. Rzeczywisty znak używany jako symbol zastępczy dziesiętny w sformatowanych danych wyjściowych zależy od liczby Format rozpoznawanej przez system. |
(% ) |
Symbol zastępczy procentu. Wyrażenie jest mnożone przez 100. Znak procentu (% ) jest wstawiany w miejscu, w którym pojawia się w ciągu format. |
(, ) |
Separator tysięcy. W niektórych ustawieniach regionalnych kropka jest używana jako separator tysięcy. Separator tysięcy oddziela tysiące od setek w obrębie liczby, która ma cztery or więcej miejsc do left separatora dziesiętnego. Standardowe użycie separatora tysięcy jest określone ifformatcontains separator tysięcy otoczony symbolami zastępczymi cyfr (0 or# ). Dwa sąsiadujące separatory tysięcy or separator tysięcy natychmiast do left separatora dziesiętnego (czy ornot jest określona liczba dziesiętna) oznacza "przeskalowanie liczby przez podzielenie jej przez 1000, zaokrąglanie zgodnie z potrzebami". Na przykład możesz użyć ciągu format "#0", aby reprezentować 100 milionów jako 100. Liczby mniejsze niż 1 milion są wyświetlane jako 0. Dwa sąsiadujące separatory tysięcy w dowolnej pozycji innej niż natychmiast do left separatora dziesiętnego są traktowane po prostu jako określenie użycia separatora tysięcy. Rzeczywisty znak używany jako separator tysięcy w sformatowanych danych wyjściowych zależy od Format Liczba rozpoznawana przez system. |
(: ) |
separator Time. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora time. Separator time oddziela godziny, minuty, and sekundy po sformatowaniu timevalues. Rzeczywisty znak używany jako separator time w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(/ ) |
separator Date. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora date. Separator date oddziela day, month, andyear podczas formatowania datevalues. Rzeczywisty znak używany jako separator date w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(E- E+ e- e+ ) |
formatnaukowe .
If wyrażenie formatcontains co najmniej jeden symbol zastępczy cyfry (0 or# ) do right E-, E+, e-, or e+, liczba jest wyświetlana w formatand naukowych E or e jest wstawiana między liczbą and wykładnikiem. Liczba symboli zastępczych cyfr w right określa liczbę cyfr w wykładnik. Użyj E-or e-, aby umieścić minus signnext do ujemnych wykładników. Użyj E+ or e+, aby umieścić signnext minus do ujemnych wykładników and plus signnext do dodatnich wykładników. |
- + $ ( ) |
Wyświetl znak literału. Aby wyświetlić znak inny niż jeden z wymienionych, poprzedzić go ukośnikiem odwrotnym (\ ) or ująć go w znaki podwójnego cudzysłowu (" "). |
(\\ ) |
Wyświetl znak next w ciągu format. Aby wyświetlić znak, który ma specjalne znaczenie jako znak literału, poprzedzić go ukośnikiem odwrotnym (\ ). Sam ukośnik odwrotny nie jest wyświetlany. Użycie ukośnika odwrotnego jest takie samo jak otaczanie next znakiem podwójnego cudzysłowu. Aby wyświetlić ukośnik odwrotny, użyj dwóch ukośników odwrotnych (\\ ). Przykłady znaków, których nie można wyświetlić jako znaków literału, to date-formatowanie andtime-formatowanie znaków (a, c, d, h, m, n, p, q, s, t, w, y, /, and :), znaki formatowania liczbowego (#, 0, %, E, e, przecinek, and kropka), and znaków formatowania ciągów (@, &, <, >, and !). |
("ABC") | Wyświetl ciąg wewnątrz podwójnych cudzysłowów (" "). |
Wstępnie zdefiniowane formaty date/time
W argumencie format_string
można określić następujące wstępnie zdefiniowane formaty date/time. W przypadku używania formatów innych niż te są interpretowane jako niestandardowe date/timeformat:
Format | Opis |
---|---|
"General Date" |
Wyświetla dateand/ortime. Na przykład 12.03.2008 11:07:31. Date wyświetlanie jest określane przez bieżącą kulturę aplikacji value. |
"Long Date" or "Medium Date" |
Wyświetla date zgodnie z długą dateformatbieżącej kultury. Na przykład środa, 12 marca 2008 r. |
"Short Date" |
Wyświetla date przy użyciu krótkiej dateformatbieżącej kultury. Na przykład 3/12/2008. |
"Long Time" or |
Wyświetla time przy użyciu długiej timeformatbieżącej kultury; zazwyczaj obejmuje godziny, minuty, sekundy. Na przykład 11:07:31. |
"Medium Time" |
Wyświetla time w 12 hourformat. Na przykład 11:07. |
"Short Time" |
Wyświetla time w 24 hourformat. Na przykład 11:07. |
Niestandardowe formaty date/time
Następujące znaki format można określić w format_string
w celu utworzenia niestandardowych formatów date/time:
Znak | Opis |
---|---|
(: ) |
separator Time. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora time. Separator time oddziela godziny, minuty, and sekundy po sformatowaniu timevalues. Rzeczywisty znak używany jako separator time w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(/ ) |
separator Date. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora date. Separator date oddziela day, month, andyear podczas formatowania datevalues. Rzeczywisty znak używany jako separator date w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(\ ) |
Ukośnik odwrotny. Wyświetla znak next jako znak literału. Dlatego not interpretowana jako znak formatowania. |
(" ) |
Podwójny cudzysłów. Zostanie wyświetlony tekst ujęty w cudzysłów podwójnych. Dlatego not interpretowany jako znaki formatowania. |
c |
Wyświetl date, ddddd and wyświetlić time jako ttttt w tej kolejności. Wyświetlaj tylko date informacji, if nie ma części ułamkowej numeru seryjnego date; wyświetlać tylko time informacji, if nie ma części całkowitej. |
d |
Wyświetl day jako liczbę bez zera wiodącego (1–31). |
dd |
Wyświetl day jako liczbę z zerem wiodącym (01–31). |
ddd |
Wyświetl day jako skrót (Sun-Sat). Zlokalizowane. |
dddd |
Wyświetl day jako pełną nazwę (Sunday-Saturday). Zlokalizowane. |
ddddd |
Wyświetl date jako kompletny date (w tym day, month, andyear), sformatowany zgodnie z krótkim ustawieniem dateformat systemu. Domyślna krótka dateformat to mm/dd/yyyy . |
dddddd |
Wyświetl numer seryjny date jako pełny date (w tym day, month, andyear) sformatowany zgodnie z długim ustawieniem date rozpoznawanym przez system. Domyślna długa dateformat to dddd, mmmm d, yyyy . |
w |
Wyświetl day tygodnia jako liczbę (od 1 do 7 w niedzielę do 7 w sobotę). |
ww |
Wyświetl tydzień year jako liczbę (1–54). |
m |
Wyświetl month jako liczbę bez zera wiodącego (1–12).
If
m natychmiast następuje h orhh , minute zamiast month jest wyświetlana. |
mm |
Wyświetl month jako liczbę z zerem wiodącym (01–12).
If
mm natychmiast następuje h orhh , minute zamiast month jest wyświetlana. |
mmm |
Wyświetl month jako skrót (Jan-Dec). Zlokalizowane. |
mmmm |
Wyświetl month jako pełną nazwę month (January-December). Zlokalizowane. |
q |
Wyświetl quarteryear jako liczbę (1–4). |
y |
Wyświetl dayyear jako liczbę (1–366). |
yy |
Wyświetl year jako liczbę 2-cyfrową (00–99). |
yyyy |
Wyświetl year jako liczbę 4-cyfrową (100–9999). |
h |
Wyświetl hour jako liczbę bez zera wiodącego (0–23). |
hh |
Wyświetl hour jako liczbę z zerem wiodącym (00–23). |
n |
Wyświetl minute jako liczbę bez zera wiodącego (0–59). |
nn |
Wyświetl minute jako liczbę z zerem wiodącym (00–59). |
s |
Wyświetl second jako liczbę bez zera wiodącego (0–59). |
ss |
Wyświetl second jako liczbę z zerem wiodącym (00–59). |
ttttt |
Wyświetl time jako kompletny time (w tym hour, minute, andsecond), sformatowany przy użyciu separatora time zdefiniowanego przez timeformat rozpoznawany przez system. Zostanie wyświetlone zero wiodące if wybrana jest opcja zera wiodącego andtime jest przed 10:00 or pm. Domyślna timeformat to h:mm:ss . |
AM/PM |
Użyj zegara 12-hourand wyświetlać wielkie litery AM z dowolnym hour przed południem; wyświetl wielkie litery PM z dowolnymi hour między południem and 11:59 PM. |
am/pm |
Użyj zegara 12-hourand wyświetlać małe litery AM z dowolnym hour przed południem; wyświetl małe litery PM z dowolnymi hour między południem and 11:59 PM. |
A/P |
Użyj zegara 12-hourand wyświetlać wielkie litery A z dowolnymi hour przed południem; wyświetl wielkie litery P z dowolnymi hour między południem and 11:59 PM. |
a/p |
Użyj zegara 12-hourand wyświetlić małe litery A z dowolnym hour przed południem; wyświetl małe litery P z dowolnymi hour między południem and 11:59 PM. |
AMPM |
Użyj zegara 12-hourand wyświetlić literał ciągu AM zgodnie z definicją systemu z dowolnym hour przed południem; wyświetlać literał ciągu PM zgodnie z definicją systemu z dowolnymi hour między południem and 11:59 PM AMPM może być albo wielkie or małe litery, ale wielkość ciągu wyświetlanego pasuje do ciągu zgodnie z ustawieniami systemu. Domyślnym format jest AM/PM. If system jest ustawiony na 24-hour zegar, ciąg jest zwykle ustawiony na pusty ciąg. |
Date/time formatowanie używa ustawień regionalnych bieżącego użytkownika do format ciągu. Rozważmy na przykład date 25 czerwca 2020 r. Po sformatowaniu przy użyciu ciągu format "m/d/rrrr" będzie to:
- Ustawienia regionalne użytkownika to Stany Zjednoczone Ameryki (en-US): "25.06.2020"
- Ustawienia regionalne użytkownika to Niemcy (de-DE): "6.25.2020"
Przykłady niestandardowych date/timeformat
W poniższych przykładach użyto date/time czwartek, 25 czerwca 2020 r., o 1:23:45. Niemcy (de-DE) korzystają z systemu 24-hour. Nie ma odpowiednika am/PM.
Format | Result (en-US) | Result (de-DE) |
---|---|---|
"c" |
06/25/2020 13:23:45 | 25.06.2020 13:23:45 |
"d" |
25 | 25 |
"dd" |
25 | 25 |
"ddd" |
Czw | Robić |
"dddd" |
Czwartek | Donnerstag |
"ddddd" |
06/25/2020 | 25.06.2020 |
"dddddd" |
Czwartek, 25 czerwca 2020 r. | Donnerstag, 25. Juni 2020 |
"w" |
5 | 5 |
"ww" |
26 | 26 |
"m" |
6 | 6 |
"mm" |
06 | 06 |
"mmm" |
Jun | Jun |
"mmmm" |
Czerwiec | Juni |
"q" |
2 | 2 |
"y" |
177 | 177 |
"yy" |
20 | 20 |
"yyyy" |
2020 | 2020 |
"""Year"" yyyy" |
Year 2020 r. | Year 2020 r. |
"yyyy \Qq" |
Kwartał 2020 r. | Kwartał 2020 r. |
"dd/mm/yyyy" |
25/06/2020 | 25.06.2020 |
"mm/dd/yyyy" |
06/25/2020 | 06.25.2020 |
"h:nn:ss" |
13:23:45 | 13:23:45 |
"h:nn:ss AMPM" |
1:23:45 PM | 1:23:45 |
"hh:nn:ss" |
13:23:45 | 13:23:45 |
"hh:nn:ss AMPM" |
1:23:45 | 01:23:45 |
"ttttt" |
13:23:45 | 13:23:45 |
"ttttt AMPM" |
13:23:45 PM | 13:23:45 |
"mm/dd/yyyy hh:nn:ss AMPM" |
25.06.2020 13:23:45 | 6.25.2020 01:23:45 |