Definere akkumuleringskolonner, der sammenlægger værdier
Akkumuleringskolonner hjælper brugerne med at få indsigt i data ved at overvåge vigtige virksomhedsmål. En akkumuleringskolonne indeholder en samlet værdi, der er beregnet for de rækker, der er relateret til en bestemt række. Dette omfatter almindelige tabeller og aktivitetstabeller, f.eks. mails og aftaler.
I mere komplekse scenarier, kan du samle dataene over hierarkiet af rækker. Som administrator eller systemtilpasser kan du definere akkumuleringskolonner ved hjælp af tilpasningsværktøjerne i Power Apps, uden at en udvikler skal skrive kode.
Fordele og funktioner ved akkumuleringskolonner
Fordele og funktioner akkumuleringskolonner omfatter:
- Visuel redigering er nem. Du kan oprette akkumuleringskolonner ved hjælp af kolonneeditor, ligesom du gør, når du opretter en almindelig kolonne.
- Stort udvalg af aggregatfunktioner. Du kan samle data ved hjælp af følgende funktioner:
SUM
,COUNT
,MIN
,MAX
ogAVG
. - Fuld filterunderstøttelse af sammenlægning. Du kan angive forskellige filtre til kildetabellen eller den relaterede tabel under angivelse af flere betingelser.
- Fuld integration med brugergrænsefladen. Du kan medtage akkumuleringskolonnerne i formularer, visninger, diagrammer og rapporter.
- Akkumuleringskolonner er løsningskomponenter. Du kan nemt overføre akkumuleringskolonnerne som komponenter mellem miljøer og distribuere dem i løsninger.
- Akkumuleringskolonner og de beregnede kolonner er komplementære i forhold til hinanden. Du kan bruge en akkumuleringskolonne som en del af den beregnede kolonne, og omvendt.
- Du kan konfigurere akkumuleringskolonner til at anvende brugerdefinerede kontrolelementer.
Her er nogle eksempler på akkumuleringskolonner:
- Samlet anslået omsætning for åbne salgsmuligheder for en konto
- Samlet anslået omsætning for åbne salgsmuligheder på tværs af alle konti i et hierarki
- Samlet anslået omsætning for en salgsmulighed, herunder underordnede salgsmuligheder
- Samlede anslåede værdi af kvalificerede kundeemner, der er genereret af en kampagne
- Antallet af åbne sager med høj prioritet på tværs af alle konti i et hierarki
- Tidligste tidspunkt for oprettelse af alle åbne sager i høj prioritet for en konto
Hver akkumuleringskolonne opretter to ledsagende kolonner med <columnname>_date
og <columnname>_state
som suffiksmønster. Kolonnen _date
indeholder dato/klokkeslætsdata, og kolonnen _state
indeholder heltalsdata. Kolonnen _state
har følgende værdier:
Værdi | Delstat | Beskrivelse |
---|---|---|
0 | NotCalculated | Værdien af kolonnen er endnu ikke beregnet. |
1 | Beregnet | Værdien af kolonnen er beregnet pr. sidste opdateringstid i kolonnen _date. |
2 | OverflowError | Beregningen af kolonneværdien medførte en overløbsfejl. |
3 | OtherError | Beregningen af kolonneværdien blev ikke gennemført på grund af en intern fejl. Den følgende kørsel af beregningsjobbet vil sandsynligvis løse problemet. |
4 | RetryLimitExceeded | Beregning af kolonneværdien mislykkedes, fordi det maksimale antal forsøg på at beregne værdien blev overskredet, sandsynligvis på grund af et stort antal samtidigheds- og låsningskonflikter. |
5 | HierarchicalRecursionLimitReached | Beregning af kolonneværdien mislykkedes, fordi den maksimale hierarkidybdegrænse for beregning blev nået. |
6 | LoopDetected | Beregning af kolonneværdien mislykkedes, fordi der blev registreret en rekursiv løkke i rækkens hierarki. |
7 | CurrencyMissing | Beregningen af kolonneværdien mislykkedes, fordi den påkrævede feltvaluta mangler. |
Akkumuleringsberegninger
De aggregerede værdier beregnes ud fra planlagte systemjob, der køres asynkront i baggrunden. Du skal være administrator for at få vist og administrere akkumulering af job.
Vise akkumuleringsjob
Sådan får du vist akkumuleringsjob:
- Log på Power Apps, og vælg det miljø, du vil bruge.
- Vælg Indstillinger (gear) Avancerede indstillinger.
- Vælg Indstillinger > Systemjob.
- Vælg i visningsvælgeren Tilbagevendende systemjob.
- Du kan hurtigt finde et relevant job ved at filtrere efter type systemjob: Masseberegn akkumuleringsfelt eller Beregn akkumuleringsfelt.
Masseberegn akkumuleringsfelt
Akkumuleringsfeltet til masseberegning er en tilbagevendende opgave, der er oprettet for hver akkumuleringskolonne. Det køres én gang, når du opretter eller opdaterer en akkumuleringskolonne. Jobbet genberegner det angivne akkumuleringskolonnens værdi i alle eksisterende poster, der indeholder denne kolonne. Som standard kører jobbet 12 timer efter du har oprettet eller opdateret af en kolonne. Når kolonnen er tilpasset, nulstiller jobbet for at køre igen i 12 timer efter opdateringen. Den 12 timers forsinkelse er nødvendig for at sikre, at Masseberegn akkumuleringsfelt kører på tidspunkter, hvor miljøet ikke er i drift.
Vi anbefaler, at en administrator justerer starttidspunktet for et Masseberegn akkumuleringsfelt-job, efter at akkumuleringskolonnen er oprettet eller ændret, på en måde så det kører uden for driftstidspunkter. Et godt tidspunkt er f.eks. at køre jobbet ved midnat for at sikre en effektiv behandling af akkumuleringskolonner.
Bemærk, at når situationen opstår, hvor akkumuleringskolonnen aldrig opdateres, kører jobbet Masseberegn akkumuleringsfelt først igen for den pågældende kolonne, når der er gået 10 år. Denne funktionsmåde er tilsigtet. Når der ikke er opdateringer i de underliggende kolonner, der er knyttet til akkumuleringsfeltet, er der ikke nogen grund til at køre jobbet hyppigere.
Beregne akkumuleringskolonne
Beregn akkumuleringskolonne er en tilbagevendende opgave, der indeholder trinvise beregninger af alle akkumuleringskolonner i eksisterende rækker for en angivet tabel. Der er kun ét Beregn akkumuleringsfelt-job pr. tabel. De trinvise beregninger betyder, at kørslen af jobbet Beregn akkumuleringsfelt behandler de rækker, der er oprettet, opdateret eller slettet, når det sidste job i Masseberegn akkumuleringsfelt er færdigudført. Standardindstillingen for minimal gentagelse er én time. Jobbet oprettes automatisk, når den første akkumuleringskolonne for en tabel er oprettet, og slettes, når den sidste akkumuleringskolonne er slettet.
Mulighed for online-genberegning
I akkumuleringskolonnen i formularen vises et billede af typen lommeregner, akkumuleringsværdien og tidspunktet for den sidste beregning. Hvis du vil genberegne, skal du vælge billedet til lommeregneren og derefter vælge den Genberegn-knap, der vises.
Der er et par overvejelser, du bør være opmærksom, når du bruger indstillingen online-genberegning (manuel opdatering i formularen):
- Du skal have skriverettigheder til tabellen og skriveadgang til kilderækken, hvor du anmoder om opdateringen. Hvis du f.eks. beregner den forventede omsætning fra åbne salgsmuligheder for en konto, behøver du ikke at have skriverettigheder på salgsmulighedstabellen på firmatabellen.
- Denne indstilling er kun tilgængelig i online-tilstand. Du kan ikke bruge den, mens du arbejder offline.
- Det maksimale antal rækker under akkumuleringsopdateringen er begrænset til 50.000 rækker. I tilfælde af hierarkisk akkumulering gælder dette for de relaterede rækker på tværs af hierarkiet. Hvis grænsen nås, vises en fejlmeddelelse: Beregninger kan ikke udføres online, da beregningsgrænsen på 50.000 relaterede rækker er nået. Denne grænse gælder ikke, når den samlede akkumulering automatisk genberegnes ved systemjob.
- Den maksimale hierarkidybde er begrænset til 10 for kilderækken. Hvis grænsen overskrides, vises en fejlmeddelelse: Beregninger kan ikke udføres online, da grænsen for hierarkidybden på 10 for kilderækken er nået. Denne grænse gælder ikke, når den samlede akkumulering automatisk genberegnes ved systemjob.
Ændre gentagelsen af aggregering
Som systemadministrator kan du ændre gentagelsesmønstret for akkumuleringsjobbet, udskyde, midlertidigt standse eller genoptage akkumuleringsjobbet. Men du kan ikke annullere eller slette et akkumuleringsjob.
Hvis du vil afbryde, udskyde, genoptage eller ændre gentagelsesmønstret, skal du se systemjobbene. Flere oplysninger: Vise akkumuleringsjob
På navigationslinjen skal du vælge Handlinger og vælge den ønskede handling.
For Masseberegn akkumuleringsfelt-jobbet er de tilgængelige indstillinger: Genoptag, Udsæt og Pause.
For Beregn akkumuleringsfelt-jobbet er de tilgængelige indstillinger: Rediger gentagelse, Genoptag, Udsæt og Pause.
Eksempler
Lad os se på flere eksempler med akkumuleringskolonner. Vi vil samle data for en række fra relaterede rækker med og uden brug af et hierarki. Vi vil også samle data til en række fra relaterede aktiviteter og aktiviteter, der indirekte vedrører en række, via tabellen ActivityParty. I hvert eksempel definerer vi akkumuleringskolonnen ved hjælp af kolonneeditor. Du åbner kolonneeditoren ved at åbne løsningsoversigten og udvide Komponenter > Tabeller. Vælg den ønskede tabel, og vælg derefter Kolonner. Vælg Ny. I editoren angiver du de nødvendige oplysninger for kolonnen, herunder Kolonnetype og Datatype. I Kolonnetype skal du vælge Akkumulering, når du har valgt datatypen. Datatyper omfatter decimaltal eller heltal, valuta og dato og klokkeslæt. Vælg knappen Rediger ud for Kolonnetype. Du kommer til akkumuleringskolonnens definitionseditor. Definitionen af akkumuleringskolonne består af tre afsnit: Kildetabel, **Relateret tabel og Aggregering.
I afsnittet Kildetabel angiver du den tabel, som akkumuleringskolonnen er defineret for, og hvorvidt du sammenlægger via et hierarki. Du kan tilføje filtre med flere betingelser for at angive rækker i det hierarki, du vil bruge til akkumuleringen.
I afsnittet Relateret tabel angiver du den tabel, som du vil akkumulere over. Dette afsnit er valgfri, når du vælger at oprette en akkumulering over hierarkiet på kildetabellen. Du kan tilføje filtre med flere betingelser for at angive hvilke relaterede rækker, der skal indgå i beregningen. For eksempel kan du medtage omsætning fra åbne salgsmuligheder med en årlig omsætning, der er større end USD 1000.
I afsnittet Akkumulering kan du angive metrikværdien, du vil beregne. Du kan vælge tilgængelige aggregatfunktioner som f.eks. SUM, COUNT, MIN, MAX eller AVG.
Aggregerede data for en række fra relaterede rækker
I dette eksempel bruges ikke et hierarki. Den samlede anslåede omsætning beregnes for en konto, fra de relaterede åbne leads.
Aggregerede data for en række fra de underordnede rækker over hierarkiet
I dette eksempel kan vi beregne den samlede anslåede omsætning for en salgsmulighed, herunder underordnede leads i hierarkiet.
Aggregerede data for en række fra de relaterede rækker over hierarkiet
I dette eksempel kan vi beregne den samlede anslåede omsætning for åbne salgsmuligheder for alle konti over hierarkiet.
Aggregerede data for en række fra alle relaterede aktiviteter
I dette eksempel skal vi beregne det samlede tidsforbrug og det fakturerede forbrug fra alle aktiviteter, der er knyttet til et firma. Dette kan omfatte tid brugt på telefonen, på aftaler eller på brugerdefinerede aktiviteter.
I tidligere versioner kunne du definere en akkumuleringskolonne for en enkelt aktivitet som f.eks. telefonopkald, fax eller aftale. Men for at opnå resultatet af eksemplet vist nedenfor, skulle du summere data ved hjælp af beregnede kolonner. Du kan gøre det på én gang ved at definere en akkumuleringskolonne for tabellen Aktivitet.
Samle data til en række fra alle relaterede aktiviteter og aktiviteter, der er indirekte relateret via tabellen Aktivitetspart
I dette eksempel skal vi tælle det samlede antal mails, der sendes til et firma, hvor kontoen er angivet på mailens "Til-modtager"- eller "Cc-modtager"-linje. Dette gøres ved at angive Deltagelsestype i FILTRE for tabellen Aktivitetspart i akkumuleringskolonnedefinitionen. Hvis du ikke bruger filtrering, bruges alle tilgængelige typer af deltagelse af en aktivitet i beregningen.
Du kan finde flere oplysninger om tabellen Aktivitetspart og tilgængelige deltagelsestyper for en bestemt aktivitet, under Tabellen Aktivitetspart.
Aggregerede data for en række fra relaterede rækker med AVG-operatoren
I dette eksempel skal vi beregne en gennemsnitlig anslået omsætning fra alle salgsmuligheder, der er knyttet til et firma.
Følgende eksempel viser, hvordan du beregner en gennemsnitlig anslået omsætning fra relaterede salgsmuligheder via et firmahierarki. Gennemsnitligt anslået omsætning kan ses på hvert niveau i hierarkiet.
Overvejelser i forbindelse med akkumuleringskolonne
Du skal være opmærksom på visse betingelser og begrænsninger, når du arbejder med akkumuleringskolonner:
- Du kan definere op til 200 akkumuleringskolonner for miljøet og op til 50 akkumuleringskolonner pr. tabel. De aktuelle standardværdier og det forrige maksimum er 100 pr. miljø og 10 pr. tabel. Flere oplysninger: Definere det maksimale antal akkumuleringskolonner i et miljø eller en tabel
- En arbejdsproces kan ikke udløses ved opdateringer af akkumuleringskolonner.
- En vent-betingelse til arbejdsprocessen kan ikke bruge en akkumuleringskolonne.
- En akkumulering over akkumuleringskolonnen understøttes ikke.
- En opdatering kan ikke referere til en beregnet kolonne, der bruger en anden beregnet kolonne, selvom alle kolonner for den anden beregnede kolonne findes på den aktuelle tabel.
- En akkumuleringskolonne opdateres ikke automatisk, hvis den bruger en formelkolonne, der er afhængig af de tidsbundne funktioner
Now()
ogIsUTCToday()
. Knappen Online genberegning (en manuel opdatering af formularen) eller knappen Genberegn skal bruges til at beregne den seneste værdi i akkumuleringskolonnen. - Akkumuleringen kan kun anvende filtre på kildetabellen eller relaterede tabeller, simple kolonner eller ikke-komplekse beregnede kolonner.
- En akkumulering kan kun udføres over relaterede tabeller med en 1:N-relation. En akkumulering kan ikke udføres over N:N-relationer.
- En akkumulering kan ikke udføres over en 1:N-relation for aktivitetstabellen eller tabellen Aktivitetspart.
- Forretningsregler, arbejdsprocesser eller beregnede kolonner benytter altid den sidste beregnede værdi i en akkumuleringskolonne.
- En akkumuleringskolonne er samlet under systembrugerkonteksten. Alle brugere kan se den samme akkumuleringskolonneværdi. Du kan styre synligheden af akkumuleringskolonner med sikkerheden på kolonneniveau (FLS) ved at begrænse, hvem der kan få adgang til akkumuleringskolonnen. Flere oplysninger: Sikkerhed på kolonneniveau til adgangsstyring.
Definere det maksimale antal akkumuleringskolonner i et miljø eller en tabel
Du kan definere op til 200 akkumuleringskolonner for miljøet og op til 50 akkumuleringskolonner pr. tabel. De aktuelle standardværdier og det forrige maksimum er 100 pr. miljø og 10 pr. tabel.
Hvis du vil øge maksimumværdien, skal du følge disse trin:
- Gå til Power Apps (make.powerapps.com), vælg Tabel i venstre navigationsrude, og åbn derefter tabellen Organisation.
- Vælg listen n mere, og skriv derefter maxr i feltet Søg. Markér kolonnerne MaxRollupFieldsPerOrg og MaxRollupFieldsPerEntity, og vælg derefter Gem.
- Rediger værdierne for MaxRollupFieldsPerOrg (op til 200) og MaxRollupFieldsPerEntity (op til 50).
Vigtigt
Hvis der er mere end 100 akkumuleringskolonner i et miljø, kan det medføre forringet ydeevne for akkumuleringskolonner og øget lagerforbrug.
Præcisionsafrunding
Hvis præcisionen af den aggregerede kolonne er større end nøjagtigheden af akkumuleringskolonnen, rundes den aggregerede kolonnepræcision ned til nøjagtigheden af akkumuleringskolonnen, inden akkumuleringen udføres. Lad os se på et specifikt eksempel for at illustrere problemet. Lad os antage, at akkumuleringskolonnen i firmatabellen til beregning af den samlede anslåede omsætning for de tilknyttede salgsmuligheder har en præcision på to decimaler. Feltet Kolonnen Omsætning i salgsmulighedstabellen er den samlede kolonne med nøjagtigheden af fire decimaler. I vores eksempel har firmaet to tilknyttede salgsmuligheder. Den samlede sum af den anslåede omsætning beregnes på følgende måde:
- Anslået omsætning for den første salgsmulighed: $1000,0041
- Anslået omsætning for den anden salgsmulighed: $2000,0044
- Den samlede sum af anslået Omsætning: $1000,00 + $2000,00 = $3000,00
Som du kan se, udføres præcisionsafrunding til to decimaler på den samlede kolonne, inden sammenlægningen udføres.
Forskellige funktionsmåder fra tilknyttede gitre
Visse tabelformularer, som firmaet eller kontaktpersonen, standard, indeholder de tilknyttede gitre. Kontoformularen indeholder f.eks. kontakter, sager, salgsmuligheder og andre gitre. Nogle af de rækker, der vises i gitrene for firmaformular, er direkte relateret til firmarækken, mens andre går indirekte gennem relationer med andre rækker. Til sammenligning bruger samlingen af akkumuleringskolonnen kun direkte relationer, der udtrykkeligt er angivet i definitionen af akkumuleringskolonnen. Ingen andre relationer kommer i betragtning. Lad os se på eksemplet nedenfor for at illustrere forskellen i funktionsmåde.
- Konto A1 har en primær kontaktperson, P1. Sag C1 er tilknyttet firmaet A1 (C1.Kundekolonne = A1), og sag C2 er tilknyttet kontaktpersonen P1 (C2.Kundekolonne = P1).
- Gitteret Sager på formularen Konto for rækken A1 viser to sager, C1 og C2.
- Akkumuleringskolonnen på firmatabellen, kaldet Samlede antal sager, bruges til at tælle de sager, der er tilknyttet firmaet.
- Vi kan angive de sager, der har kunderelation med firmaet, i kolonnedefinitionen for firmaakkumulering. Efter sammenlægning er det samlede antal sager lig med 1 (sag C1). Sag C2 medtages ikke i det samlede antal, som er direkte relateret til kontaktpersonen, ikke firmaet, og kan ikke defineres eksplicit i kolonnedefinitionen af firmaakkumulering. Derfor svarer det samlede antal sager, der returneres af akkumuleringshandlingen, ikke til antallet af sager, der er vist i gitteret Sager.
Se også
Oprette og redigere kolonner
Definere beregnede kolonner
Formel, beregnede kolonner og akkumuleringskolonner, der bruger kode
Funktionsmåde i og format for kolonnen Dato og klokkeslæt
Definition og forespørgsel om hierarkiske data
Bemærk
Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)
Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).