Dela via


Arbeta med beteende för värdefilter (förhandsversion)

Med beteendealternativen för värdefilter i Power BI kan du påverka den automatiska filtreringsmekanism som finns i DAX som inträffar när flera kolumner från samma tabell filtreras. Det här beteendet kallas informellt "finns automatiskt".

Vad är beteende för värdefilter

När flera kolumner från samma tabell filtreras förstår DAX att sannolikt inte alla kombinationer av värden i dessa kolumner är giltiga och därför utesluter det automatiskt ogiltiga kombinationer. DAX-motorn genererade ett sammansätt värdefilter som inte bara returnerar giltiga kombinationer utan även påverkar uppmätta beräkningar. Med beteendeinställningen för värdefilter kan du ändra det här beteendet i din semantiska modell. Du kan bestämma om du vill inaktivera filter för sammanskurna värden och aktivera oberoende värdefilter i stället. Om du aktiverar oberoende värdefilter genom att ange beteendeinställningen för värdefilter till Oberoende (se senare i den här artikeln) blir flera filter i samma tabell åtskilda i stället för att DAX-motorn kombinerar dessa filter till ett.

Förstå beteende för värdefilter

När du filtrerar flera kolumner i samma tabell tar det aktuella standardvärdet filterbeteende dessa filter och kombinerar dem till en, med tanke på endast de kombinationer som finns. Tänk på följande två kolumner i samma tabell:

  • År, som innehåller värden som "2023".
  • Månad, som innehåller värden som "Januari 2024".

Om du filtrerar på både År och Månad, eftersom dessa kolumner finns i samma tabell, kombinerar beteendet för värdefilter filtren till ett, men endast de kombinationer som finns beaktas. Kombinationen av månaden januari 2024 med år 2023 finns inte och skulle inte ingå i filtret. Det finns dock situationer där resultaten är överraskande.

Nu ska vi titta på ett exempel där vi har en katalog som visar tillgängligheten för färger för produkter per år. Tillverkaren av dessa produkter experimenterade med att göra produkter i olika färger genom åren:

Skärmbild av en tabell som visar produktfärger mellan 2022 och 2024.

Vi har tre produkter som fanns i olika färger genom åren. Observera att det inte finns några röda produkter som erbjuds 2024. Det här kommer att bli viktigt lite senare. Nu ska vi räkna antalet produkter genom att lägga till följande mått:

Number of Products = COUNTROWS( 'Catalog' )`

Följande matris visar antalet produkter som är tillgängliga i olika färger per år: Skärmbild av en matris som visar antalet produkter per år och färg.

Nu ska vi lägga till ytterligare ett mått för att beräkna det totala antalet produkter för alla år:

Number of Products All Years = CALCULATE ( [Number of Products], ALL ( 'Catalog'[Year] ) )

Låt oss lägga dessa mått sida vid sida och filtrera till år 2023 och bara de blå och röda färgerna (så ingen svart). Du kan se att antalet produkter är 4 och antalet produkter under alla år för dessa två färger är 6:

Skärmbild av en tabell som visar år, produkt och färg. Det finns två utsnitt, ett som är inställt på År är lika med 2023 och en inställd på Färg är lika med Blå och Röd. Måttet Antal produkter returnerar 4 och måttet Antal produkter alla år returnerar 6.

Om vi byter år till 2024 förväntar vi oss att måttet "Antal produkter" returnerar 2, eftersom det bara finns två produkter som är blå 2024 och det inte finns några röda produkter det året. Dessutom förväntar vi oss att antalet produkter för alla år inte kommer att ändras, eftersom det trots allt ska beräknas under alla år. Antalet produkter för alla år ändras dock från 6 till 5:

Skärmbild av en tabell som visar år, produkt och färg. Det finns två utsnitt, ett som är inställt på År är lika med 2024 och en inställd på Färg är lika med Blå och Röd. Måttet Antal produkter returnerar 2 och måttet Antal produkter alla år returnerar 5.

Antalet produkter under alla år bör fortfarande vara 6, inte 5. Det vi ser här är beteendet för värdefilter i praktiken: det kombinerar filter i samma tabell och tar bort kombinationer som inte fanns. Filtren är Year = 2024 och Color = Blue eller Red. Eftersom dessa två filter finns i samma tabell kombineras dessa filter till ett filter som endast filtrerar för de kombinationer som finns. Eftersom det inte finns några röda produkter 2024 är det tillämpade filtret År = 2024 och Color = Blue. Därför räknar antalet produkter för alla år bara antalet blå produkter, inte de blå eller röda produkterna. Detta returnerar 5, vilket du kan bekräfta i tabellen.

Påverka beteendet för värdefilter

Du kan styra om du vill ha det här beteendet i din semantiska modell genom att använda inställningen Beteende för värdefilter på din semantiska modell i egenskapsfönstret i modellvyn:

Skärmbild av egenskapsfönstret i modellvyn. Beteendealternativen för värdefilter är markerade.

Tre alternativ är möjliga:

  • Automatisk – Det här är standardinställningen och aktiverar för närvarande sammansejtningsbeteendet. När vi avslutar den här förhandsversionen kommer nya modeller som är inställda på Automatisk att använda Oberoende. Då meddelas det.
  • Oberoende – Detta tvingar filter på samma tabell att hållas åtskilda. När inställningen "Värdefilterbeteende" har angetts till Oberoende returnerar det totala antalet produkter för alla år 6 som förväntat (se nedan).
  • Sammanslåst – Detta tvingar beteendet för värdefilter att aktiveras för den semantiska modellen och resulterar i att filtren i samma tabell kombineras till en. Antalet produkter för alla år i vårt exempel fortsätter att återgå till 5.

I följande tabell visas effekten av den här inställningen i vårt exempel: | Beteendeinställning för värdefilter | Filter som används i exemplet | Resultat av exempelmått | | --- | --- | --- | |Automatisk|År = 2024,
Färg = Blå|5| | |Oberoende|År = 2024,
Färg = Blå eller Röd|6| | |Sammansejad|År = 2024,
Färg = Blå|5|

Om du anger beteendet för värdefilter till Automatisk innebär det att det är lika med Coalesced för tillfället, men kommer att växlas till Oberoende för nya semantiska modeller i framtiden. Om du anger beteendet värdefilter till Oberoende returnerar antalet produkter för alla 6, som förväntat, eftersom filtren är År = 2024 och Färg = Blå eller Röd och inte längre kombineras:

Skärmbild av en tabell som visar år, produkt och färg. Det finns två utsnitt, ett som är inställt på År är lika med 2024 och en inställd på Färg är lika med Blå och Röd. Måttet Antal produkter returnerar 2 och måttet Antal produkter alla år returnerar 6.

Nästa steg

Följande artiklar kan vara användbara: