Lav et kortbillede i Power BI

Gælder for:✅ Power BI Desktop og Power BI-tjeneste

Kortvisualen i Power BI viser nøglemålinger i et fleksibelt, visuelt tiltalende format. Hvert kort viser en målværdi med valgfrie kald-billeder, referenceetiketter og understøttende detaljer. Du kan vise flere kort i én enkelt visuel version, opdele dem efter kategorier og tilpasse layoutet, så det matcher dit rapportdesign.

Kombinationen af flere målinger og referenceetiketter i ét visualt forbedrer rapportens ydeevne ved at reducere indlæsningstiden for det visuelle og optimere underliggende forespørgsler til den semantiske model. Du kan også bruge datadrevne billeder til at skabe brugerdefinerede visualiseringer, der reagerer på dine data.

Bemærk

Den (nye) kortvisualisering er generelt tilgængelig som kortvisualiseringen. Rapporter med det gamle kort-visualt fortsætter med at bruge det gamle kort-visual.

Lav et kort-visualt

  1. I Visualiseringspanelet vælger du fanen Byg visuelt , og vælg derefter kortvisualiseringen fra det visuelle galleri.

  2. Tilføj en måling eller en hvilken som helst datakolonne til feltfeltet Værdier .

    Skærmbillede af Datapanelet med StoreCount og TotalSalesLY-målinger tilføjet til Value-feltet i Visualisering-panelet.

Du har nu et simpelt kort. Du kan tilføje så mange værdier, du vil, og flere kort dukker op.

Tilpas kortets visuelle layout

Kortvisualen tilbyder flere layoutmuligheder for at gøre dine visuals mere organiserede og visuelt tiltalende. Få adgang til disse indstillinger ved at vælge ikonet Formater visuelt i Visualiseringspanelet , og vælg derefter fanen Visual .

Skærmbillede af visualiseringspanelet med fanen Format visuelt og Visuelt valgt, alle Format-kontroller markeret.

Kortoplæg

Kortlayoutet> styrer, hvordan elementerne arrangeres inden for hvert kort. Hvert kort kan have tre sektioner: callout, billede og referenceetiketter. Brug disse indstillinger til at justere placering, justering og afstand mellem disse elementer.

Kortvisualiseringen inkluderer et dynamisk collagelayout , der lader dig fremhæve én sektion, mens de to andre deler det resterende område. Du kan også tilpasse visningsrækkefølgen på callout, referencelabel og heltebillede og give dem hver forskellige baggrundsfarver.

Skærmbillede af billedpanelet med kort- og billedindstillingerne, du kan anvende.

Callout-layout

Callout-layoutet> styrer den vertikale justering og størrelsen af callouten inden for callout-sektionen på hvert kort.

Referencelabel-layout

Layoutindstillingen Referencemærkater styrer, hvordan referencemærkater organiseres i afsnittet referencemærkater på hvert kort. Du kan justere den lodrette og vandrette justering af referencenavnene og tilpasse udseendet, herunder mellemrum, indre margen, baggrunde og meget mere.

Multi-kort layout

Multi-kort-layoutet tilpasser, hvordan flere kort passer ind i den visuelle beholder. Når du har flere værdier, styrer denne indstilling kortenes placering.

Multikategori-layout

Multi-kategori layoutet formaterer, hvordan hver kategorisektion er opbygget (såsom Canada, Tyskland). Brug denne indstilling, når du har tilføjet kategorier til dit kortvisual. Inden for hver kategorisektion er kortene arrangeret efter indstillingerne for multi-kortopsætningen.

Fast størrelse og pasform til rummet

I afsnittet Multicard-layout kan du styre, hvordan kortene er i størrelsen i den visuelle beholder:

  • Fast størrelse: Slå denne mulighed til for at angive de præcise pixeldimensioner for hvert kort. Når den visuelle beholder ikke er stor nok til at vise alle kort i den angivne størrelse, vises scrollbjælker automatisk. Når du ændrer størrelsen på det visuelle, bevarer kortene deres angivne dimensioner i stedet for at skalere proportionalt.
  • Fit to space: Når de er på, vokser eller krymper kortene for at fylde den visuelle beholder baseret på de tilstedeværende kort. Når den er slået fra, reserverer det visuelle plads til det angivne antal kort, selv når der er færre kort.

Fast størrelse og Fit to Space udelukker hinanden. Når Fast størrelse er aktiveret, er Fit to space deaktiveret, da dimensioner nu styres eksplicit.

Tilføj e billede

Kortvisualiseringen i Power BI lader dig skabe visuelt tiltalende kort, der kombinerer målinger med flere billedmuligheder, herunder:

  • Billede: Et stort, fremtrædende billede, der kan vise produktfotos, kampagnegrafik eller brandede billeder direkte i kortet. Konfigurér denne mulighed i billedsektionen i formatpanelet.
  • Callout-billede: Et mindre billede inden for callouten, der giver subtile forbedringer og fungerer godt til brandingelementer eller små visuelle signaler uden at overvælde metrikken. Konfigurer denne mulighed i Callout>Image.
  • Kategoriheader baggrundsbillede: Et baggrundsbillede til kategoriheadere, når du har tilføjet kategorier til kortets visual. Konfigurér denne mulighed i kategori-headersektionen .

For at tilføje billeder til dit kortvisual:

  • Tilføj et billede: Med kortvisualiseringen valgt, vælg ikonet Format visuelt i Visualisering-panelet . Under fanen Visual , udvid Image-kortet . Vælg dit kort i Cards-dropdownmenuen, og sæt derefter Image-knappen til at slå til.
  • Tilføj et kaldebillede: I Visualisering-panelet skal du vælge ikonet Format visuelt . Under fanen Visual , udvid Callout-kortet . Sørg for, at dit kort er valgt i indstillingerne Apply, udvid Billedkontrollerne , og sæt derefter Image-knappen til slået til.

For alle billedtyper kan du tilføje billeder ved at uploade fra din lokale enhed, indsætte en URL-adresse til et billede (herunder links til billedfiler i OneLake) eller vælge et billede fra en datakolonne. Du kan også tilpasse billedets pasform og vælge forskellige billedeffekter for at fremhæve dets udseende.

Billedstatus

Billedsektionen indeholder en dropdown-menu for tilstande, hvor du kan definere separate billedindstillinger for standard- og hover-tilstand. Brug hover-tilstanden til at ændre, hvordan et billede ser ud, når en bruger peger på et kort – for eksempel ved at bytte billedkilde, justere billedtilpasningen eller ændre baggrundsfarven.

  1. Med kortvisualiseringen valgt, vælg ikonet Format visuelt i Visualisering-panelet .
  2. Under fanen Visual , udvid Billedsektionen .
  3. I indstillingerne Anvendelse til område skal du vælge det kort, du vil formatere i Cards-dropdownmenuen.
  4. Sæt tilstande til at svæve.
  5. Konfigurer billedkilde, billedpasform, gennemsigtighed, effekter og baggrundsfarve, så de anvendes, når en bruger peger på kortet.

De indstillinger, du konfigurerer til Hover-tilstanden , gælder kun, når en bruger peger på kortet. Standardtilstanden styrer billedets normale udseende.

Bemærk

Hvis du tilføjer en kategori til dit kortvisual, og alle kort viser det samme billede i stedet for forskellige billeder, så tjek dropdown-menuen Apply settings to set. Når denne indstilling er Alt, anvender det visuelle billede det samme billede på hvert kort. Vælg den specifikke callout-værdi for at tildele forskellige billeder pr. kort, såsom billeder fra en datakolonne.

Skærmbillede af det visuelle panel med billedvalgene vist for at uploade et billede og tilpasse det.

Tilføj kategorier

Du kan tilføje kategorier til dit kortvisuals ved at trække et felt ind i kategorifeltet i Build-visual-sektionen i Visualisering-panelet . Når du tilføjer en kategori, udvides kortvisualiseringen til at vise en separat sektion for hver kategoriværdi, hvor hver sektion viser data skåret til den kategori.

Kategorioverskrifterne kan vælges og filtrerer andre visuelle elementer i rapporten, når de er valgt. Denne adfærd gør det muligt for brugere at interagere med dit kortvisuale for at udforske data på tværs af forskellige segmenter.

Kategoriudvælgelse

Når du vælger en kategorioverskrift, dæmpes de andre kategorikort for at angive det aktuelle valg. Du kan:

  • Vælg flere kategorier: Hold Ctrl nede og vælg andre kategorioverskrifter for at filtrere efter flere værdier.
  • Fravælg en kategori: Vælg kategorioverskriften igen for at fjerne den fra udvalget.
  • Styr hvilke visuals der filtreres: Brug Rediger-interaktioner i Format-menuen til at vælge, hvilke visuals på rapportsiden der påvirkes af valgene på kortvisualen.

Layoutet af kategorisektioner styres af Multi-kategori layoutsektionen i formatpanelet under fanen Visual . Inden for hver kategorisektion styres arrangementet af individuelle kort stadig af Multi-kort-layoutsektionen . Elementer i hvert kort, såsom callout, billede og referenceetiketter, styres af sektionen Kortlayout>.

Vis fulde tal, eller skift visningsenheder

Kortvisualiseringens billedforklaringsværdi bruger som standard Display units , der er angivet til Auto, hvilket forkorter store tal med et Suffiks af typen K (tusinder), M (millioner) eller B (milliarder). Vises f.eks. 11,732 som 12K. Hvis du vil have vist det fulde tal og fjerne Suffikset K, M eller B, skal du ændre visningsenhederne til Ingen:

  1. Vælg kortvisualiseringen.
  2. I ruden Visualiseringer skal du vælge ikonet Formatér visualisering .
  3. Under fanen Visual skal du udvide Billedforklaringsværdier>Værdier.
  4. Angiv Vis enheder til Ingen.

Hvis du anvender en brugerdefineret formatstreng, men værdien stadig viser et K-, M- eller B-suffiks, er indstillingen Vis enheder årsagen i stedet for formatstrengen. For mere information, se Fejlfinding af uønsket automatisk skalering.

Kortgennemgang

Følg denne gennemgang for at opbygge et omfattende kortbillede trin for trin.

Bemærk

I denne gennemgang bruges basistemaet Fluent 2, som er standarden for nye rapporter.

Eksempeldata

Hvis du vil følge med i eksemplerne i denne gennemgang, skal du konfigurere en eksempeltabel, målinger og en tendensfunktion, der kan genbruges, i en tom Power BI Desktop-rapport.

  1. Åbn Power BI Desktop og opret en ny tom rapport.

  2. Vælg TMDL i venstre side for at åbne TMDL-visningen.

  3. Indsæt følgende TMDL-script, og vælg Anvend:

    createOrReplace
    
     model Model
     	culture: en-US
     	defaultPowerBIDataSourceVersion: powerBI_V3
     	sourceQueryCulture: en-US
     	valueFilterBehavior: independent
     	dataAccessOptions
     		legacyRedirects
     		returnErrorValuesAsNull
    
     	table 'Product Line Sales'
    
     		/// Total number of products sold across all channels and product lines.
     		measure Units = SUM('Product Line Sales'[_Units])
     			formatString: #,##0
    
     		/// Total sales revenue generated from all transactions.
     		measure Revenue = SUM('Product Line Sales'[_Revenue])
     			formatString: $#,##0
    
     		/// The planned revenue goal used to measure sales performance.
     		measure 'Revenue target' = SUM('Product Line Sales'[_Revenue Target])
     			formatString: $#,##0
    
     		/// Total number of products returned by customers.
     		measure Returns = SUM('Product Line Sales'[_Returns])
     			formatString: #,##0
    
     		/// Shows how close actual revenue is to the target (100% = on target, >100% = exceeding).
     		measure 'Revenue % to target' = DIVIDE([Revenue], [Revenue target])
     			formatString: 0.0%
    
     		/// Percentage of sold units that were returned (lower is better).
     		measure 'Return rate' = DIVIDE([Returns], [Units])
     			formatString: 0.0%
    
     		/// Dollar amount above or below the revenue target (positive = exceeding, negative = behind).
     		measure 'Revenue variance' = [Revenue] - [Revenue target]
     			formatString: $#,##0
    
     		measure 'Units 6mo trend' = TrendSVG([Units], 'Product Line Sales'[Month],6,3,"mmm",FALSE)
     			displayFolder: Card images for trendlines
     			dataCategory: ImageUrl
    
     		measure 'Units 6mo trend - hover' = TrendSVG([Units], 'Product Line Sales'[Month],6,3,"mmm",TRUE)
     			displayFolder: Card images for trendlines
     			dataCategory: ImageUrl
    
     		/// Icon showing a # symbol inside a circle to represent units.
     		measure 'Units callout image' = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%230078D4' stroke-width='1.5'/%3E%3Ctext x='12' y='17' text-anchor='middle' font-family='Segoe UI' font-size='14' font-weight='600' fill='%230078D4'%3E%23%3C/text%3E%3C/svg%3E"
     			displayFolder: Card images for callout
     			dataCategory: ImageUrl
    
     		/// Icon showing a $ symbol inside a circle to represent revenue.
     		measure 'Revenue callout image' = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%23107C10' stroke-width='1.5'/%3E%3Ctext x='12' y='17' text-anchor='middle' font-family='Segoe UI' font-size='14' font-weight='600' fill='%23107C10'%3E%24%3C/text%3E%3C/svg%3E"
     			displayFolder: Card images for callout
     			dataCategory: ImageUrl
    
     		measure 'Revenue 6mo trend' = TrendSVG([Revenue], 'Product Line Sales'[Month],6,3,"mmm",FALSE)
     			displayFolder: Card images for trendlines
     			dataCategory: ImageUrl
    
     		measure 'Revenue 6mo trend - hover' = TrendSVG([Revenue], 'Product Line Sales'[Month],6,3,"mmm",TRUE)
     			displayFolder: Card images for trendlines
     			dataCategory: ImageUrl
    
     		column Month
     			formatString: mmm. yyyy
     			summarizeBy: none
     			isNameInferred
     			sourceColumn: [Month]
    
     			annotation SummarizationSetBy = Automatic
    
     			annotation PBI_FormatHint = {"isCustom":true}
    
     		column 'Product Line'
     			summarizeBy: none
     			isNameInferred
     			sourceColumn: [Product Line]
    
     			annotation SummarizationSetBy = Automatic
    
     		column Channel
     			summarizeBy: none
     			isNameInferred
     			sourceColumn: [Channel]
    
     			annotation SummarizationSetBy = Automatic
    
     		column _Units
     			isHidden
     			formatString: 0
     			summarizeBy: sum
     			isNameInferred
     			sourceColumn: [_Units]
    
     			annotation SummarizationSetBy = Automatic
    
     		column _Revenue
     			isHidden
     			formatString: 0
     			summarizeBy: sum
     			isNameInferred
     			sourceColumn: [_Revenue]
    
     			annotation SummarizationSetBy = Automatic
    
     		column '_Revenue Target'
     			isHidden
     			formatString: 0
     			summarizeBy: sum
     			isNameInferred
     			sourceColumn: [_Revenue Target]
    
     			annotation SummarizationSetBy = Automatic
    
     		column _Returns
     			isHidden
     			formatString: 0
     			summarizeBy: sum
     			isNameInferred
     			sourceColumn: [_Returns]
    
     			annotation SummarizationSetBy = Automatic
    
     		partition 'Product Line Sales' = calculated
     			mode: import
     			source = ```
     					   VAR Anchor = DATE(YEAR(TODAY()), MONTH(TODAY()), 1)
     					   VAR M1 = EDATE(Anchor, -5)
     					   VAR M2 = EDATE(Anchor, -4)
     					   VAR M3 = EDATE(Anchor, -3)
     					   VAR M4 = EDATE(Anchor, -2)
     					   VAR M5 = EDATE(Anchor, -1)
     					   VAR M6 = Anchor
     					   RETURN
     					   SELECTCOLUMNS(
     					       {
     					           // Product Line A, Online
     					           ( M1, "A", "Online", 130, 9100, 10000, 5 ),
     					           ( M2, "A", "Online", 200, 14000, 11500, 6 ),
     					           ( M3, "A", "Online", 170, 11900, 13000, 7 ),
     					           ( M4, "A", "Online", 210, 14700, 14000, 8 ),
     					           ( M5, "A", "Online", 230, 16100, 15500, 9 ),
     					           ( M6, "A", "Online", 260, 18200, 16000, 10 ),
     					           // Product Line A, Retail
     					           ( M1, "A", "Retail", 80, 4800, 12000, 35 ),
     					           ( M2, "A", "Retail", 140, 8500, 11000, 30 ),
     					           ( M3, "A", "Retail", 100, 6000, 10500, 27 ),
     					           ( M4, "A", "Retail", 150, 9100, 9500, 24 ),
     					           ( M5, "A", "Retail", 160, 9700, 8500, 21 ),
     					           ( M6, "A", "Retail", 170, 10500, 8500, 17 ),
     					           // Product Line B, Online
     					           ( M1, "B", "Online", 280, 19600, 21000, 10 ),
     					           ( M2, "B", "Online", 380, 26600, 23000, 12 ),
     					           ( M3, "B", "Online", 340, 23800, 24500, 14 ),
     					           ( M4, "B", "Online", 410, 28700, 25500, 16 ),
     					           ( M5, "B", "Online", 470, 32900, 27000, 17 ),
     					           ( M6, "B", "Online", 520, 36400, 29000, 20 ),
     					           // Product Line B, Retail
     					           ( M1, "B", "Retail", 180, 12600, 25000, 140 ),
     					           ( M2, "B", "Retail", 270, 18900, 22000, 125 ),
     					           ( M3, "B", "Retail", 240, 16800, 21000, 110 ),
     					           ( M4, "B", "Retail", 280, 19600, 19000, 100 ),
     					           ( M5, "B", "Retail", 310, 21700, 17000, 90 ),
     					           ( M6, "B", "Retail", 320, 22400, 16000, 75 ),
     					           // Product Line C, Online
     					           ( M1, "C", "Online", 65, 7800, 8000, 2 ),
     					           ( M2, "C", "Online", 100, 12000, 9500, 2 ),
     					           ( M3, "C", "Online", 85, 10200, 11000, 3 ),
     					           ( M4, "C", "Online", 110, 13200, 12500, 3 ),
     					           ( M5, "C", "Online", 115, 13800, 13500, 4 ),
     					           ( M6, "C", "Online", 125, 15000, 15500, 4 ),
     					           // Product Line C, Retail
     					           ( M1, "C", "Retail", 100, 12000, 14000, 4 ),
     					           ( M2, "C", "Retail", 170, 20400, 15500, 4 ),
     					           ( M3, "C", "Retail", 140, 16800, 17000, 5 ),
     					           ( M4, "C", "Retail", 175, 21000, 17500, 5 ),
     					           ( M5, "C", "Retail", 180, 21600, 18000, 6 ),
     					           ( M6, "C", "Retail", 185, 22200, 18000, 7 )
     					       },
     					       "Month", [Value1],
     					       "Product Line", [Value2],
     					       "Channel", [Value3],
     					       "_Units", [Value4],
     					       "_Revenue", [Value5],
     					       "_Revenue Target", [Value6],
     					       "_Returns", [Value7])
     				```
    
     		annotation PBI_Id = c8632d7dc9194275b03f266beb0eec91
    
     	cultureInfo en-US
    
     	function TrendSVG = ```
     			    (
     			      valueExpr:  ANYREF EXPR,
     			      periodCol:  ANYREF EXPR,
     			      periods:    INT64,
     			      labelChars: INT64,
     			      dateFormat: STRING,
     			      hover:      BOOLEAN
     			    ) =>
     			      VAR _LastPeriod = MAX ( periodCol )
     			      // Take the N most-recent distinct values of periodCol at or before the
     			      // current filter context's max — grain-agnostic (day / month / year / etc.)
     			      VAR _BasePeriods =
     			        TOPN (
     			          periods,
     			          FILTER ( ALL ( periodCol ), periodCol <= _LastPeriod ),
     			          periodCol,
     			          DESC
     			        )
     			      VAR _Data =
     			        ADDCOLUMNS (
     			          _BasePeriods,
     			          "Value",
     			            VAR _v = CALCULATE ( valueExpr )
     			            RETURN IF ( ISBLANK ( _v ), 0, _v )
     			        )
     			      VAR _DataIndexed =
     			        ADDCOLUMNS (
     			          _Data,
     			          "Idx",
     			            RANKX ( _Data, periodCol, periodCol, ASC, DENSE ),
     			          "PeriodLabel",
     			            UPPER ( LEFT ( FORMAT ( periodCol, dateFormat ), labelChars ) )
     			        )
     			      VAR _Count  = COUNTROWS ( _DataIndexed )
     			      VAR _MaxVal = MAXX ( _DataIndexed, [Value] )
    
     			      // Layout — width scales with period count so labels never crowd
     			      VAR _PerPointX   = 32                        // horizontal space reserved per data point
     			      VAR _PadX        = 18
     			      VAR _Width       = 2 * _PadX + MAX ( 1, _Count - 1 ) * _PerPointX
     			      VAR _Height      = 86
     			      VAR _PadTop      = 10
     			      VAR _LabelBandH  = 26
     			      VAR _ChartBottom = _Height - _LabelBandH
     			      VAR _GoodColor   = "#107C10"
     			      VAR _BadColor    = "#A80000"
     			      VAR _LineColor   = "#0078D4"
     			      VAR _XStep =
     			        IF ( _Count > 1, DIVIDE ( _Width - 2 * _PadX, _Count - 1 ), 0 )
    
     			      VAR _HasData =
     			        _Count >= 2 && NOT ISBLANK ( _MaxVal )
    
     			      // Polyline point list ("x,y x,y ...")
     			      VAR _Points =
     			        CONCATENATEX (
     			          _DataIndexed,
     			          VAR _Idx  = [Idx]
     			          VAR _Val  = [Value]
     			          VAR _Norm = IF ( _MaxVal = 0, 0, DIVIDE ( _Val, _MaxVal ) )
     			          VAR _X    = _PadX + ( _Idx - 1 ) * _XStep
     			          VAR _Y    = _ChartBottom - _Norm * ( _ChartBottom - _PadTop )
     			          RETURN FORMAT ( _X, "0.0" ) & "," & FORMAT ( _Y, "0.0" ),
     			          " ",
     			          [Idx], ASC
     			        )
    
     			      // Dot marker on every point
     			      VAR _Markers =
     			        CONCATENATEX (
     			          _DataIndexed,
     			          VAR _mIdx  = [Idx]
     			          VAR _mVal  = [Value]
     			          VAR _mNorm = IF ( _MaxVal = 0, 0, DIVIDE ( _mVal, _MaxVal ) )
     			          VAR _mX    = _PadX + ( _mIdx - 1 ) * _XStep
     			          VAR _mY    = _ChartBottom - _mNorm * ( _ChartBottom - _PadTop )
     			          RETURN
     			            "<circle cx='" & FORMAT ( _mX, "0.0" )
     			            & "' cy='" & FORMAT ( _mY, "0.0" )
     			            & "' r='2.2' fill='" & _LineColor & "' />",
     			          "",
     			          [Idx], ASC
     			        )
    
     			      // Light vertical guide from each marker down to the label band
     			      VAR _GuideBottom = _ChartBottom
     			      VAR _Guides =
     			        CONCATENATEX (
     			          _DataIndexed,
     			          VAR _gIdx  = [Idx]
     			          VAR _gVal  = [Value]
     			          VAR _gNorm = IF ( _MaxVal = 0, 0, DIVIDE ( _gVal, _MaxVal ) )
     			          VAR _gX    = _PadX + ( _gIdx - 1 ) * _XStep
     			          VAR _gY    = _ChartBottom - _gNorm * ( _ChartBottom - _PadTop )
     			          RETURN
     			            "<line x1='" & FORMAT ( _gX, "0.0" )
     			            & "' y1='" & FORMAT ( _gY, "0.0" )
     			            & "' x2='" & FORMAT ( _gX, "0.0" )
     			            & "' y2='" & FORMAT ( _GuideBottom, "0.0" )
     			            & "' stroke='#CCCCCC' stroke-width='0.75' />",
     			          "",
     			          [Idx], ASC
     			        )
    
     			      // Period label (e.g. "JAN") — bottom band, upper row
     			      VAR _LabelY = _Height - 16
     			      VAR _Labels =
     			        CONCATENATEX (
     			          _DataIndexed,
     			          VAR _lIdx = [Idx]
     			          VAR _lX   = _PadX + ( _lIdx - 1 ) * _XStep
     			          RETURN
     			            "<text x='" & FORMAT ( _lX, "0.0" )
     			            & "' y='" & FORMAT ( _LabelY, "0.0" )
     			            & "' text-anchor='middle' font-family='DIN, &quot;DIN Alternate&quot;, &quot;DIN Next&quot;, &quot;Segoe UI&quot;, Tahoma, Arial, sans-serif' font-size='8' fill='#666'>"
     			            & [PeriodLabel]
     			            & "</text>",
     			          "",
     			          [Idx], ASC
     			        )
    
     			      // ---- Hover-only content ----
     			      // Shaded area under each segment (green if rising, red if falling)
     			      VAR _Shades =
     			        CONCATENATEX (
     			          FILTER ( _DataIndexed, [Idx] < _Count ),
     			          VAR _sIdx  = [Idx]
     			          VAR _sVal  = [Value]
     			          VAR _sNext = MAXX ( FILTER ( _DataIndexed, [Idx] = _sIdx + 1 ), [Value] )
     			          VAR _sNorm1 = IF ( _MaxVal = 0, 0, DIVIDE ( _sVal,  _MaxVal ) )
     			          VAR _sNorm2 = IF ( _MaxVal = 0, 0, DIVIDE ( _sNext, _MaxVal ) )
     			          VAR _sX1 = _PadX + ( _sIdx - 1 ) * _XStep
     			          VAR _sX2 = _PadX + _sIdx * _XStep
     			          VAR _sY1 = _ChartBottom - _sNorm1 * ( _ChartBottom - _PadTop )
     			          VAR _sY2 = _ChartBottom - _sNorm2 * ( _ChartBottom - _PadTop )
     			          VAR _sColor = IF ( _sNext >= _sVal, _GoodColor, _BadColor )
     			          RETURN
     			            "<polygon points='"
     			            & FORMAT ( _sX1, "0.0" ) & "," & FORMAT ( _sY1, "0.0" ) & " "
     			            & FORMAT ( _sX2, "0.0" ) & "," & FORMAT ( _sY2, "0.0" ) & " "
     			            & FORMAT ( _sX2, "0.0" ) & "," & FORMAT ( _ChartBottom, "0.0" ) & " "
     			            & FORMAT ( _sX1, "0.0" ) & "," & FORMAT ( _ChartBottom, "0.0" )
     			            & "' fill='" & _sColor & "' fill-opacity='0.05' stroke='none' />",
     			          "",
     			          [Idx], ASC
     			        )
    
     			      // Bold value label — bottom band, lower row
     			      VAR _ValueLabelY = _Height - 6
     			      VAR _DataLabels =
     			        CONCATENATEX (
     			          _DataIndexed,
     			          VAR _dIdx = [Idx]
     			          VAR _dVal = [Value]
     			          VAR _dX   = _PadX + ( _dIdx - 1 ) * _XStep
     			          RETURN
     			            "<text x='" & FORMAT ( _dX, "0.0" )
     			            & "' y='" & FORMAT ( _ValueLabelY, "0.0" )
     			            & "' text-anchor='middle' font-family='DIN, &quot;DIN Alternate&quot;, &quot;DIN Next&quot;, &quot;Segoe UI&quot;, Tahoma, Arial, sans-serif' font-size='7' font-weight='bold' fill='#333'>"
     			            & FORMAT ( _dVal, "#,0" )
     			            & "</text>",
     			          "",
     			          [Idx], ASC
     			        )
    
     			      // Assemble
     			      VAR _HoverExtras = IF ( hover, _Shades, "" )
     			      VAR _HoverLabels = IF ( hover, _DataLabels, "" )
     			      VAR _SVGContent =
     			        "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 "
     			          & FORMAT ( _Width, "0" ) & " " & FORMAT ( _Height, "0" )
     			          & "' preserveAspectRatio='xMidYMid meet'>"
     			          & _HoverExtras
     			          & _Guides
     			          & "<polyline fill='none' stroke='" & _LineColor
     			          & "' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' points='"
     			          & _Points
     			          & "' />"
     			          & _Markers
     			          & _Labels
     			          & _HoverLabels
     			          & "</svg>"
    
     			      RETURN
     			        IF (
     			          _HasData,
     			          "data:image/svg+xml;utf8," & _SVGContent,
     			          BLANK ()
     			        )
     			```
    
     	annotation __PBI_TimeIntelligenceEnabled = 0
    
     	annotation PBI_QueryOrder = []
    
     	annotation PBI_ProTooling = ["TMDLView_Desktop"]
    

    Scriptet opretter tabellen Product Line Sales med seks måneders eksempeldata, de basismålinger, der bruges i hele gennemgangen, billedforklaringsikonmålinger (Units callout image, Revenue callout image), tendensmålinger (Units 6mo trend, Units 6mo trend - hover, Revenue 6mo trend, Revenue 6mo trend - hover) og en brugerdefineret DAX-funktion, der kan TrendSVG genbruges, og som gengiver et SVG-kurvediagram med en valgfri pegevariant.

Opret et grundlæggende kort

  1. I Visualiseringspanelet vælger du fanen Byg visuelt , og vælg derefter kortvisualiseringen fra det visuelle galleri.

  2. Træk enheder til Værdifeltet .

  3. Træk indtægter til værdifeltet godt.

Du har nu et multi-kort visuelt display, der viser det samlede antal enheder og den samlede omsætning.

Skærmbillede af et grundlæggende kort-visual, der viser det samlede antal enheder og den samlede omsætning.

Tilføj et callout-billede

For at gøre dit kort mere visuelt engagerende, tilføj et billede i callout-området. Det indledende TMDL-script har allerede oprettet to målinger, der returnerer simple SVG-ikoner: Units callout image (et # symbol i en cirkel) og Revenue callout image (et $ symbol i en cirkel). Sådan tildeler du dem til kortene:

  1. Vælg dit kortvisual.
  2. I ruden Visualiseringer skal du vælge ikonet Formatér visualisering .
  3. Under fanen Visual , udvid Callout.
  4. I dropdown-menuen Anvendelse til indstillinger, vælg Enheder.
  5. Udvid billedet og skift til Tændt.
  6. Sæt billedtypen til Vælg fra data.
  7. Vælg Units callout-billede fra felt-dropdownmenuen.
  8. Sæt Billedet tilCenter.
  9. Sæt størrelsen til 40 px.
  10. I indstillingsmenuen Apply to to vælg Revenue.
  11. Udvid billedet og skift til Tændt.
  12. Sæt billedtypen til Vælg fra data.
  13. Vælg billedet af omsætningsopkald fra feltmenuen.
  14. Sæt Billedet tilCenter.
  15. Sæt størrelsen til 40 px.

Hvert kort viser nu et symbolikon i billedforklaringsområdet sammen med dets metriske værdi.

Skærmbillede af en kortvisualisering med billedforklaringsikoner, der viser et #-symbol ud for enheder og et $-symbol ud for indtægt.

Show efter kategori

Tilføj en kategori for at vise dine data opdelt efter segment.

  1. I ruden Data skal du trække Kanal til feltbrønden Kategorier .
  2. Træk Produktlinje til feltet Kategorier for yderligere at opdele dataene efter produktlinje i hver kanal.
  3. I ruden Visualiseringer skal du vælge ikonet Formatér visualisering .
  4. Under fanen Visuelt kan du udvide Multi-kategori layout.
  5. Udvid Layout, slå Tilpas til mellemrum tilFra, og angiv Rækker til 6 for at få vist alle kategorier.

Bemærk

Når Tilpas til plads er slået til, er det maksimale antal rækker 4. Hvis du vil have vist flere rækker, skal du slå Tilpas til mellemrum fra.

Kortvisualiseringen viser nu en separat sektion for hver kanal- og produktlinjekombination, hvor hver sektion viser enheder og indtægter sammen med billedforklaringsbillederne.

Skærmbillede af en kortvisualisering opdelt efter kanal- og produktlinjekategorier.

Tilføj referenceetiketter

Referenceetiketter giver kontekst til din hovedmåling. Du kan også tilføje detaljeværdier til referenceetiketter for mere detaljeret information.

  1. I ruden Visualiseringer skal du vælge ikonet Formatér visualisering .
  2. Under fanen Visual , udvid sektionen Reference-etiketter .
  3. I dropdown-menuen Anvendelse til indstillinger, vælg Enheder.
  4. Træk returnerer til feltet Tilføj etiket .
  5. I dropdownmenuen Tilføj label skal du vælge Returns.
  6. Udvid Detalje-sektionen og slå den til Tændt.
  7. Træk returhastigheden til datafeltet Detaljer .
  8. I indstillingsmenuen Apply to to vælg Revenue.
  9. Træk Revenue variance til feltet Add label data.
  10. I dropdown-menuen Tilføj label skal du vælge Revenue variance.
  11. Udvid Detalje-sektionen og slå den til Tændt.
  12. Træk Revenue % for at målrette til Details-datafeltet.

Dine kort viser nu referenceetiketter med detaljer: Units-kortet viser returneringer med returrate, og Revenue-kortet viser indtægtsvariation med procentdel til mål. Du kan desuden formatere referenceetiketter, herunder ved at bruge betinget formatering til at justere farver baseret på værdier.

Skærmbillede af et kortbillede med referenceetiketter, der viser afkast og omsætningsvariation med detaljerede værdier.

Tilføj et topniveau-billede

Kortvisualiseringen kan vise et billede ved siden af billedforklaringsværdien i stedet for inde i det. Dette layout er nyttigt til større billeder og TIL SVG'er, der viser flere detaljer end et lille billedforklaringsikon, f.eks. en tendenslinje.

I dette eksempel skal du først forenkle kortet ved at fjerne de tidligere ekstra elementer, så tendensdiagrammet kan tage fokus:

  1. Vælg dit kortvisual.
  2. Fjern Kanal og Produktlinje fra feltbrønden Kategorier.
  3. I ruden Visualiseringer skal du vælge ikonet Formatér visualisering .
  4. Under fanen Visual skal du udvide Referencemærkater. På rullelisten Anvend indstillinger på skal du vælge Alle og derefter vælge Nulstil til standard nederst i sektionen.

Brug nu de tendensmålinger, der er oprettet i det indledende TMDL-script, til at få vist et kompakt kurvediagram og skifte til en rigere variant, når en bruger peger på kortet.

Målingerne Units 6mo trend, Units 6mo trend - hover, Revenue 6mo trendog Revenue 6mo trend - hover kalder alle den TrendSVG, der kan genbruges, for at gengive et SVG-kurvediagram i løbet af de seneste seks måneder. De pegefølsomme varianter tilføjer skyggelagte segmenter (grøn, når de stiger, rød, når de falder) og fed værdimærkater for hver periode.

Hvis du vil have vist tendensdiagrammet som billedet på øverste niveau på hvert kort og skifte til den pegefølsomme variant, når en bruger peger på kortet:

  1. Vælg dit kortvisual.
  2. I ruden Visualiseringer skal du vælge ikonet Formatér visualisering .
  3. Under fanen Visual , udvid Billedsektionen .
  4. I indstillingen Anvendelse tilrullemenuen vælger = Units.
  5. Angiv Stater til Standard.
  6. Skift billede til tændt.
  7. Sæt billedkilde til at vælge fra data.
  8. Vælg Units 6mo trend på rullelisten felt.
  9. Angiv Tilpas tilTilpas til billedet.
  10. Sæt tilstande til at svæve.
  11. Skift billede til tændt.
  12. Sæt billedkilde til at vælge fra data.
  13. Vælg Units 6mo trend – peg på feltrullen.
  14. Angiv Tilpas tilTilpas til billedet.
  15. I indstillingerne Anvendelse til rullemenuen vælger du Kortindtægter = .
  16. Angiv Stater til Standard.
  17. Skift billede til tændt.
  18. Sæt billedkilde til at vælge fra data.
  19. Vælg Omsætning 6mo-tendens på rullelisten i feltet.
  20. Angiv Tilpas tilTilpas til billedet.
  21. Sæt tilstande til at svæve.
  22. Skift billede til tændt.
  23. Sæt billedkilde til at vælge fra data.
  24. Vælg Revenue 6mo trend – peg på feltrullen.
  25. Angiv Tilpas tilTilpas til billedet.

Hvert kort viser nu et kurvediagram over de efterfølgende seks måneder af metrikværdien sammen med billedforklaringsværdien. Når en bruger peger på et kort, skifter diagrammet til den pegefølsomme variant med skyggelagte segmenter for stigning og fald og værdimærkater.

Hvis du vil fremhæve tendensdiagrammerne sammen med billedforklaringsværdierne, skal du justere kortlayoutet:

  1. Under Billedforklaring skal du slå til/fra-knappen Billede for hvert kort for at fjerne billedforklaringsikonerne.
  2. UnderKortoplægning> skal du sætte Arrangement til Vandret.
  3. Angiv rækkefølgen til Billedforklaring, Billede og Referencemærkater.
  4. Sæt Callout-størrelsen til 40%.

Skærmbillede af en kortvisualisering med SVG-kurvediagrammer på øverste niveau, der viser de sidste seks måneder med enheder og indtægter plus en pegetilstand, der tilføjer skyggelagte segmenter og værdimærkater.

Anvend betinget formatering

Du kan formatere mange elementer i kortvisualiseringen betinget, f.eks. skriftfarve, baggrundsfarve og kantfarve. Brug betinget formatering til at henlede opmærksomheden på bestemte kort, der er baseret på de underliggende data. Fremhæv f.eks. et kort, hvor indtægten er mindre end målet. Du kan finde flere oplysninger om de tilgængelige regeltyper, og hvordan du konfigurerer dem, under Oversigt over betinget formatering.

Skærmbillede af en kortvisualisering med betinget formatering anvendt, så kortet Revenue fremhæves, når indtægten er under målet.

Ældre enkeltkort- og flerkortsvisuals

Før udgivelsen i november 2025 inkluderede Power BI to separate kortvisuals: det enkeltkortvisuale til visning af én måling og multi-kort-visualet til visning af flere mål. Disse ældre visuelle elementer er stadig tilgængelige for bagudkompatibilitet. Eksisterende rapporter, der bruger disse visuelle effekter, fortsætter med at blive gengivet uden ændringer.

Det nye kort-grafik erstatter begge ældre visuals og anbefales til nye rapporter. Når du vælger kortikonet i visualiseringspanelet, skaber det det nye kort-visual, der blev introduceret i november 2025-udgivelsen for den generelle tilgængelighed.

For at få adgang til de ældre enkeltkort- og flerkortsgrafikker:

  1. I panelet Visualiseringer skal du vælge de tre prikker (...).
  2. Vælg Genskab standardvisuals.

De ældre visuals vises i det ufastgjorte område i Visualiseringspanelet, hvor brugerdefinerede visuals typisk vises. Brugere, der har brug for at opretholde legacy-adfærd, bør fortsætte med at bruge eksisterende legacy-kortvisuals i deres rapporter.

Overvejelser og begrænsninger

Ofte stillede spørgsmål om kort brugt i rapporter under forhåndsvisning

Hvorfor nulstilles kolonneindstillingen til 10, eller rækkeindstillingen til 10, når jeg tidligere satte den til et andet tal?

Under forhåndsvisningen kunne du sætte et kolonne- eller rækkenummer til et gitter, vertikalt eller horisontalt kortarrangement. Efter udgivelsen i november 2025 beholdes kun gitterarrangementet. Vertikale og horisontale arrangementer nulstilles til 10 kolonner og 10 rækker på eksisterende rapporter, inklusive offentliggjorte rapporter. Rullebjælker kan dukke op i dine eksisterende kortvisuals for at imødekomme disse indstillinger. Kun rapporter, der er offentliggjort eller oprettet med kortets visuelle version under forhåndsvisningen, er påvirket.

For at bringe dine kort tilbage til det forrige kolonne- og rækkenummer, opdater du disse indstillinger i november 2025 Power BI Desktop og publicerer rapporten eller rediger den på nettet.

Hvorfor fylder kortene mere?

Under forhåndsvisningen havde standardindstillingerne mindre polstring i kortene. Efter udgivelsen i november 2025 blev der tilføjet mere polstring og flere polstringsmuligheder til kortet. Den nye standard er 12px.

For at finde og justere disse indstillinger, søg efter "Padding" i formatpanelet og juster efter behov. I nogle tilfælde kan det at slå individuel polstring til kan gendanne tidligere polstringsindstillinger.

Padding kan sættes i en brugerdefineret temafil eller tilføjes til din egen tilpassede temafil for at anvende dem på alle kort i din rapport.

{
  "$schema": "https://raw.githubusercontent.com/microsoft/powerbi-desktop-samples/main/Report%20Theme%20JSON%20Schema/reportThemeSchema-2.149.json",
  "name": "CardVisualGA",
  "visualStyles": {
    "cardVisual": {
      "*": {
        "*": [{
            "$id": "default",
            "paddingUniform": 0        
        }]
      }
    }
  }
}

For mere information, se Power BI rapporttemaer.

Hvorfor er der et referencemærkeområde på kortene uden referencelabel?

Under forhåndsvisningen var reference-etiketterne en del af callout-området, når skillevæggen blev slukket. Efter november 2025 har reference-etiketterne deres eget område. Når et område er brugt i mindst ét kort, holder de andre kort det område tilgængeligt for at opretholde konsistens på tværs af kortene.

Hvorfor skjuler reference-etiketten teksten i callouten?

Under previewen var reference-etiketterne en del af callout-området. Efter november 2025 har reference-etiketterne deres eget område. De optager nu også som standard 50% af kortet.

For at justere kortets områdestørrelser, gå til Cards, sørg for at indstillingen Apply til control er sat til Alle, og juster derefter Callout-størrelsen i Layout %.

Hvorfor er der tilføjet en baggrundsfarve til kortets referencelabel?

Under forhåndsvisningen viste baggrundsfarven kun, når referenceetiketten havde en skillevægge. Skillevæggen gav reference-etiketterne deres eget område på kortet, som de derefter kunne tilføje baggrund til. Efter udgivelsen i november 2025 har referenceetiketter altid deres eget område med eller uden skillevægge, og en standardbaggrund bruges.

Baggrunden kan slås fra ved at gå til reference labels layout>background i formatpanelet og slå indstillingen fra .

Denne indstilling kan sættes i en brugerdefineret temafil eller tilføjes til din egen tilpassede temafil for at anvende dem på alle kort i din rapport.

{
  "$schema": "https://raw.githubusercontent.com/microsoft/powerbi-desktop-samples/main/Report%20Theme%20JSON%20Schema/reportThemeSchema-2.149.json",
  "name": "CardVisualGA",
  "visualStyles": {
    "cardVisual": {
      "*": {
        "*": [{
            "$id": "default",
            "backgroundTransparency": 100          
        }]
      }
    }
  }
}

For mere information, se Power BI rapporttemaer.

Hvorfor kan jeg ikke se mine billedindstillinger i formatpanelet?

Under forhåndsvisningen blev callout-billedet tilføjet ved hjælp af billedsektionen i formatpanelet og vist i callout-området ved siden af teksten. Efter november 2025 blev de tidligere tilføjede billeder bevaret i callout-området, og deres indstillinger blev flyttet til Callout>Image-sektionen i formatpanelet. At sætte billedsektionen i formatpanelet tilføjer nu et nyt billede til kortet med sit eget område.

Hvorfor er mit billede nu zoomet ind?

Under forhåndsvisningen blev nogle fejl rettet i standardindstillingerne for billedets størrelse ved opdateringen fra november 2025. Afhængigt af dine oprindelige indstillinger kan billedet se "zoomet ind" eller anderledes ud end før.

For at rette billedet, juster i formatpanelet Callout>Image-indstillingerne for at billedepasningpasser ellercentrerer, og tjek størrelses - og billedområdestørrelseskontroller i samme formateringssektion. Bemærk, at denne indstilling er et nyt sted, og billedsektionen på øverste niveau er nu for kortbilledet.

Hvorfor er mit kategoriheader-billede væk?

Gå til Kategori-headerindstillinger og slå tilføjelse billede til igen. Dit billede burde stadig være der.

Hvorfor ser det nye kortbillede i en offentliggjort rapport anderledes ud end i Desktop?

Forskelle mellem skrivebordet og tjenesten kan opstå i to scenarier.

  • Du bruger en version af Desktop før november 2025, hvor kortet var i preview. Da den blev udgivet til tjenesten, blev den opgraderet til at være den generelt tilgængelige version af det nye kortvisual. Enten opdaterer du dit Power BI Desktop eller redigerer rapporten på nettet efter publicering for at justere stilen.
  • Du bruger november 2025-versionen af Power BI Desktop, og opdateringen til det generelt tilgængelige kort er ikke i din serviceregion. Når serviceregionen er opdateret, ser kortet ens ud. Denne adfærd bør kun forekomme i nogle få regioner i slutningen af november 2025.

Standardfunktionsmådeændringer fra eksempelvisning

Standardfunktionsmåden for kortvisualiseringen adskiller sig fra funktionsmåden for eksempelvisningen. Ved generel tilgængelighed og i efterfølgende opdateringer har vi foretaget ændringer for at forbedre layoutkonsistens, justering af visualiseringer og den overordnede brugeroplevelse.

  • Justering af callout-billede: Under forhåndsvisningen var callout-billedet, der var justeret, begrænset til callout-labelteksten, hvilket kan efterlade en del af callout-containeren tom. Nu justerer billedet sig med callout-containeren.
  • Baggrundsbillede passer: Under forhåndsvisningen kunne baggrundsbilledet gentage sig for at fylde beholderen. Nu stemmer billedtilpasningsmulighederne overens med andre visuelle billedmuligheder som fit, stretch, fill og center.
  • Referencemærkets ydre polstring: Under forhåndsvisningen havde referenceetiketter en ydre polstring , der utilsigtet påvirkede callout-området ved at skubbe elementer ud af position omkring skillevæggen. Nu er den ydre polstringsindstilling fjernet fra referenceetiketter.
  • Fit to space (omdøbt fra Autogrid): Under forhåndsvisningen efterlod billederne en tom kolonne, der matchede det angivne antal kolonner. Med tilføjelsen af Fit to space arrangerer den kortene til at fylde den visuelle beholder baseret på de tilstedeværende kort. Denne indstilling kan slås fra for at vende tilbage til tidligere adfærd.

Formatindstillinger

  • Den (nye) kortvisualisering er generelt tilgængelig som kortvisualiseringen. Hvis du brugte kortvisualiseringen i prøveversionsfasen, kan du opleve funktionsmåde eller formateringsændringer, der afspejler forbedringer, der introduceres ved generel tilgængelighed og i efterfølgende opdateringer.
  • Det nye kort-grafik inkluderer opdateret standarddesign. Nyligt oprettede kort kan se anderledes ud end ældre kort og fra kort, der er oprettet under prøveversionen, mens eksisterende visualiseringer forbliver uændrede.
  • Når du formaterer kortets visual, kan du bemærke, at nogle af formatindstillingerne er placeret et andet eller nyt sted, eller at navnet på indstillingen er ændret.
  • I tidligere versioner af kortets grafik var Callout-billedet tilgængeligt som en del af Image-kortet. Dette billede findes nu i Callout-sektionen i Format-panelet .
  • Visse layoutarrangementer kan påvirke eksisterende rapporter, der brugte kortvisualiseringen i prøveversionsfasen. Denne effekt skyldes opdateringer foretaget på alle kortkomponenter som en del af den generelle tilgængelighedsudgivelse, herunder forbedringer af layout, styling og billedhåndtering.
  • Hvis du tidligere har brugt layoutet af billedkortet, så opdater dine visuelle effekter derefter ved at bruge Format-panelet til at få adgang til og konfigurere Callout-billedindstillingerne.