Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
När en dimension används för att segmentera ett mått sammanfattas måttet längs hierarkierna i den dimensionen. Sammanfattningsbeteendet beror på den mängdfunktion som angetts för måttet. För de flesta mått som innehåller numeriska data är aggregeringsfunktionen Summa. Värdet för måttet summerar till olika belopp beroende på vilken nivå i hierarkin som är aktiv.
Inom Analysis Services stöds varje mått som du skapar av en aggregeringsfunktion som avgör måttets funktion. Fördefinierade sammansättningstyper är Sum, Min, Max, Count, Distinct Count och flera andra mer specialiserade funktioner. Om du behöver aggregeringar baserade på komplexa eller anpassade formler kan du också skapa en MDX-beräkning i stället för att använda en fördefinierad aggregeringsfunktion. Om du till exempel vill definiera ett mått för ett procentvärde gör du det i MDX med hjälp av ett beräknat mått. Se även CREATE MEMBER Statement (MDX).
Mått som skapas via kubguiden tilldelas en aggregeringstyp som en del av måttdefinitionen. Sammansättningstypen är alltid Summa, förutsatt att källkolumnen innehåller numeriska data. Summan tilldelas oavsett källkolumnens datatyp. Om du till exempel använde kubguiden för att skapa mått, och du hämtade alla kolumner från en faktatabell, kommer du att märka att alla resulterande mått har en aggregering av Summa, även om källan är en datumtidskolumn. Granska alltid de förtilldelade aggregeringsmetoderna för mått som skapats via guiden för att kontrollera att aggregeringsfunktionen är lämplig.
Du kan tilldela eller ändra aggregeringsmetoden i kubdefinitionen, via SQL Server Data Tools – Business Intelligence eller via MDX. Mer information finns i Skapa mått och måttgrupper i flerdimensionella modeller eller aggregeringar (MDX ).
Mängdfunktioner
SQL Server Analysis Services tillhandahåller funktioner för att aggregera mått längs de dimensioner som finns i måttgrupper. Additiviteten för en aggregeringsfunktion avgör hur måttet aggregeras över alla dimensioner i kuben. Sammansättningsfunktionerna hamnar i tre nivåer av additivitet:
Tillsats
Ett additivt mått, även kallat ett helt additivt mått, kan aggregeras längs alla dimensioner som ingår i måttgruppen som innehåller måttet, utan begränsning.
Halvadditiv
Ett semiadditivt mått kan aggregeras längs vissa, men inte alla, dimensioner som ingår i måttgruppen som innehåller måttet. Till exempel kan ett mått som representerar den kvantitet som är tillgänglig för inventering aggregeras längs en geografisk dimension för att skapa en total kvantitet som är tillgänglig för alla lager, men måttet kan inte aggregeras längs en tidsdimension eftersom måttet representerar en periodisk ögonblicksbild av tillgängliga kvantiteter. Att aggregera ett sådant mått längs en tidsdimension skulle ge felaktiga resultat. Mer information finns i Definiera semiadditivt beteende .
Icke-additiv
Ett icke-adtivt mått kan inte aggregeras längs någon dimension i måttgruppen som innehåller måttet. I stället måste måttet beräknas individuellt för varje cell i kuben som representerar måttet. Ett beräknat mått som returnerar en procentandel, till exempel vinstmarginal, kan till exempel inte aggregeras från procentandelsvärdena för underordnade medlemmar i någon dimension.
I följande tabell visas aggregeringsfunktionerna i SQL Server Analysis Services och beskriver både funktionens additivitet och förväntade utdata.
| Sammansättningsfunktion | Additivitet | Returnerat värde |
|---|---|---|
| summa | Tillsats | Beräknar summan av värden för alla underelement. Det här är standardaggregeringsfunktionen. |
| Räkna | Tillsats | Hämtar antalet barnmedlemmar. |
| Min | Halvadditiv | Hämtar det lägsta värdet för alla barnmedlemmar. |
| Max | Halvadditiv | Hämtar det högsta värdet för alla barnmedlemmar. |
| DistinctCount | Icke-additiv | Hämtar det unika antalet barnmedlemmar. Mer information finns i Om distinkta antalsmått i nästa avsnitt. |
| Ingen | Icke-additiv | Ingen aggregering utförs och alla värden för blad- och icke-blad-medlemmar i en dimension tillhandahålls direkt från faktatabellen i den måttgrupp som innehåller måttet. Om inget värde kan läsas från faktatabellen för en medlem är värdet för medlemmen inställt på null. |
| ByAccount | Halvadditiv | Beräknar aggregeringen enligt den aggregeringsfunktion som tilldelats kontotypen för en medlem i en kontodimension. Om det inte finns någon kontotypsdimension i måttgruppen behandlas den som aggregeringsfunktionen Ingen . Mer information om kontodimensioner finns i Skapa ett ekonomikonto av överordnad-underordnad typ Dimension. |
| AverageOfChildren | Halvadditiv | Beräknar medelvärdet av värden för alla underordnade medlemmar som inte är tomma. |
| FirstChild | Halvadditiv | Hämtar värdet för den första underordnade medlemmen. |
| LastChild | Halvadditiv | Hämtar värdet för den sista undermedlemmen. |
| FirstNonEmpty | Halvadditiv | Hämtar värdet på den första underordnade medlem som inte är tom. |
| LastNonEmpty | Halvadditiv | Hämtar värdet för den sista icke-tomma barnmedlemmen. |
Om mått för distinkta antal
Ett mått med egenskapsvärdet Aggregate Function av typen Distinct Count kallas för ett mått för distinkt antal. Ett distinkt antalsmått kan användas för att räkna förekomster av en dimensions medlemmar på lägsta nivå i faktatabellen. Eftersom antalet är distinkt räknas det bara en gång om en medlem inträffar flera gånger. Ett distinkt antalsmått placeras alltid i en dedikerad måttgrupp. Att placera ett distinkt räknefunktion i en separat måttgrupp är en bästa praxis som har integrerats i designverktyget som en teknik för prestandaoptimering.
Mått för unika antal används ofta för att fastställa hur många distinkta medlemmar på den lägsta nivån av en annan dimension som delar rader i faktatabell för varje medlem i en dimension. Hur många distinkta produkter har köpts i en försäljningskub för varje kund- och kundgrupp? Det vill säga, för varje medlem i kunddimensionen, hur många unika medlemmar på den lägsta nivån i produktdimensionen delar rader i faktatabellen? Eller, till exempel, i en kub över webbplatsbesök, för varje webbplatsbesökare och webbplatsbesöksgrupp, hur många distinkta sidor på webbplatsen besöktes? (D.v.s. för varje medlem i dimensionen Webbplatsbesökare, hur många distinkta medlemmar på lägsta nivå i siddimensionen delar rader i faktatabellen?) I vart och ett av dessa exempel räknas den andra dimensionens medlemmar på lägsta nivå med ett distinkt antalsmått.
Den här typen av analys behöver inte begränsas till två dimensioner. I själva verket kan ett distinkt antalsmått separeras och segmenteras av valfri kombination av dimensioner i kuben, inklusive dimensionen som innehåller de räknade medlemmarna.
En distinkt räkneåtgärd som räknar medlemmar baseras på en främmande nyckelkolumn i faktatabellen. (Måttets källkolumnegenskap identifierar den här kolumnen.) Den här kolumnen kopplar till den dimensionstabellkolumn som identifierar de medlemmar som räknas av det distinkta räkne-måttet.
Se även
Mått och måttgrupper
MDX-funktionsreferens (MDX)
Definiera semiadditivt beteende