FORMAT
Dotyczy: Obliczanie kolumny obliczeniowej tabeli Obliczeniowej Obliczenie wizualizacji
Konwertuje wartość na tekst zgodnie z określonym formatem.
Składnia
FORMAT(<value>, <format_string>[, <locale_name>])
Parametry
Termin | Definicja |
---|---|
wartość | Wartość lub wyrażenie, które daje w wyniku pojedynczą wartość. |
format_string | Ciąg z szablonem formatowania. |
locale_name | (Opcjonalnie) Nazwa ustawień regionalnych, które mają być używane przez funkcję. Możliwe wartości to ciągi akceptowane przez funkcję interfejsu API systemu Windows LocaleNameToLCID(). |
Wartość zwracana
Ciąg zawierający wartość sformatowaną zgodnie z definicją format_string.
Uwaga
Jeśli wartość jest PUSTA, funkcja zwraca pusty ciąg.
Jeśli format_string jest PUSTA, wartość jest formatowana przy użyciu formatu "Liczba ogólna" lub "Data ogólna" (zgodnie z typem danych wartości ).
Uwagi
Wstępnie zdefiniowane ciągi formatu 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 programu Power BI Desktop właściwość kultury modelu można zmienić w obszarze Opcje > regionalne ustawienia > języka 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 formatu obsługiwane jako argument funkcji FORMAT języka DAX są oparte na ciągach formatu używanych przez program Visual Basic (AUTOMATYZACJa OLE), a nie na ciągach formatu używanych przez program .NET Framework. W związku z tym może zostać wyświetlony nieoczekiwany wynik lub błąd, jeśli argument nie pasuje do żadnych zdefiniowanych ciągów formatu. Na przykład "p" jako skrót "Percent" nie jest obsługiwany. Ciągi podane jako argument funkcji FORMAT, które nie są uwzględnione na liście wstępnie zdefiniowanych ciągów formatu, są obsługiwane jako część niestandardowego ciągu formatu lub jako literał ciągu ciągu.
Aby dowiedzieć się więcej na temat określania ustawień regionalnych za pomocą formatu, zapoznaj się z tym filmem wideo.
Użycie formatu powoduje zmianę wyniku miary na typ danych tekstowych. Jeśli wynik miary jest pierwotnie liczbowym typem danych, wówczas z formatem miara nie może być używana w wizualizacjach, w których sekcja wartości wymaga liczbowego typu danych, na przykład w przypadku wykresów. W usłudze Power BI można również używać ciągów formatu dynamicznego dla miar , określając ciąg formatu warunkowego, który utrzymuje typ danych liczbowych miary.
Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.
Przykłady
Formatowanie ciągów
= 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 "Waluta" wyświetla liczbę z formatowaniem ustawień regionalnych waluty. W tym przykładzie przedstawiono domyślne formatowanie waluty Stany Zjednoczone.
12345.67 "Naprawiono" wyświetla co najmniej jedną cyfrę z lewej strony separatora dziesiętnego i dwie cyfry po prawej stronie separatora dziesiętnego.
12.345.67 "Standardowa" wyświetla co najmniej jedną cyfrę z lewej strony separatora dziesiętnego i dwie cyfry z prawej strony separatora dziesiętnego i zawiera separatory tysięcy. W tym przykładzie przedstawiono domyślne formatowanie Stany Zjednoczone liczb.
1 234 567,00 % "Procent" wyświetla liczbę jako wartość procentową (pomnożona przez 100) z formatowaniem i znakiem procentu po prawej stronie liczby oddzielonej 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 Pm Gdzie miesiąc poprzedza dzień i godzinę jest formatem 12-godzinnym.
15/12/2020 12:30:59 Gdzie dzień poprzedza miesiąc i czas to format 24-godzinny.
12/15/2020 12:30:59 Gdzie miesiąc poprzedza dzień i godzina jest formatem 24-godzinnym. Ponieważ określono ciąg formatu zależnego od ustawień regionalnych, ustawienia regionalne nie są stosowane i zwracany jest format inny 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, jeśli jest to konieczne; Wyświetla dwie cyfry po prawej stronie separatora dziesiętnego. Dane wyjściowe są oparte na ustawieniach regionalnych systemu. |
"Fixed" |
Wyświetla co najmniej jedną cyfrę z lewej i dwie cyfry po prawej stronie separatora dziesiętnego. |
"Standard" |
Wyświetla liczbę z separatorami tysięcy, co najmniej jedną cyfrę po lewej stronie i dwie cyfry po prawej stronie separatora dziesiętnego. |
"Percent" |
Wyświetla liczbę pomnożona przez 100 z znakiem procentowym (%) dołączonym natychmiast po prawej stronie; zawsze wyświetla dwie cyfry po prawej stronie separatora dziesiętnego. |
"Scientific" |
Używa standardowej notacji naukowej, zapewniając dwie cyfry znaczące. |
"Yes/No" |
Wyświetla wartość Nie, jeśli liczba to 0; w przeciwnym razie wyświetla wartość Tak. |
"True/False" |
Wyświetla wartość False, jeśli liczba to 0; w przeciwnym razie wyświetla wartość True. |
"On/Off" |
Wyświetla wartość Wyłączone, jeśli liczba ma wartość 0; w przeciwnym razie wyświetla wartość Włączone. |
Niestandardowe formaty liczbowe
Wyrażenie formatu niestandardowego dla liczb może zawierać od jednej do trzech sekcji oddzielonych średnikami. Jeśli argument ciągu formatu zawiera jeden z nazwanych formatów liczbowych, dozwolona jest tylko jedna sekcja.
Jeśli używasz | Wynik to |
---|---|
Tylko jedna sekcja | Wyrażenie formatu ma zastosowanie do wszystkich wartości. |
Dwie sekcje | Pierwsza sekcja dotyczy wartości dodatnich i zer, drugi do wartości ujemnych. |
Trzy sekcje | Pierwsza sekcja dotyczy wartości dodatnich, drugiej do wartości ujemnych i trzeciej do zer. |
"$#,##0;($#,##0)"
Jeśli dołączysz średniki z niczym między nimi, brakująca sekcja zostanie zdefiniowana przy użyciu formatu wartości dodatniej. Na przykład poniższy format wyświetla wartości dodatnie i ujemne przy użyciu formatu w pierwszej sekcji i wyświetla wartość "Zero", jeśli wartość jest równa zero.
"$#,##0"
Jeśli dołączysz średniki z niczym między nimi, brakująca sekcja zostanie wyświetlona przy użyciu formatu wartości dodatniej.
Niestandardowe znaki formatu liczbowego
W argumencie format_string można określić następujące niestandardowe znaki formatu liczbowego:
Znak | Opis |
---|---|
None | Wyświetl liczbę bez formatowania. |
(0) | Symbol zastępczy cyfry. Wyświetl cyfrę lub zero. Jeśli wyrażenie ma cyfrę w pozycji, w której wartość 0 jest wyświetlana w ciągu formatu, wyświetl je; w przeciwnym razie wyświetl zero w tej pozycji. Jeśli liczba ma mniej cyfr niż zera (po obu stronach dziesiętnych) w wyrażeniu formatu, wyświetl zera wiodące lub końcowe. Jeśli liczba ma więcej cyfr po prawej stronie separatora dziesiętnego niż zera z prawej strony separatora dziesiętnego w wyrażeniu formatu, zaokrąglij liczbę do tylu miejsc dziesiętnych, ile ma zero. Jeśli liczba ma więcej cyfr po lewej stronie separatora dziesiętnego niż zera z lewej strony separatora dziesiętnego w wyrażeniu formatu, wyświetl dodatkowe cyfry bez modyfikacji. |
(#) | Symbol zastępczy cyfry. Wyświetl cyfrę lub nic. Jeśli wyrażenie ma cyfrę w pozycji, w której # pojawia się w ciągu formatu, wyświetl je; w przeciwnym razie wyświetl nic w tej pozycji. Ten symbol działa podobnie jak symbol zastępczy cyfry 0, z tą różnicą, że zera wiodące i końcowe nie są wyświetlane, jeśli liczba ma tę samą lub mniejszą liczbę cyfr niż znaki # po obu stronach separatora dziesiętnego w wyrażeniu formatu. |
(.) | 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 po lewej i prawej stronie separatora dziesiętnego. Jeśli wyrażenie formatu zawiera tylko znaki liczbowe po lewej stronie 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 pierwszego symbolu zastępczego cyfry po lewej stronie separatora dziesiętnego. Rzeczywisty znak używany jako symbol zastępczy dziesiętny w sformatowanych danych wyjściowych zależy od formatu liczbowego rozpoznawanego przez system. |
(%) | Symbol zastępczy procentu. Wyrażenie jest mnożone przez 100. Znak procentu (%) jest wstawiany w miejscu, w którym jest wyświetlany w ciągu formatu. |
(,) | 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 lub więcej miejsc po lewej stronie separatora dziesiętnego. Standardowe użycie separatora tysięcy jest określone, jeśli format zawiera separator tysięcy otoczony symbolami zastępczymi cyfr (0 lub #). Dwa sąsiadujące separatory tysięcy lub separator tysięcy natychmiast po lewej stronie separatora dziesiętnego (bez względu na to, czy określono liczbę dziesiętną) oznacza "przeskalowanie liczby przez podzielenie jej przez 1000, zaokrąglanie zgodnie z potrzebami". Na przykład możesz użyć ciągu formatu "##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 po lewej stronie 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 formatu liczbowego rozpoznawanego przez system. |
(:) | Separator czasu. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora czasu. Separator czasu oddziela godziny, minuty i sekundy, gdy wartości czasu są sformatowane. Rzeczywisty znak używany jako separator czasu w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(/) | Separator daty. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora dat. Separator daty oddziela dzień, miesiąc i rok, gdy wartości daty są sformatowane. Rzeczywisty znak używany jako separator daty w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(E- E+ e- e+) | Format naukowy. Jeśli wyrażenie formatu zawiera co najmniej jeden symbol zastępczy cyfry (0 lub #) z prawej strony E-, E+, e-lub e+, liczba jest wyświetlana w formacie naukowym, a wartość E lub e jest wstawiana między liczbą a wykładnikiem. Liczba symboli zastępczych cyfr po prawej stronie określa liczbę cyfr w wykładnik. Użyj znaku E- lub e-, aby umieścić znak minus obok wykładników ujemnych. Użyj E+ lub e+, aby umieścić znak minus obok wykładników ujemnych i znak plus obok dodatnich wykładników. |
- + $ ( ) | Wyświetl znak literału. Aby wyświetlić znak inny niż jeden z wymienionych, poprzedzić go ukośnikiem odwrotnym (\ ) lub ująć go w podwójny cudzysłów (" "). |
(\) | Wyświetl następny znak w ciągu formatu. 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 następnego znaku w podwójnym cudzysłowie. 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 znaki literału, to znaki formatowania dat i formatowania czasu (a, c, d, h, m, n, p, q, s, t, w, y, /, i :), znaki formatowania liczbowego (#, 0, %, E, e, przecinek i kropka) oraz znaki formatowania ciągów (@, & <, , >i !). |
("ABC") | Wyświetl ciąg wewnątrz podwójnych cudzysłowów (" "). |
Wstępnie zdefiniowane formaty daty/godziny
Następujące wstępnie zdefiniowane formaty daty/godziny można określić w argumencie format_string . W przypadku korzystania z formatów innych niż te są interpretowane jako niestandardowy format daty/godziny:
Format | opis |
---|---|
"General Date" |
Wyświetla datę i/lub godzinę. Na przykład 12.03.2008 11:07:31. Wyświetlanie daty jest określane przez bieżącą wartość kultury aplikacji. |
"Long Date" lub "Medium Date" |
Wyświetla datę zgodnie z formatem daty długiej bieżącej kultury. Na przykład środa, 12 marca 2008 r. |
"Short Date" |
Wyświetla datę przy użyciu formatu daty krótkiej bieżącej kultury. Na przykład 3/12/2008. |
"Long Time" lub |
Wyświetla czas przy użyciu formatu długiego czasu bieżącej kultury; zazwyczaj obejmuje godziny, minuty, sekundy. Na przykład 11:07:31. |
"Medium Time" |
Wyświetla czas w formacie 12 godzin. Na przykład 11:07. |
"Short Time" |
Wyświetla czas w formacie 24 godziny. Na przykład 11:07. |
Niestandardowe formaty daty/godziny
W format_string można określić następujące znaki formatu, aby utworzyć niestandardowe formaty daty/godziny:
Znak | opis |
---|---|
(:) | Separator czasu. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora czasu. Separator czasu oddziela godziny, minuty i sekundy, gdy wartości czasu są sformatowane. Rzeczywisty znak używany jako separator czasu w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(/) | Separator daty. W niektórych ustawieniach regionalnych inne znaki mogą być używane do reprezentowania separatora dat. Separator daty oddziela dzień, miesiąc i rok, gdy wartości daty są sformatowane. Rzeczywisty znak używany jako separator daty w sformatowanych danych wyjściowych jest określany przez ustawienia systemowe. |
(\) | Ukośnik odwrotny. Wyświetla następny znak jako znak literału. Tak więc nie jest interpretowany jako znak formatowania. |
(") | Podwójny cudzysłów. Zostanie wyświetlony tekst ujęty w cudzysłów podwójnych. Nie jest więc interpretowany jako znaki formatowania. |
c | Wyświetl datę jako ddddd i wyświetl godzinę jako ttttt , w tej kolejności. Wyświetlaj tylko informacje o dacie, jeśli nie ma części ułamkowej do numeru seryjnego daty; wyświetlać tylko informacje o czasie, jeśli nie ma części całkowitej. |
d | Wyświetl dzień jako liczbę bez zera wiodącego (1–31). |
dd | Wyświetl dzień jako liczbę z zerem wiodącym (01–31). |
ddd | Wyświetl dzień jako skrót (Sun-Sat). Zlokalizowane. |
dddd | Wyświetl dzień jako pełną nazwę (niedziela-sobota). Zlokalizowane. |
dddddd | Wyświetl datę jako datę kompletną (w tym dzień, miesiąc i rok), sformatowaną zgodnie z ustawieniem formatu daty krótkiej systemu. Domyślny format daty krótkiej to mm/dd/yyyy . |
ddddddd | Wyświetl numer seryjny daty jako pełną datę (w tym dzień, miesiąc i rok) sformatowaną zgodnie z ustawieniem daty długiej rozpoznawanym przez system. Domyślny format daty długiej to dddd, mmmm d, yyyy . |
w | Wyświetl dzień tygodnia jako liczbę (od 1 do niedzieli do 7 w sobotę). |
ww | Wyświetl tydzień roku jako liczbę (1–54). |
m | Wyświetl miesiąc jako liczbę bez zera wiodącego (1–12). Jeśli m natychmiast następuje h wartość lub hh , zostanie wyświetlona minuta, a nie miesiąc. |
mm | Wyświetl miesiąc jako liczbę z zerem wiodącym (01–12). Jeśli mm natychmiast następuje h wartość lub hh , zostanie wyświetlona minuta, a nie miesiąc. |
mmm | Wyświetl miesiąc jako skrót (Jan-Dec). Zlokalizowane. |
mmmm | Wyświetl miesiąc jako pełną nazwę miesiąca (styczeń–grudzień). Zlokalizowane. |
q | Wyświetl kwartał roku jako liczbę (1–4). |
t | Wyświetl dzień roku jako liczbę (1–366). |
yy | Wyświetl rok jako liczbę 2-cyfrową (00–99). |
yyyy | Wyświetl rok jako liczbę 4-cyfrową (100–9999). |
h | Wyświetl godzinę jako liczbę bez zera wiodącego (0–23). |
hh | Wyświetl godzinę jako liczbę z zerem wiodącym (00–23). |
n | Wyświetl minutę jako liczbę bez zera wiodącego (0–59). |
nn | Wyświetl minutę jako liczbę z zerem wiodącym (00–59). |
s | Wyświetl sekundę jako liczbę bez zera wiodącego (0–59). |
ss | Wyświetl sekundę jako liczbę z zerem wiodącym (00–59). |
ttttt | Wyświetla czas jako pełny czas (w tym godzinę, minutę i sekundę) sformatowany przy użyciu separatora czasu zdefiniowanego przez format czasu rozpoznawany przez system. W przypadku wybrania opcji zera wiodącego jest wyświetlana wartość zero wiodącej, a godzina jest wcześniejsza niż 10:00 lub pm. Domyślny format czasu to h:mm:ss . |
AM/PM | Użyj zegara 12-godzinnego i wyświetl wielkie litery AM z dowolną godziną przed południem; wyświetl wielkie litery PM z dowolną godziną między południem a 11:59 PM. |
am/pm | Użyj zegara 12-godzinnego i wyświetl małe litery AM z dowolną godziną przed południem; wyświetl małe litery PM z dowolną godziną między południem a 11:59 PM. |
A/P | Użyj zegara 12-godzinnego i wyświetl wielkie litery A z dowolną godziną przed południem; wyświetla wielkie litery P z dowolną godziną między południem a 11:59 pm. |
a/p | Użyj zegara 12-godzinnego i wyświetl małe litery A z dowolną godziną przed południem; wyświetla małe litery P z dowolną godziną między południem a 11:59 pm. |
AMPM | Użyj zegara 12-godzinnego i wyświetl literał ciągu AM zgodnie z definicją systemu z dowolną godziną przed południem; wyświetlać literał ciągu PM zgodnie z definicją systemu z dowolną godziną między południem a 11:59 PM AMPM może być wielkie lub małe litery, ale wielkość wyświetlanego ciągu pasuje do ciągu zdefiniowanego przez ustawienia systemu. Domyślny format to AM/PM. Jeśli system jest ustawiony na 24-godzinny zegar, ciąg jest zwykle ustawiony na pusty ciąg. |
Formatowanie daty/godziny używa ustawień regionalnych bieżącego użytkownika do formatowania ciągu. Rozważmy na przykład datę 25 czerwca 2020 r. Po sformatowaniu przy użyciu ciągu formatu "m/d/rrrr" będzie to:
- Ustawienia regionalne użytkownika są Stany Zjednoczone Ameryki (en-US): "25.06.2020"
- Ustawienia regionalne użytkownika to Niemcy (de-DE): "6.25.2020"
Przykłady niestandardowego formatu daty/godziny
W poniższych przykładach użyto daty/godziny czwartek, 25 czerwca 2020 r., o godzinie 1:23:45. Niemcy (de-DE) korzystają z 24-godzinnego systemu. Nie ma odpowiednika am/PM.
Formatuj | Wynik (en-US) | Wynik (de-DE) |
---|---|---|
"c" |
06/25/2020 13:23:45 | 25.06.2020 13:23:45 |
"d" |
25 | 25 |
"dd" |
25 | 25 |
"ddd" |
Czw | Zalecenia |
"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" |
6 | 6 |
"mmm" |
Cze | Cze |
"mmmm" |
czerwiec | Juni |
"q" |
2 | 2 |
"y" |
177 | 177 |
"yy" |
20 | 20 |
"yyyy" |
2020 | 2020 |
"""Year"" yyyy" |
Rok 2020 | Rok 2020 |
"yyyy \Qq" |
Kwartał 2020 r. | Kwartał 2020 r. |
"dd/mm/yyyy" |
2020-06-25 | 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 |