Opret og administrer relationer i Power BI DesktopCreate and manage relationships in Power BI Desktop

Når du importerer flere tabeller, er det muligt, at du skal udføre analyser ved hjælp af data fra alle disse tabeller.When you import multiple tables, chances are you'll do some analysis using data from all those tables. Der skal være relationer mellem disse tabeller, før du kan beregne præcise resultater og vise korrekte oplysninger i dine rapporter.Relationships between those tables are necessary to accurately calculate results and display the correct information in your reports. I Power BI Desktop er det nemt at oprette disse relationer.Power BI Desktop makes creating those relationships easy. I de fleste tilfælde behøver du faktisk ikke at foretage dig noget – funktionen Registrer automatisk gør det for dig.In fact, in most cases you won’t have to do anything, the autodetect feature does it for you. Men nogle gange skal du muligvis selv oprette relationer, eller du skal muligvis foretage ændringer i en relation.However, sometimes you might have to create relationships yourself, or need to make changes to a relationship. I begge tilfælde er det vigtigt at forstå relationer i Power BI Desktop, og hvordan du opretter og redigerer dem.Either way, it’s important to understand relationships in Power BI Desktop and how to create and edit them.

Registrer automatisk under indlæsningAutodetect during load

Hvis du forespørger to eller flere tabeller på én gang, når der indlæses data, forsøger Power BI Desktop at finde og oprette relationer for dig.If you query two or more tables at the same time, when the data is loaded, Power BI Desktop attempts to find and create relationships for you. Relationsindstillingerne Kardinalitet, Tværgående filterretning og Gør denne relation aktiv indstilles automatisk.The relationship options Cardinality, Cross filter direction, and Make this relationship active are automatically set. Power BI Desktop kigger på kolonnenavne i de tabeller, som du forespørger, for at se, om der er mulige relationer.Power BI Desktop looks at column names in the tables you're querying to determine if there are any potential relationships. Hvis der er, oprettes disse relationer automatisk.If there are, those relationships are created automatically. Hvis Power BI Desktop ikke med stor sandsynlighed kan afgøre, om der er et match, oprettes relationen ikke.If Power BI Desktop can't determine with a high level of confidence there's a match, it doesn't create the relationship. Du kan dog stadig bruge dialogboksen Administrer relationer til at oprette eller redigere relationer manuelt.However, you can still use the Manage relationships dialog box to manually create or edit relationships.

Opret en relation med automatisk registreringCreate a relationship with autodetect

Under fanen Hjem skal du vælge Administrer relationer > Automatisk registrering.On the Home tab, select Manage Relationships > Autodetect.

Opret en relation med automatisk registrering

Opret en relation manueltCreate a relationship manually

  1. Under fanen Hjem skal du vælge Administrer relationer > Ny.On the Home tab, select Manage Relationships > New.

  2. I dialogboksen Opret relation skal du vælge en tabel på rullelisten for den første tabel.In the Create relationship dialog box, in the first table drop-down list, select a table. Vælg den kolonne, du vil bruge i relationen.Select the column you want to use in the relationship.

  3. Vælg den anden tabel, du vil bruge i relationen, på rullelisten for den anden tabel.In the second table drop-down list, select the other table you want in the relationship. Vælg den anden kolonne, du vil bruge, og vælg derefter OK.Select the other column you want to use, and then elect OK.

    Opret en manuel relation

Power BI Desktop konfigurerer som standard automatisk egenskaberne Kardinalitet (retning), Tværgående filterretning og Gør denne relation aktiv for din nye relation.By default, Power BI Desktop automatically configures the options Cardinality (direction), Cross filter direction, and Make this relationship active for your new relationship. Du kan dog ændre disse indstillinger, hvis det er nødvendigt.However, you can change these settings if necessary. Du kan finde flere oplysninger under Om yderligere indstillinger.For more information, see Understanding additional options.

Hvis ingen af de tabeller, der er valgt for relationen, har entydige værdier, får du vist følgende fejl: En af kolonnerne skal have entydige værdier.If none of the tables selected for the relationship has unique values, you'll see the following error: One of the columns must have unique values. Mindst én tabel i en relation skal have en særskilt og entydig liste over nøgleværdier, som er et almindeligt krav for alle relationsdatabaseteknologier.At least one table in a relationship must have a distinct, unique list of key values, which is a common requirement for all relational database technologies.

Hvis du får vist denne fejl, er der et par forskellige måder, du kan rette problemet på:If you encounter that error, there are a couple ways to fix the issue:

  • Brug Fjern identiske rækker til at oprette en kolonne med entydige værdier.Use Remove Duplicates to create a column with unique values. Ulempen ved denne metode er, at du kan miste oplysninger, når dublerede rækker fjernes, og der er ofte en god grund til, at en nøgle (række) er dubleret.The drawback to this approach is that you might lose information when duplicate rows are removed; often a key (row) is duplicated for good reason.
  • Tilføj en mellemliggende tabel, der består af listen over særskilte nøgleværdier i modellen, som derefter knyttes til begge de oprindelige kolonner i relationen.Add an intermediary table made of the list of distinct key values to the model, which will then be linked to both original columns in the relationship.

Du kan finde flere oplysninger om dette i dette blogindlæg.For more information, see this blog post.

Rediger en relationEdit a relationship

  1. Under fanen Hjem skal du vælge Administrer relationer.On the Home tab, select Manage Relationships.

  2. I dialogboksen Administrer relationer skal du vælge relationen og derefter vælge Rediger.In the Manage relationships dialog box, select the relationship, then select Edit.

Konfigurer yderligere indstillingerConfigure additional options

Når du opretter eller redigerer en relation, kan du konfigurere yderligere indstillinger.When you create or edit a relationship, you can configure additional options. Power BI Desktop konfigurerer automatisk yderligere indstillinger baseret på det bedste gæt, hvilket kan være forskelligt for hver relation, afhængigt af dataene i kolonnerne.By default, Power BI Desktop automatically configures additional options based on its best guess, which can be different for each relationship based on the data in the columns.

KardinalitetCardinality

Indstillingen Kardinalitet kan have en af følgende indstillinger:The Cardinality option can have one of the following settings:

Mange til én (*:1) : En mange-til-en-relation er den mest almindelige, standardtype af relationer.Many to one (*:1): A many-to-one relationship is the most common, default type of realtionship. Det betyder, at kolonnen i en given tabel kan have mere end én forekomst af en værdi, og at den anden relaterede tabel, der ofte kaldes opslagstabellen, kun har én forekomst af en værdi.It means the column in a given table can have more than one instance of a value, and the other related table, often know as the lookup table, has only one instance of a value.

Én til én (1:1) : I en relation af typen én til én har kolonnen i én tabel kun én forekomst af en bestemt værdi, og den anden relaterede tabel har kun én forekomst af en bestemt værdi.One to one (1:1): In a one-to-one relationship, the column in one table has only one instance of a particular value, and the other related table has only one instance of a particular value.

Én til mange (1:*) : I en relation af typen én til mange har kolonnen i én tabel kun én forekomst af en bestemt værdi, og den anden relaterede tabel kan have mere end én forekomst af en værdi.One to many (1:*): In a one-to-many relationship, the column in one table has only one instance of a particular value, and the other related table can have more than one instance of a value.

Mange til mange (*:*) : Med sammensatte modeller kan du oprette mange til mange-relationer mellem tabeller, hvilket fjerner kravene til entydige værdier i tabeller.Many to many (*:*): With composite models, you can establish a many-to-many relationship between tables, which removes requirements for unique values in tables. Tidligere midlertidige løsninger, f.eks. introduktion af nye tabeller kun for at oprette relationer, fjernes også.It also removes previous workarounds, such as introducing new tables only to establish relationships. Du kan finde flere oplysninger under Relationer med mange til mange-kardinalitet.For more information, see Relationships with a many-many cardinality.

Du kan finde flere oplysninger om, hvornår du skal ændre kardinaliteten, under Om yderligere indstillinger.For more information about when to change cardinality, see Understanding additional options.

Tværgående filterretningCross filter direction

Indstillingen Tværgående filterretning kan have én af følgende indstillinger:The Cross filter direction option can have one the following settings:

Begge: Begge tabeller behandles i forbindelse med filtrering, som om de er en enkelt tabel.Both: For filtering purposes, both tables are treated as if they're a single table. Indstillingen Begge fungerer fint sammen med en enkelt tabel, der har flere opslagstabeller, som omgiver den.The Both setting works well with a single table that has a number of lookup tables that surround it. Et eksempel kan være en tabel med faktiske salgsværdier med en opslagstabel for afdelingen.An example is a sales actuals table with a lookup table for its department. Denne konfiguration kaldes også en stjerneskemakonfiguration (en central tabel med flere opslagstabeller).This configuration is often called a star schema configuration (a central table with several lookup tables). Men hvis du har to eller flere tabeller, der også har opslagstabeller (hvor nogle af dem er fælles), er det ikke en god ide at bruge indstillingen Begge.However, if you have two or more tables that also have lookup tables (with some in common) then you wouldn't want to use the Both setting. Hvis vi fortsætter med eksemplet, skal du i dette tilfælde også have en budgetsalgstabel, der registrerer målbudgettet for hver afdeling.To continue the previous example, in this case, you also have a budget sales table that records target budget for each department. Og afdelingstabellen er knyttet til både salgs- og budgettabellen.And, the department table is connected to both the sales and the budget table. Undgå indstillingen Begge for denne form for konfiguration.Avoid the Both setting for this kind of configuration.

Enkelt: Den mest almindelige standardretning, hvilket betyder, at filtreringsindstillinger i tilknyttede tabeller fungerer i den tabel, hvor værdierne samles.Single: The most common, default direction, which means filtering choices in connected tables work on the table where values are being aggregated. Hvis du importerer en datamodel fra Power Pivot i Excel 2013 eller tidligere, har alle relationer en enkelt retning.If you import a Power Pivot in Excel 2013 or earlier data model, all relationships will have a single direction.

Du kan finde flere oplysninger om, hvornår du skal ændre den tværgående filterretning, under Om yderligere indstillinger.For more information about when to change cross filter direction, see Understanding additional options.

Aktivér denne relationMake this relationship active

Når denne indstilling er markeret, fungerer relationen som den aktive standardrelation.When checked, the relationship serves as the active, default relationship. I de tilfælde, hvor der er mere end én relation mellem to tabeller, gør den aktive relation det muligt for Power BI Desktop automatisk at oprette visualiseringer, der inkluderer begge tabeller.In cases where there is more than one relationship between two tables, the active relationship provides a way for Power BI Desktop to automatically create visualizations that include both tables.

Du kan få flere oplysninger om, hvornår du skal gøre en bestemt relation aktiv, under Om yderligere indstillinger.For more information about when to make a particular relationship active, see Understanding additional options.

Om relationerUnderstanding relationships

Når du har knyttet to tabeller til en relation, kan du arbejde med dataene i begge tabeller, som om de var en enkelt tabel. På den måde undgår du at skulle bekymre dig om relationsdetaljer, og du behøver ikke at fladgøre disse tabeller til en enkelt tabel, før du importerer dem.Once you've connected two tables together with a relationship, you can work with the data in both tables as if they were a single table, freeing you from having to worry about relationship details, or flattening those tables into a single table before importing them. I mange situationer kan Power BI Desktop automatisk oprette relationer for dig.In many situations, Power BI Desktop can automatically create relationships for you. Men hvis Power BI Desktop ikke med en høj grad af sikkerhed kan afgøre, om der findes en relation mellem to tabeller, oprettes relationen ikke automatisk.However, if Power BI Desktop can’t determine with a high-degree of certainty that a relationship between two tables should exist, it doesn't automatically create the relationship. Hvis det er tilfældet, skal du gøre det.In that case, you must do so.

Lad os gennemgå et hurtigt selvstudie, så vi bedre kan vise dig, hvordan relationer fungerer i Power BI Desktop.Let’s go through a quick tutorial, to better show you how relationships work in Power BI Desktop.

Tip

Du kan selv udføre denne lektion:You can complete this lesson yourself:

  1. Kopiér følgende tabel ProjectHours til et Excel-regneark (undtagen titlen), vælg alle cellerne, og vælg derefter Indsæt > Tabel.Copy the following ProjectHours table into an Excel worksheet (excluding the title), select all of the cells, and then select Insert > Table.
  2. I dialogboksen Opret tabel skal du vælge OK.In the Create Table dialog box, select OK.
  3. Vælg en tabelcelle, vælg Tabeldesign > Tabelnavn, og åbn derefter ProjectHours.Select any table cell, select Table Design > Table Name, and then enter ProjectHours.
  4. Gør det samme for tabellen CompanyProject.Do the same for the CompanyProject table.
  5. Importér dataene ved hjælp af Hent data i Power BI Desktop.Import the data by using Get Data in Power BI Desktop. Vælg de to tabeller som datakilde, og vælg derefter Indlæs.Select the two tables as a data source, and then select Load.

Den første tabel, ProjectHours, er en oversigt over arbejdsanmodninger, der registrerer antallet af timer, som en person har arbejdet på et bestemt projekt.The first table, ProjectHours, is a record of work tickets that record the number of hours a person has worked on a particular project.

ProjectHoursProjectHours

TicketTicket SubmittedBySubmittedBy HoursHours ProjectProject DateSubmitDateSubmit
10011001 Brewer, AlanBrewer, Alan 2222 BlåBlue 1/1/20131/1/2013
10021002 Brewer, AlanBrewer, Alan 2626 RedRed 2/1/20132/1/2013
10031003 Ito, ShuIto, Shu 3434 YellowYellow 12/4/201212/4/2012
10041004 Brewer, AlanBrewer, Alan 1313 OrangeOrange 1/2/20121/2/2012
10051005 Bowen, EliBowen, Eli 2929 PurplePurple 1/10/201310/1/2013
10061006 Bento, NunoBento, Nuno 3535 GrønGreen 2/1/20132/1/2013
10071007 Hamilton, DavidHamilton, David 1010 YellowYellow 1/10/201310/1/2013
10081008 Han, MuHan, Mu 2828 OrangeOrange 1/2/20121/2/2012
10091009 Ito, ShuIto, Shu 2222 PurplePurple 2/1/20132/1/2013
10101010 Bowen, EliBowen, Eli 2828 GrønGreen 10/1/201310/1/2013
10111011 Bowen, EliBowen, Eli 99 BlåBlue 10/15/201310/15/2013

Den anden tabel, CompanyProject, er en liste over projekter med en tildelt prioritet: A, B eller C.This second table, CompanyProject, is a list of projects with an assigned priority: A, B, or C.

CompanyProjectCompanyProject

ProjNameProjName PriorityPriority
BlåBlue AA
RedRed BB
GrønGreen CC
YellowYellow CC
PurplePurple BB
OrangeOrange CC

Bemærk, at de enkelte tabeller har en projektkolonne.Notice that each table has a project column. De hedder noget forskelligt, men værdierne ser ud til at være de samme.Each is named slightly different, but the values look like they’re the same. Det er vigtigt, og det vender vi tilbage til om lidt.That’s important, and we’ll get back to it in soon.

Nu, hvor vi har importeret vores to tabeller til en model, skal vi oprette en rapport.Now that we have our two tables imported into a model, let’s create a report. Det første, vi ønsker at gøre, er at få antallet af timer sendt efter projektprioritet, så vi vælger Prioritet og Timer i ruden Felter.The first thing we want to get is the number of hours submitted by project priority, so we select Priority and Hours from the Fields pane.

Vælg Prioritet og Timer i ruden Felter

Hvis vi kigger på vores tabel på rapportlærredet, kan du se, at antallet af timer er 256 for de enkelte projekter, hvilket også er totalen.If we look at our table in the report canvas, you’ll see the number of hours is 256 for each project, which is also the total. Det tal er helt klart ikke korrekt.Clearly this number isn’t correct. Hvorfor?Why? Det skyldes, at vi ikke kan beregne en sumtotal af værdier fra én tabel (Timer i tabellen Projekt) opdelt efter værdier i en anden tabel (Prioritet i tabellen CompanyProject), hvis der ikke findes en relation mellem disse to tabeller.It’s because we can’t calculate a sum total of values from one table (Hours in the Project table), sliced by values in another table (Priority in the CompanyProject table) without a relationship between these two tables.

Så lad os oprette en relation mellem disse to tabeller.So, let’s create a relationship between these two tables.

Kan du huske de kolonner, vi så i begge tabeller med et projektnavn men med værdier, der ser ens ud?Remember those columns we saw in both tables with a project name, but with values that look alike? Vi vil bruge disse to kolonner til at oprette en relation mellem vores tabeller.We'll use these two columns to create a relationship between our tables.

Hvorfor disse kolonner?Why these columns? Hvis vi ser på kolonnen Project i tabellen ProjectHours, kan vi se værdier som Blue, Red, Yellow, Orange osv.Well, if we look at the Project column in the ProjectHours table, we see values like Blue, Red, Yellow, Orange, and so on. Vi kan faktisk se flere rækker, der indeholder den samme værdi.In fact, we see several rows that have the same value. Vi har mange farveværdier for Project.In effect, we have many color values for Project.

Hvis vi kigger på kolonnen ProjName i tabellen CompanyProject, kan vi se, at der kun er én af hver farveværdi for projektnavnet.If we look at the ProjName column in the CompanyProject table, we see there’s only one of each of the color values for the project name. Hver farveværdi i denne tabel er entydig, og det er vigtigt, da vi kan oprette en relation mellem disse to tabeller.Each color value in this table is unique, and that’s important, because we can create a relationship between these two tables. I dette tilfælde en mange til en-relation.In this case, a many-to-one relationship. I en mange til en-relation skal mindst én kolonne i en af tabellerne indeholde entydige værdier.In a many-to-one relationship, at least one column in one of the tables must contain unique values. Der er nogle yderligere indstillinger for nogle relationer, som vi kigger på senere.There are some additional options for some relationships, which we'll look at later. Nu kan vi oprette en relation mellem projektkolonnerne i hver af vores to tabeller.For now, let’s create a relationship between the project columns in each of our two tables.

Sådan opretter du en ny relationTo create the new relationship

  1. Vælg Administrer relationer under fanen Hjem.Select Manage Relationships from the Home tab.

  2. I Administrer relationer skal du vælge Ny for at åbne dialogboksen Opret relationer, hvor vi kan vælge de tabeller, kolonner og eventuelle yderligere indstillinger, vi vil bruge til vores relation.In Manage relationships, select New to open the Create relationship dialog box, where we can select the tables, columns, and any additional settings we want for our relationship.

  3. I den første rulleliste skal du vælge ProjectHours som den første tabel og derefter vælge kolonnen Project.In the first drop-down list, select ProjectHours as the first table, then select the Project column. Dette er mange-siden i vores relation.This side is the many side of our relationship.

  4. På den anden rulleliste er CompanyProject forudvalgt som den anden tabel.In the second drop-down list, CompanyProject is preselected as the second table. Vælg kolonnen ProjName.Select the ProjName column. Denne side er én-siden i vores relation.This side is the one side of our relationship.

  5. Acceptér standardværdierne for relationsindstillingerne, og vælg derefter OK.Accept the defaults for the relationship options, and then select OK.

    Dialogboksen Opret relation

  6. I dialogboksen Administrer relationer skal du vælge Luk.In the Manage relationships dialog box, select Close.

Vi kan nu afsløre, at du lige har oprettet denne relation på den svære måde.In the interest of full disclosure, you just created this relationship the hard way. Du kunne bare have valgt knappen Registrer automatisk i dialogboksen Administrer relationer.You could have just selected Autodetect in the Manage relationships dialog box. Registrer automatisk ville faktisk have oprettet relationerne automatisk for dig, da du indlæste dataene, hvis begge kolonner havde det samme navn.In fact, autodetect would have automatically created the relationship for you when you loaded the data if both columns had the same name. Men det er der jo ingen udfordringer i!But, what’s the challenge in that?

Lad os nu se på tabellen på vores rapportlærred igen.Now, let’s look at the table in our report canvas again.

Oprettet relation med Prioritet og Timer

Den ser meget bedre ud, gør den ikke?That looks a whole lot better, doesn’t it?

Når vi opsummerer timer efter Prioritet, søger Power BI Desktop efter hver forekomst af de entydige farveværdier i opslagstabellen CompanyProject og søger derefter efter hver forekomst af hver af disse værdier i tabellen ProjectHours. Derefter beregnes en samlet sum for hver enkelt værdi.When we sum up hours by Priority, Power BI Desktop looks for every instance of the unique color values in the CompanyProject lookup table, looks for every instance of each of those values in the ProjectHours table, and then calculates a sum total for each unique value.

Det var nemt.That was easy. Med Registrer automatisk behøver du måske slet ikke at gøre så meget.In fact, with autodetect, you might not even have to do that much.

Om yderligere indstillingerUnderstanding additional options

Når der oprettes en relation enten vha. Registrer automatisk, eller ved at du opretter den manuelt, konfigurerer Power BI Desktop automatisk yderligere indstillinger på baggrund af dataene i tabellerne.When a relationship is created, either with autodetect or one you create manually, Power BI Desktop automatically configures additional options based on the data in your tables. Disse yderligere indstillinger for relationer befinder sig i den nederste del af dialogboksen Opret relation og Rediger relation.These additional relationship options are located in the lower portion of the Create relationship and Edit relationship dialog boxes.

Indstillinger for relationer

Power BI angiver som regel disse automatisk, og du behøver ikke at justere dem. Men der er mange situationer, hvor det kan være en god idé at konfigurere disse indstillinger selv.Power BI typically sets these options automatically and you won’t need to adjust them; however, there are several situations where you might want to configure these options yourself.

Automatisk opdatering af relationerAutomatic relationship updates

Du kan administrere den måde, som Power BI behandler og automatisk justerer relationer på i dine rapporter og modeller.You can manage how Power BI treats and automatically adjusts relationships in your reports and models. Hvis du vil angive, hvordan Power BI skal håndtere indstillinger for relationer, skal du vælge Filer > Indstillinger > Indstillinger fra Power BI Desktop og derefter vælge Dataindlæsning i ruden til venstre.To specify how Power BI handles relationships options, select File > Options and settings > Options from Power BI Desktop, and then select Data Load in the left pane. Indstillingerne for Relationer vises.The options for Relationships appear.

Indstillinger for relationer

Der er tre indstillinger, som kan vælges og aktiveres:There are three options that can be selected and enabled:

  • Importér relationer fra datakilder ved første indlæsning: Denne indstilling er valgt som standard.Import relationships from data sources on first load: This option is selected by default. Når den er valgt, søger Power BI efter relationer, der er defineret i din datakilde, f.eks. relationer for referencenøgle/primær nøgle i dit data warehouse.When it's selected, Power BI checks for relationships defined in your data source, such as foreign key/primary key relationships in your data warehouse. Hvis sådanne relationer findes, afspejles de i Power BI-datamodellen, første gang du indlæser dataene.If such relationships exist, they're mirrored into the Power BI data model when you initially load data. Med denne indstilling kan du hurtigt begynde at arbejde med din model, i stedet for at du selv skal finde og definere disse relationer.This option enables you to quickly begin working with your model, rather than requiring you find or define those relationships yourself.

  • Opdater eller slet relationer ved opdatering af data: Denne indstilling er fravalgt som standard.Update or delete relationships when refreshing data: This option is unselected by default. Hvis du vælger den, søger Power BI efter ændringer i relationerne i datakilden, når datasættet opdateres.If you select it, Power BI checks for changes in data source relationships when your dataset is refreshed. Hvis disse relationer ændres eller fjernes, afspejler Power BI disse ændringer i sin egen datamodel og opdaterer eller sletter dem for at sikre et match.If those relationships changed or are removed, Power BI mirrors those changes in its own data model, updating or deleting them to match.

    Advarsel!

    Hvis du bruger sikkerhed på rækkeniveau, som er baseret på de definerede relationer, anbefaler vi ikke, at du vælger denne indstilling.If you're using row-level security that relies on the defined relationships, we don't recommend selecting this option. Hvis du fjerner en relation, som sikkerhed på rækkeniveau er afhængig af, bliver din model muligvis mindre sikker.If you remove a relationship that your RLS settings rely on, your model might become less secure.

  • Registrer automatisk nye relationer, når data er indlæst: Denne indstilling er beskrevet i Registrer automatisk under indlæsning.Autodetect new relationships after data is loaded: This option is described in Autodetect during load.

Fremtidige opdateringer af dataene kræver en anden kardinalitetFuture updates to the data require a different cardinality

Power BI Desktop kan som regel automatisk se, hvad der er den bedste kardinalitet for relationen.Normally, Power BI Desktop can automatically determine the best cardinality for the relationship. Hvis du vil tilsidesætte den automatiske indstilling, fordi du ved, at dataene ændres i fremtiden, kan du vælge det i funktionen Kardinalitet.If you do need to override the automatic setting, because you know the data will change in the future, you can change it with the Cardinality control. Lad os se på et eksempel, hvor vi skal vælge en anden kardinalitet.Let’s look at an example where we need to select a different cardinality.

I tabellen CompanyProjectPriority kan du se en liste over alle virksomhedens projekter og deres prioritet.The CompanyProjectPriority table is a list of all company projects and their priority. Tabellen ProjectBudget indeholder de projekter, hvor budgettet er blevet godkendt.The ProjectBudget table is the set of projects for which a budget has been approved.

CompanyProjectPriorityCompanyProjectPriority

ProjNameProjName PriorityPriority
BlåBlue AA
RedRed BB
GrønGreen CC
YellowYellow CC
PurplePurple BB
OrangeOrange CC

ProjectBudgetProjectBudget

Godkendte projekterApproved Projects BudgetAllocationBudgetAllocation AllocationDateAllocationDate
BlåBlue 40,00040,000 12/1/201212/1/2012
RedRed 100,000100,000 12/1/201212/1/2012
GreenGreen 50.00050,000 12/1/201212/1/2012

Hvis vi opretter en relation mellem kolonnen Godkendte projekter i tabellen ProjectBudget og kolonnen ProjectName i tabellen CompanyProjectPriority, indstiller Power BI automatisk Kardinalitet til Én til én (1:1) og Tværgående filterretning til Begge.If we create a relationship between the Approved Projects column in the ProjectBudget table and the ProjectName column in the CompanyProjectPriority table, Power BI automatically sets Cardinality to One to one (1:1) and Cross filter direction to Both.

Opret en relation mellem tabelkolonner

Årsagen til, at Power BI foretager disse indstillinger, er, at for Power BI Desktop er den bedste kombination af de to tabeller som følger:The reason Power BI makes these settings is because, to Power BI Desktop, the best combination of the two tables is as follows:

ProjNameProjName PriorityPriority BudgetAllocationBudgetAllocation AllocationDateAllocationDate
BlueBlue AA 40,00040,000 12/1/201212/1/2012
RedRed BB 100.000100,000 12/1/201212/1/2012
GrønGreen CC 50,00050,000 12/1/201212/1/2012
YellowYellow CC

PurplePurple BB

OrangeOrange CC

Der er en én til én-relation mellem vores to tabeller, fordi der ikke er gentagne værdier i kolonnen ProjName i den kombinerede tabel.There's a one-to-one relationship between our two tables because there are no repeating values in the combined table’s ProjName column. Kolonnen ProjName er entydig, fordi de enkelte værdier kun optræder én gang, så rækkerne fra de to tabeller kan kombineres direkte uden dubletter.The ProjName column is unique, because each value occurs only once; therefore, the rows from the two tables can be combined directly without any duplication.

Men lad sige, at du ved, at dataene ændres, næste gang du opdaterer dem.But, let’s say you know the data will change the next time you refresh it. En opdateret version af tabellen ProjectBudget har nu ekstra rækker for projekterne Blue og Red:A refreshed version of the ProjectBudget table now has additional rows for the Blue and Red projects:

ProjectBudgetProjectBudget

Godkendte projekterApproved Projects BudgetAllocationBudgetAllocation AllocationDateAllocationDate
BlåBlue 40,00040,000 12/1/201212/1/2012
RedRed 100,000100,000 12/1/201212/1/2012
GreenGreen 50.00050,000 12/1/201212/1/2012
BlåBlue 80,00080,000 6/1/20136/1/2013
RedRed 90,00090,000 6/1/20136/1/2013

Disse yderligere rækker betyder, at den bedste kombination af de to tabeller nu ser ud som følger:These additional rows mean the best combination of the two tables now looks like this:

ProjNameProjName PriorityPriority BudgetAllocationBudgetAllocation AllocationDateAllocationDate
BlueBlue AA 40,00040,000 12/1/201212/1/2012
RedRed BB 100.000100,000 12/1/201212/1/2012
GrønGreen CC 50,00050,000 12/1/201212/1/2012
YellowYellow CC

PurplePurple BB

OrangeOrange CC

BlåBlue AA 8000080000 6/1/20136/1/2013
RedRed BB 9000090000 6/1/20136/1/2013

I denne nye kombinerede tabel indeholder kolonnen ProjName gentagne værdier.In this new combined table, the ProjName column has repeating values. De to oprindelige tabeller har ikke en en til en-relation, når tabellen er opdateret.The two original tables won’t have a one-to-one relationship once the table is refreshed. Da vi i dette tilfælde ved, at disse fremtidige opdateringer vil medføre, at kolonnen ProjName får dubletter, vil vi angive Kardinalitet til at være Mange til én (*:1) , med mange-siden på ProjectBudget og én-siden på CompanyProjectPriority.In this case, because we know those future updates will cause the ProjName column to have duplicates, we want to set the Cardinality to be Many to one (*:1), with the many side on ProjectBudget and the one side on CompanyProjectPriority.

Juster den tværgående filterretning for at få et avanceret sæt tabeller med relationerAdjusting Cross filter direction for a complex set of tables and relationships

For de fleste relationer er den tværgående filterretning angivet til Begge.For most relationships, the cross filter direction is set to Both. I mere sjældne tilfælde kan det dog være nødvendigt at angive denne indstilling til andet end standardværdien, f.eks. hvis du importerer en model fra en ældre version af Power Pivot, hvor hver relation er angivet til en enkelt retning.There are, however, some more uncommon circumstances where you might need to set this option differently from the default, like if you’re importing a model from an older version of Power Pivot, where every relationship is set to a single direction.

Indstillingen Begge gør det muligt for Power BI Desktop at behandle alle aspekter af de tilknyttede tabeller, som om de var en enkelt tabel.The Both setting enables Power BI Desktop to treat all aspects of connected tables as if they're a single table. Der kan dog være situationer, hvor Power BI Desktop ikke kan angive en relations tværgående filterretning til Begge og samtidig sørge for, at et entydigt sæt standarder er tilgængeligt for rapportering.There are some situations, however, where Power BI Desktop can't set a relationship’s cross filter direction to Both and also keep an unambiguous set of defaults available for reporting purposes. Hvis en relations tværgående filterretning ikke er angivet til Begge, skyldes det som regel, at det ville medføre tvetydighed.If a relationship cross filter direction isn't set to Both, then it’s usually because it would create ambiguity. Hvis standardindstillingen for tværgående filtrering ikke virker for dig, kan du prøve at angive den til en bestemt tabel eller Begge.If the default cross filter setting isn’t working for you, try setting it to a particular table or to Both.

Tværgående filtrering i én retning fungerer i mange situationer.Single direction cross filtering works for many situations. Hvis du har importeret en model fra Power Pivot i Excel 2013 eller tidligere, angives alle relationer faktisk til én retning.In fact, if you’ve imported a model from Power Pivot in Excel 2013 or earlier, all of the relationships will be set to single direction. Enkelt retning betyder, at filtreringsindstillinger i tilknyttede tabeller fungerer i den tabel, hvor værdierne aggregeres.Single direction means that filtering choices in connected tables work on the table where aggregation work is happening. Nogle gange kan det være vanskeligt at forstå tværgående filtrering, så lad os se på et eksempel.Sometimes, understanding cross filtering can be a little difficult, so let’s look at an example.

Hvis du angiver tværgående filtrering i én retning, og du opretter en rapport, der indeholder en oversigt over projektets timer, kan du vælge at opsummere (eller filtrere) efter tabellen CompanyProject og kolonnen Prioritet eller tabellen CompanyEmployee og kolonnen By.With single direction cross filtering, if you create a report that summarizes the project hours, you can then choose to summarize (or filter) by the CompanyProject table and its Priority column or the CompanyEmployee table and its City column. Men hvis du vil tælle antallet af medarbejdere pr. projekt (et mindre almindeligt spørgsmål), fungerer det ikke.If however, you want to count the number of employees per projects (a less common question), it won’t work. Du får vist en kolonne med værdier, som alle er ens.You’ll get a column of values that are all the same. I følgende eksempel er begge relationers tværgående filterretning angivet til en enkelt retning: mod tabellen ProjectHours.In the following example, both relationship's cross filtering direction is set to a single direction: towards the ProjectHours table. I Værdier er feltet Projekt angivet til Count:In the Values well, the Project field is set to Count:

Tværgående filterretning

Filterspecifikationen overføres fra CompanyProject til ProjectHours (som vist på følgende billede), men den overføres ikke til CompanyEmployee.Filter specification will flow from CompanyProject to ProjectHours (as shown in the following image), but it won’t flow up to CompanyEmployee.

Eksempel på tværgående filtrering

Men hvis du angiver den tværgående filterretning til Begge, fungerer det.However, if you set the cross filtering direction to Both, it will work. Med indstillingen Begge kan filterspecifikationen føres op til CompanyEmployee.The Both setting allows the filter specification to flow up to CompanyEmployee.

Filterspecifikationsforløb

Hvis den tværgående filterretning er angivet til Begge, ser vores rapport nu korrekt ud:With the cross filtering direction set to Both, our report now appears correct:

Tværgående filterretning angivet til Begge

Tværgående filtrering i begge retninger fungerer godt for et mønster af tabelrelationer som mønsteret ovenfor.Cross filtering both directions works well for a pattern of table relationships such as the pattern above. Dette skema kaldes ofte et stjerneskema som dette:This schema is most commonly called a star schema, like this:

Tværgående filtrering i begge retninger i et stjerneskema

Tværgående filterretning kan ikke bruges sammen med et mere generelt mønster, der ofte findes i databaser, som i dette diagram:Cross filtering direction does not work well with a more general pattern often found in databases, like in this diagram:

Tværgående filtrering i begge retninger i et databasemønster

Hvis du har et tabelmønster med løkker som i dette eksempel, kan tværgående filtrering oprette et tvetydigt sæt af relationer.If you have a table pattern like this, with loops, then cross filtering can create an ambiguous set of relationships. Hvis du f.eks. opsummerer et felt fra TableX og derefter vælger at filtrere efter et felt i TableY, er det ikke tydeligt, i hvilken retning filteret skal gå – fra øverste tabel eller nederste tabel.For instance, if you sum up a field from TableX and then choose to filter by a field on TableY, then it’s not clear how the filter should travel, through the top table or the bottom table. Et almindeligt eksempel på denne form for mønster er, at TableX er en salgstabel med faktiske data, og at TableY indeholder budgetdata.A common example of this kind of pattern is with TableX as a sales table with actuals data and for TableY to be budget data. Tabellerne i midten er opslagstabeller, som begge tabeller bruger, f.eks. division eller region.Then, the tables in the middle are lookup tables that both tables use, such as division or region.

Som med aktive/inaktive relationer tillader Power BI Desktop ikke, at en relation angives til Begge, hvis det medfører tvetydighed i rapporter.As with active/inactive relationships, Power BI Desktop won’t allow a relationship to be set to Both if it will create ambiguity in reports. Der er flere forskellige måder, hvorpå du kan håndtere denne situation.There are several different ways you can handle this situation. Her er de to mest almindelige:Here are the two most common:

  • Slet eller markér relationer som inaktive for at reducere tvetydighed.Delete or mark relationships as inactive to reduce ambiguity. Derefter kan du muligvis angive en relations tværgående filtrering til Begge.Then, you might be able to set a relationship cross filtering as Both.
  • Hent en tabel to gange (med et andet navn den anden gang) for at fjerne løkker.Bring in a table twice (with a different name the second time) to eliminate loops. Når du har gjort det, ligner mønsteret af relationer et stjerneskema.Doing so makes the pattern of relationships like a star schema. I et stjerneskema kan alle relationer angives til Begge.With a star schema, all of the relationships can be set to Both.

Forkert aktiv relationWrong active relationship

Når Power BI Desktop automatisk opretter relationer, støder den nogle gange på mere end én relation mellem to tabeller.When Power BI Desktop automatically creates relationships, it sometimes encounters more than one relationship between two tables. Når denne situation forekommer, er det kun én af relationerne, der kan angives som aktiv.When this situation happens, only one of the relationships is set to be active. Den aktive relation fungerer som standardrelationen, så hvis du vælger felter fra to forskellige tabeller, kan Power BI Desktop automatisk oprette en visualisering for dig.The active relationship serves as the default relationship, so that when you choose fields from two different tables, Power BI Desktop can automatically create a visualization for you. I nogle tilfælde kan den relation, der vælges automatisk, dog være den forkerte.However, in some cases the automatically selected relationship can be wrong. Brug dialogboksen Administrer relationer til at angive en relation som aktiv eller inaktiv, eller angiv den aktive relation i dialogboksen Rediger relation.Use the Manage relationships dialog box to set a relationship as active or inactive, or set the active relationship in the Edit relationship dialog box.

Hvis du vil sikre, at der er en standardrelation, kan Power BI Desktop kun have en enkelt aktiv relation mellem to tabeller på et givent tidspunkt.To ensure there’s a default relationship, Power BI Desktop allows only a single active relationship between two tables at a given time. Derfor skal du først angive den aktuelle relation som inaktiv og derefter angive den relation, der skal være aktiv.Therefore, you must first set the current relationship as inactive and then set the relationship you want to be active.

Lad os se på et eksempel.Let’s look at an example. Den første tabel er ProjectTickets, og den anden tabel er EmployeeRole.The first table is ProjectTickets, and the second table is EmployeeRole.

ProjectTicketsProjectTickets

TicketTicket OpenedByOpenedBy SubmittedBySubmittedBy HoursHours ProjectProject DateSubmitDateSubmit
10011001 Perham, TomPerham, Tom Brewer, AlanBrewer, Alan 2222 BlåBlue 1/1/20131/1/2013
10021002 Roman, DanielRoman, Daniel Brewer, AlanBrewer, Alan 2626 RedRed 2/1/20132/1/2013
10031003 Roth, DanielRoth, Daniel Ito, ShuIto, Shu 3434 YellowYellow 12/4/201212/4/2012
10041004 Perham, TomPerham, Tom Brewer, AlanBrewer, Alan 1313 OrangeOrange 1/2/20121/2/2012
10051005 Roman, DanielRoman, Daniel Bowen, EliBowen, Eli 2929 PurplePurple 1/10/201310/1/2013
10061006 Roth, DanielRoth, Daniel Bento, NunoBento, Nuno 3535 GrønGreen 2/1/20132/1/2013
10071007 Roth, DanielRoth, Daniel Hamilton, DavidHamilton, David 1010 YellowYellow 1/10/201310/1/2013
10081008 Perham, TomPerham, Tom Han, MuHan, Mu 2828 OrangeOrange 1/2/20121/2/2012
10091009 Roman, DanielRoman, Daniel Ito, ShuIto, Shu 2222 PurplePurple 2/1/20132/1/2013
10101010 Roth, DanielRoth, Daniel Bowen, EliBowen, Eli 2828 GrønGreen 10/1/201310/1/2013
10111011 Perham, TomPerham, Tom Bowen, EliBowen, Eli 99 BlåBlue 10/15/201310/15/2013

EmployeeRoleEmployeeRole

EmployeeEmployee RoleRole
Bento, NunoBento, Nuno ProjektstyringProject Manager
Bowen, EliBowen, Eli ProjektkundeemneProject Lead
Brewer, AlanBrewer, Alan ProjektstyringProject Manager
Hamilton, DavidHamilton, David ProjektkundeemneProject Lead
Han, MuHan, Mu ProjektkundeemneProject Lead
Ito, ShuIto, Shu ProjektkundeemneProject Lead
Perham, TomPerham, Tom ProjektsponsorProject Sponsor
Roman, DanielRoman, Daniel ProjektsponsorProject Sponsor
Roth, DanielRoth, Daniel ProjektsponsorProject Sponsor

Der er faktisk to relationer her:There are actually two relationships here:

  • Mellem Employee i tabellen EmployeeRole og SubmittedBy i tabellen ProjectTickets.Between Employee in the EmployeeRole table and SubmittedBy in the ProjectTickets table.
  • Mellem OpenedBy i tabellen ProjectTickets og Employee i tabellen EmployeeRole.Between OpenedBy in the ProjectTickets table and Employee in the EmployeeRole table.

Eksempel på to relationer

Hvis vi føjer begge relationer til modellen (OpenedBy først), viser dialogboksen Administrer relationer, at OpenedBy er aktiv:If we add both relationships to the model (OpenedBy first), then the Manage relationships dialog box shows that OpenedBy is active:

OpenedBy aktiv i dialogboksen Administrer relationer

Hvis vi nu opretter en rapport, der bruger felterne Role og Employee fra EmployeeRole og feltet Hours fra ProjectTickets i en tabelvisualisering på rapportlærredet, ser vi kun projektsponsorer, da det kun er dem, der har åbnet en projektanmodning.Now, if we create a report that uses Role and Employee fields from EmployeeRole, and the Hours field from ProjectTickets in a table visualization in the report canvas, we see only project sponsors because they’re the only ones that opened a project ticket.

Felterne Employee, Role og Hours markeret

Vi kan ændre den aktive relation og hente SubmittedBy i stedet for OpenedBy.We can change the active relationship and get SubmittedBy instead of OpenedBy. I Administrer relationer skal du fjerne markeringen af ProjectTickets(OpenedBy) til relationen EmployeeRole(Employee) og derefter fjerne EmployeeRole(Employee) til relationen Project Tickets(SubmittedBy) .In Manage relationships, uncheck the ProjectTickets(OpenedBy) to EmployeeRole(Employee) relationship, and then check the EmployeeRole(Employee) to Project Tickets(SubmittedBy) relationship.

Skift aktiv relation i dialogboksen Administrer relationer

Se alle dine relationer i relationsvisningSee all of your relationships in Relationship view

Nogle gange indeholder din model flere tabeller, og der kan være komplekse relationer mellem dem.Sometimes your model has multiple tables and complex relationships between them. I visningen Relation i Power BI Desktop vises alle relationerne i din model, deres retning og kardinaliteten i et diagram, der er let at forstå, og som kan tilpasses.Relationship view in Power BI Desktop shows all of the relationships in your model, their direction, and cardinality in an easy to understand and customizable diagram.

Du kan få mere at vide under Arbejde med relationsvisning i Power BI Desktop.To learn more, see Work with Relationship view in Power BI Desktop.