FORMAT
platí pro:počítaný sloupecPočítaná tabulkaMeasure vizuálu
Převede value na text podle zadaného format.
Syntax
FORMAT(<value>, <format_string>[, <locale_name>])
Parametry
Semestr | Definice |
---|---|
value |
Výraz valueor, který se vyhodnotí jako jeden value. |
format_string |
Řetězec se šablonou formátování |
locale_name |
(Volitelné) Název národního prostředí, které má funkce používat. Možné values jsou řetězce přijaté funkcí rozhraní API systému Windows LocaleNameToLCID(). |
Vrácení value
Řetězec obsahující value
formátovaný podle definice format_string
.
Poznámka
If
value
je BLANK, vrátí funkce prázdný řetězec.
If
format_string
je BLANK, value je formátován or "Obecné číslo" or "Obecné Date" format (podle value
datového typu).
Poznámky
Předdefinované format řetězce používají vlastnost jazykové verze modelu při formátování výsledku. Ve výchozím nastavení je vlastnost jazykové verze modelu nastavena podle národního prostředí uživatele počítače. U nových modelů Power BI Desktop je možné změnit vlastnost jazykové verze modelu v jazyce Možnosti > místní nastavení > model. Pro Analysis Services je jazyková verze modelu nastavena podle vlastnosti Language původně definované instancí.
Řetězce format podporované jako argument funkce DAXFORMAT jsou založeny na format řetězcích používaných jazykem Visual Basic (automatizace OLE), not na format řetězcích používaných rozhraním .NET Framework. Proto může dojít k neočekávaným výsledkům orerrorif argumentu neodpovídají žádným definovaným format řetězcům. Například "p" jako zkratka pro "Percent" není podporována. Řetězce, které zadáte jako argument pro funkci FORMAT, které nejsou zahrnuty do seznamu předdefinovaných řetězců format, se zpracovávají jako součást vlastního řetězce format, or jako řetězcový literál.
Další informace o určení národního prostředí pomocí FORMATnajdete v tomto videu.
Použití FORMAT změní výsledek measure na textový datový typ. If výsledek measure je původně číselný datový typ, pak FORMAT, measure nelze použít ve vizuálech, ve kterých oddíl values vyžaduje číselný datový typ, například s grafy. V Power BI můžete alternativně použít dynamické řetězce format pro míry zadat podmíněný format řetězec, který udržuje číselný datový typ measure.
Tato funkce je not podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích or pravidla zabezpečení na úrovni řádků (RLS).
Příklady
řetězce 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")
Návraty:
12345,67 "Obecné číslo" zobrazí číslo bez formátování.
12 345,67 KČ "Currency" zobrazí číslo s formátováním národního prostředí currency. V tomto sample se zobrazí výchozí formátování currency USA.
12345,67 "Fixed" zobrazí alespoň jednu číslici left oddělovače desetinných míst and dvě číslice right oddělovače desetinných míst.
12 345,67 "Standardní" zobrazí alespoň jednu číslici left oddělovače desetinných míst and dvě číslice right oddělovače desetinných míst, and obsahuje oddělovače tisíců. V tomto sample se zobrazí výchozí formátování čísel v USA.
1 234 567,00 % "Procento" zobrazí číslo jako procento (vynásobené číslem 100) formátováním and procent sign na right čísla odděleného jedním mezerou.
1,23E+04 "Vědecké" zobrazí číslo ve vědeckém zápisu se dvěma desetinnými číslicemi.
Datetime s volitelnými 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" )
Návraty:
12.15.2020 12:30:59 Kde month předchází dayandtime je 12-hourformat.
15.12.2020 12:30:59 Kde day předchází monthandtime je 24-hourformat.
12.15.2020 12:30:59 Kde month předchází dayandtime je 24-hourformat. Vzhledem k tomu, že je zadaný jiný než národní prostředí závislý format řetězec, je národní prostředí not použito andformat bez národního prostředí.
Předdefinované číselné formáty
V argumentu format_string
lze zadat následující předdefinované číselné formáty:
Format |
Popis |
---|---|
"General Number" |
Zobrazí číslo bez oddělovačů tisíců. |
"Currency" |
Zobrazí číslo s oddělovači tisíců, if odpovídající; zobrazí dvě číslice right oddělovače desetinných míst. Výstup je založený na nastavení národního prostředí systému. |
"Fixed" |
Zobrazí alespoň jednu číslici leftand dvě číslice right oddělovače desetinných míst. |
"Standard" |
Zobrazí číslo s oddělovači tisíců, nejméně jednu číslici na leftand dvě číslice right oddělovače desetinných míst. |
"Percent" |
Zobrazí číslo vynásobené číslem 100 procentuálním sign (%) připojeným okamžitě k right; vždy zobrazí dvě číslice na right oddělovače desetinných míst. |
"Scientific" |
Používá standardní vědecký zápis, který poskytuje dvě významné číslice. |
"Yes/No" |
Zobrazí číslo bez if je 0; v opačném případě zobrazí ano. |
"True/False" |
Zobrazí Falseif číslo je 0; v opačném případě se zobrazí True. |
"On/Off" |
Zobrazí vypnuto if číslo je 0; v opačném případě se zobrazí zapnuto. |
Vlastní číselné formáty
Vlastní výraz format pro čísla může mít jeden až tři oddíly oddělené středníky. If argumentu řetězce formatcontains jeden z pojmenovaných číselných formátů, je povolen pouze jeden oddíl.
If, kterou používáte | Výsledek je |
---|---|
Pouze jeden oddíl | Výraz format platí pro allvalues. |
Dva oddíly | Oddíl first platí pro kladné valuesand nuly, second na záporné values. |
Tři oddíly | Oddíl first se vztahuje na kladné values, second na záporné values, and třetí až nuly. |
"$#,##0;($#,##0)"
If mezi nimi zahrnete středníky, chybějící oddíl se definuje pomocí format kladného value. Například následující format zobrazí kladné and záporné values pomocí format v oddílu firstand zobrazí ifvalue je nula.
"$#,##0"
If mezi nimi zahrnete středníky, chybějící oddíl se zobrazí pomocí format kladného value.
Vlastní číselné format znaky
V argumentu format_string
lze zadat následující vlastní číselné format znaky:
Znak | Popis |
---|---|
None | Zobrazí číslo bez formátování. |
(0 ) |
Zástupný symbol číslic. Zobrazí číslici or nule. If výraz má číslici v pozici, kde se 0 zobrazí v řetězci format, zobrazte ho; v opačném případě zobrazte nulu v dané pozici.If má číslo méně číslic, než je nula (na obou stranách desetinného čísla) ve výrazu format, zobrazí se počáteční or koncové nuly. If má číslo více číslic k right oddělovače desetinných míst, než je right oddělovače desetinných míst ve výrazu format nuly, round číslo na tolik desetinných míst, kolik je nul. If má číslo více číslic na left oddělovače desetinných míst, než jsou nuly left oddělovače desetinných míst ve výrazu format, zobrazte nadbytečné číslice beze změny. |
(# ) |
Zástupný symbol číslic. Zobrazí číslici or nic. If výraz má číslici v pozici, kde se # zobrazuje v řetězci format, zobrazte ho; v opačném případě se v této pozici nezobrazí nic. Tento symbol funguje jako zástupný symbol 0 číslic, except, že počáteční and koncové nuly se nezobrazují if číslo má stejný or méně číslic, než je znak # na obou stranách oddělovače desetinných míst ve výrazu format. |
(. ) |
Zástupný symbol desetinné čárky V některých národních prostředích se jako oddělovač desetinných míst používá čárka. Zástupný symbol desetinné čárky určuje, kolik číslic se zobrazí na leftandright oddělovače desetinných míst. If výraz formatcontains jenom znaménka čísel na left tohoto symbolu, čísla menší než 1 začínají oddělovačem desetinných míst. Pokud chcete zobrazit úvodní nulu zobrazenou s desetinnými čísly, použijte jako zástupný symbol first číslice left oddělovače desetinných míst. Skutečný znak použitý jako zástupný symbol desetinné čárky ve formátované výstupu závisí na Format číslo rozpoznaném systémem. |
(% ) |
Zástupný symbol procenta Výraz se vynásobí 100. Znak procenta (% ) se vloží do pozice, kde se zobrazí v řetězci format. |
(, ) |
Oddělovač tisíců V některých národních prostředích se tečka používá jako oddělovač tisíců. Oddělovač tisíců odděluje tisíce od stovek v čísle, které má čtyři or více míst na left oddělovače desetinných míst. Standardní použití oddělovače tisíců je určeno ifformatcontains oddělovače tisíců obklopeného zástupnými symboly číslic (0 or# ). Dva sousední oddělovače tisíců or oddělovač tisíců okamžitě k left oddělovače desetinných míst (zda je zadán ornot desetinné číslo) znamená "škálovat číslo tak, že ho vydělíte 1000, podle potřeby zaokrouhlíte". Můžete například použít řetězec format "#0", který představuje 100 milionů jako 100. Čísla menší než 1 milion se zobrazí jako 0. Dva sousední oddělovače tisíců v libovolné jiné pozici než bezprostředně left oddělovače desetinných míst jsou považovány za určení použití oddělovače tisíců. Skutečný znak použitý jako oddělovač tisíců ve formátované výstupu závisí na Format číslo rozpoznané systémem. |
(: ) |
Time oddělovač. V některých národních prostředích mohou být použity jiné znaky, které představují oddělovač time. Oddělovač time odděluje hodiny, minuty and sekundy při formátování timevalues. Skutečný znak použitý jako oddělovač time ve formátované výstupu je určen nastavením systému. |
(/ ) |
Date oddělovač. V některých národních prostředích mohou být použity jiné znaky, které představují oddělovač date. Oddělovač date odděluje day, month, andyear při formátování datevalues. Skutečný znak použitý jako oddělovač date ve formátované výstupu je určen nastavením systému. |
(E- E+ e- e+ ) |
Vědecké format.
If výraz formatcontains alespoň jeden zástupný symbol číslice (0 or# ) do right E-, E+, e-, or e+, číslo se zobrazí ve vědeckém formatand E or e se vloží mezi číslo and jeho exponent. Počet zástupných symbolů číslic pro right určuje počet číslic v exponentu. Pomocí E-or e- umístěte mínus signnext na záporné exponenty. Pomocí funkce E+ or e+ umístěte mínus signnext na záporné exponenty and plus signnext k kladným exponentům. |
- + $ ( ) |
Zobrazí literálový znak. Pokud chcete zobrazit jiný znak než jeden z uvedených znaků, předpište ho zpětným lomítkem (\ ) or ho uzavřete do uvozovek (" "). |
(\\ ) |
Zobrazí next znak v řetězci format. Chcete-li zobrazit znak, který má zvláštní význam jako literálový znak, před ním zpětné lomítko (\ ). Samotné zpětné lomítko se nezobrazuje. Použití zpětného lomítka je stejné jako uzavření znaku next do uvozovek. Chcete-li zobrazit zpětné lomítko, použijte dvě zpětná lomítka (\\ ). Příklady znaků, které nelze zobrazit jako literální znaky, jsou dateformátování andtime-formatting znaků (a, c, d, h, m, n, p, q, s, t, w, y, /, and :), znaky číselného formátování (#, 0, %, E, e, čárka, and tečka), and znaky formátování řetězce (@, &, <, >, and !). |
("ABC") | Zobrazí řetězec uvnitř dvojitých uvozovek (" "). |
Předdefinované formáty date/time
Následující předdefinované formáty date/time lze zadat v argumentu format_string
. Při použití jiných formátů jsou interpretovány jako vlastní date/timeformat:
Format | Popis |
---|---|
"General Date" |
Zobrazí dateand/ortime. Například 3/12/2008 11:07:31 AM. Date zobrazení určuje aktuální jazyková verze vaší aplikace value. |
"Long Date" or "Medium Date" |
Zobrazí date podle dlouhého dateformatvaší aktuální kultury . Například středa, 12. března 2008. |
"Short Date" |
Zobrazí date pomocí krátkého dateformataktuální jazykové verze . Například 3/12/2008. |
"Long Time" or |
Zobrazí time pomocí dlouhého timeformatvaší aktuální jazykové verze ; obvykle zahrnuje hodiny, minuty, sekundy. Například 11:07:31. |
"Medium Time" |
Zobrazí time ve verzi 12 hourformat. Například 11:07. |
"Short Time" |
Zobrazí time ve verzi 24 hourformat. Například 11:07. |
Vlastní formáty date/time
V format_string
lze zadat následující format znaky pro vytvoření vlastních formátů date/time:
Znak | Popis |
---|---|
(: ) |
Time oddělovač. V některých národních prostředích mohou být použity jiné znaky, které představují oddělovač time. Oddělovač time odděluje hodiny, minuty and sekundy při formátování timevalues. Skutečný znak použitý jako oddělovač time ve formátované výstupu je určen nastavením systému. |
(/ ) |
Date oddělovač. V některých národních prostředích mohou být použity jiné znaky, které představují oddělovač date. Oddělovač date odděluje day, month, andyear při formátování datevalues. Skutečný znak použitý jako oddělovač date ve formátované výstupu je určen nastavením systému. |
(\ ) |
Zpětné lomítko. Zobrazí znak next jako literálový znak. Je tedy not interpretován jako formátovací znak. |
(" ) |
Dvojitá uvozovka. Zobrazí se text uzavřený do dvojitých uvozovek. Je tedy not interpretováno jako formátovací znaky. |
c |
Zobrazte date jako ddddd and v daném pořadí zobrazte time jako ttttt . Zobrazí pouze date informace if není k date sériovému číslu uvedena desetinná část; zobrazí pouze time informace if není k dispozici žádná celočíselná část. |
d |
Zobrazí day jako číslo bez úvodní nuly (1–31). |
dd |
Zobrazí day jako číslo s úvodní nulou (01–31). |
ddd |
Zobrazí day jako zkratku (Sun-Sat). Lokalizovaný. |
dddd |
Zobrazí day jako úplný název (Sunday-Saturday). Lokalizovaný. |
ddddd |
Zobrazte date jako kompletní date (včetně day, month, andyear), formátovaného podle krátkého nastavení dateformat systému. Výchozí krátký dateformat je mm/dd/yyyy . |
dddddd |
Zobrazí date sériové číslo jako kompletní date (včetně day, month, andyear) formátovaného podle dlouhého nastavení date rozpoznaného systémem. Výchozí dlouhý dateformat je dddd, mmmm d, yyyy . |
w |
Zobrazí day týdne jako číslo (1 pro neděli až 7 pro sobotu). |
ww |
Zobrazí týden year jako číslo (1–54). |
m |
Zobrazí month jako číslo bez úvodní nuly (1–12).
If
m okamžitě následuje h orhh , místo month se zobrazí minute. |
mm |
Zobrazí month jako číslo s úvodní nulou (01–12).
If
mm okamžitě následuje h orhh , místo month se zobrazí minute. |
mmm |
Zobrazí month jako zkratku (Jan-Dec). Lokalizovaný. |
mmmm |
Zobrazí month jako úplný název month (January-December). Lokalizovaný. |
q |
Zobrazí quarteryear jako číslo (1–4). |
y |
Zobrazí dayyear jako číslo (1–366). |
yy |
Zobrazí year jako dvouciferné číslo (00–99). |
yyyy |
Zobrazí year jako 4ciferné číslo (100–9999). |
h |
Zobrazí hour jako číslo bez úvodní nuly (0–23). |
hh |
Zobrazí hour jako číslo s úvodní nulou (00–23). |
n |
Zobrazí minute jako číslo bez úvodní nuly (0–59). |
nn |
Zobrazí minute jako číslo s úvodní nulou (00–59). |
s |
Zobrazí second jako číslo bez úvodní nuly (0–59). |
ss |
Zobrazí second jako číslo s úvodní nulou (00–59). |
ttttt |
Zobrazí time jako úplný time (včetně hour, minute, andsecond), formátovaného pomocí oddělovače time definovaného timeformat rozpoznaným systémem. Zobrazí se úvodní nula if je vybrána úvodní nula andtime je před 10:00 or P.M. Výchozí timeformat je h:mm:ss . |
AM/PM |
Použijte 12-hour hodiny and zobrazit velká písmena AM s libovolným hour před polednem; zobrazit velké pm s libovolným hour mezi polednem and 11:59 odp. |
am/pm |
Použijte 12-hour hodiny and zobrazit malá písmena AM s libovolným hour před polednem; zobrazit malá písmena PM s libovolným hour mezi polednem and 11:59 odp. |
A/P |
Použijte 12-hour hodiny and zobrazit velká písmena A s libovolným hour před polednem; zobrazí velká písmena P s libovolným hour mezi polednem and 11:59. |
a/p |
Použijte 12-hour hodiny and zobrazit malá písmena A s libovolným hour před polednem; zobrazí malá písmena P s libovolným hour mezi polednem and 11:59. |
AMPM |
Použijte 12-hour hodiny and zobrazte řetězcový literál AM definovaný systémem s libovolným hour před polednem; zobrazit řetězcový literál PM definovaný systémem s libovolným hour mezi polednem and 11:59 P.M. AMPM může být buď velkými písmeny or malými písmeny, ale velikost zobrazeného řetězce odpovídá řetězci definovanému nastavením systému. Výchozí format je AM/PM. If je váš systém nastavený na 24-hour hodiny, řetězec je typický pro prázdný řetězec. |
Date/time formátování používá k format řetězce aktuální národní prostředí uživatele. Představte si například date 25. června 2020. Pokud je formátovaný pomocí format řetězce "m/d/yyyy", bude to:
- Národní prostředí uživatele je Spojené státy americké (en-US): "25. 6. 2020"
- Národní prostředí uživatele je Německo (de-DE): "6.25.2020"
Příklady vlastních date/timeformat
Následující příklady používají date/time čtvrtek 25. června 2020 v 13:23:45. Německo (de-DE) používá systém 24-hour. Neexistuje žádný ekvivalent AM/PM.
Format | Výsledek (en-US) | Výsledek (de-DE) |
---|---|---|
"c" |
06/25/2020 13:23:45 | 25.06.2020 13:23:45 |
"d" |
25 | 25 |
"dd" |
25 | 25 |
"ddd" |
Čt | Dělat |
"dddd" |
Čtvrtek | Donnerstag |
"ddddd" |
06/25/2020 | 25.06.2020 |
"dddddd" |
25. června 2020 | Donnerstag, 25. Juni 2020 |
"w" |
5 | 5 |
"ww" |
26 | 26 |
"m" |
6 | 6 |
"mm" |
06 | 06 |
"mmm" |
Jun | Jun |
"mmmm" |
Červen | Juni |
"q" |
2 | 2 |
"y" |
177 | 177 |
"yy" |
20 | 20 |
"yyyy" |
2020 | 2020 |
"""Year"" yyyy" |
Year 2020 | Year 2020 |
"yyyy \Qq" |
2020. čtvrtletí 2 | 2020. čtvrtletí 2 |
"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" |
13:23:45 | 1:23:45 |
"hh:nn:ss" |
13:23:45 | 13:23:45 |
"hh:nn:ss AMPM" |
01:23:45 PM | 01:23:45 |
"ttttt" |
13:23:45 | 13:23:45 |
"ttttt AMPM" |
13:23:45 | 13:23:45 |
"mm/dd/yyyy hh:nn:ss AMPM" |
25.6.2020 01:23:45 | 6.25.2020 01:23:45 |