Anteckning
Å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
Den här artikeln sammanfattar nya funktioner, förbättringar, inaktuella och utgångna funktioner samt beteende och icke-bakåtkompatibla ändringar i de senaste versionerna av SQL Server Analysis Services (SSAS).
SQL Server 2025 Analysis Services (förhandsversion)
Prestandaförbättringar
Modeller med beräkningsgrupper och formatsträngar i Excel
Vi har gjort betydande prestandaförbättringar för MDX-frågor på modeller med beräkningsgrupper och formatsträngar för att minska minnesanvändningen och förbättra svarstiden. De senaste ändringarna förbättrar avsevärt prestanda och tillförlitlighet för åtgärder i Analysera i Excel på modeller som innehåller en eller båda av:
Dynamiska formatsträngar för mått
Beräknade objekt med formatsträngar
Mer information finns i Strängar i dynamiskt format
Parallell frågekörning för DirectQuery
Förbättrad parallellitet i DirectQuery-läge möjliggör snabbare svarstider för komplexa frågor. Den grundläggande idén är att maximera frågeprestanda genom att parallellisera flera frågor till datakällan för en enda DAX-fråga. Den här frågeparallelliseringen minskar effekten av fördröjningar i datakällan och nätverksfördröjningar på frågeprestanda. Mer information finns i den här bloggen.
Horisontell sammanslagning
SSAS 2025 innehåller den senaste versionen av Horizontal Fusion, en frågeprestandaoptimering som minskar antalet SQL-frågor som genereras av DAX, vilket förbättrar DirectQuery-effektiviteten. Mer information finns i: Tillkännagivande av horisontell fusion.
DAX-funktioner och kapaciteter
Visuella beräkningar
Hur du skriver DAX ändras i dag med introduktionen av visuella beräkningar. Visuella beräkningar är DAX-beräkningar som definieras och körs direkt i ett visuellt objekt. En visuell beräkning kan referera till alla data i det visuella, inklusive kolumner, mått eller andra visuella beräkningar. Den här metoden tar bort komplexiteten i den semantiska modellen och förenklar processen med att skriva DAX. Du kan använda visuella beräkningar för att slutföra vanliga affärsberäkningar, till exempel löpande summor eller glidande medelvärden. Mer information om hur du aktiverar och använder visuella beräkningar finns i Översikt över visuella beräkningar.
Beteende för värdefilter
Vi introducerar ett nytt alternativ för att styra beteendet för värdefilter. Genom att aktivera inställningen "Oberoende värdefilter" kan användarna förhindra automatisk kombination av flera filter i samma tabell till ett enda sammansänt filter. Den här ändringen ger större flexibilitet, vilket möjliggör mer exakt och oberoende filtrering för att uppfylla specifika modelleringsbehov och förbättra noggrannheten och kontrollen av datafrågor. Om du vill ange den här egenskapen för SSAS kan du använda tabellobjektmodellen eller TMSL baserat på egenskapen ValueFilterBehavior . Mer information finns i: Beteende för värdefilter.
Urvalsuttryck för beräkningsgrupper
Med urvalsuttryck kan du finjustera kontrollen över hur beräkningar beter sig när vissa villkor uppfylls. Urvalsuttryck introducerar ytterligare logik för hantering av fall där flera beräkningsobjekt väljs eller när inget specifikt val görs i en beräkningsgrupp. Mer information finns i: Beräkningsgrupper.
Förbättringar av DAX-funktioner
SSAS 2025 innehåller stöd för flera nya DAX-funktioner och förbättringar, inklusive:
LINEST och LINESTX: Dessa två funktioner utför linjär regression med metoden Minst kvadrater för att beräkna en rät linje som passar bäst för angivna data och returnerar en tabell som beskriver den linjen. Dessa funktioner är särskilt användbara för att förutsäga okända värden (Y) när de ges kända värden (X). Mer information finns i: FUNKTIONEN LINEST DAX och FUNKTIONEN LINESTX DAX.
INFO Functions: De befintliga TMSCHEMA DMV:erna är nu tillgängliga som en ny serie DAX-funktioner, som gör det möjligt att fråga efter metadata om semantiska modeller direkt i DAX, vilket erbjuder integrering med andra DAX-funktioner för förbättrad diagnostik och analys. Mer information finns i: Info DAX-funktioner.
APPROXIMATEDISTINCTCOUNT: Den här funktionen är för närvarande tillgänglig för DirectQuery-läget och returnerar ett uppskattat antal unika värden i en kolumn genom att anropa en motsvarande aggregeringsåtgärd i datakällan, som är optimerad för prestanda för frågehantering. Mer information finns i Approximatedistinctcount DAX-funktion, som listar datakällor som stöds.
Fönsterfunktioner: Den här funktionen hämtar ett urval av resultat med absolut eller relativ positionering. Funktionen WINDOW gör det enklare att utföra beräkningar som att lägga till en löpande summa, glidande medelvärde eller liknande beräkningar som är beroende av att välja ett värdeintervall. Den levereras också med två hjälpfunktioner som kallas ORDERBY och PARTITIONBY. Mer information finns i: Funktionen Windows DAX.
MINX/MAXX: Vi har lagt till en valfri variantparameter till MINX- och MAXX-funktionerna i DAX. Traditionellt ignorerar dessa funktioner text- och booleska värden när det finns varianter eller blandade datatyper, till exempel text och numeriskt. Nu när den nya valfria variantparametern är inställd på TRUE överväger funktionerna textvärdena. Mer information finns i FUNKTIONEN MINX DAX och FUNKTIONEN MAXX DAX.
Ytterligare funktioner
Uppdateringar av klientbibliotek
Kunder uppmanas att uppgradera till de senaste Analysis Services-biblioteken för att dra nytta av prestanda-, tillförlitlighets- och funktionsförbättringar som binär XML-stöd, TMDL-serialisering med mera. Mer specifikt har vi bytt XMLA-baserad kommunikation från XML med oformaterad text till binär XML och aktiverat komprimering för .NET-klientbiblioteken. Mer information finns i bloggen om att förbättra kommunikationsprestandan för xmla-baserade verktyg . Du kan också alltid hitta de senaste klientbiblioteksversionerna på nedladdningssidan för Analysis Services-klientbibliotek.
Förbättringar av unicode-teckenhantering
SSAS stöder nu uppdaterade Unicode-standarder genom att tillhandahålla stöd för Unicode-surrogatpar för teckenstandarder som den kinesiska regeringens standard GB18030 i DAX.
Körningsmetrik för diagnostik
Körningsmått exponeras nu via XEvents- och Profiler-spårningar, vilket gör det möjligt för kunder att analysera frågeprestanda mer effektivt.
Stöd för failover-kluster
Mer information finns i den här artikeln om uppgraderat krypteringsschema.
Inaktuella funktioner och icke-bakåtkompatibla ändringar i SSAS 2025
Excel PowerPivot för SharePoint är inaktuellt
Vi har tagit bort Excel PowerPivot för SharePoint-läge från installationsprogrammet. Den här funktionen är inaktuell i tidigare versioner och stöds inte längre.
Uppdatering av SQL-klientsammansättning
SSAS 2025 använder nu ett nyare SQL-klientbibliotek. Kunder kan behöva uppdatera modelldefinitioner för att återspegla det nya providernamnet (Microsoft.Data.SqlClient).
HTTP åtkomständringar
Från och med SQL Server Analysis Services 2025 inaktiveras HTTP-anslutningar via msmdpump.dll som standard. Alla anslutningar via msmdpump.dll måste göras via en säker kanal som HTTPS. Mer information finns i Konfigurera HTTP-åtkomst.
Kända problem
Windows Arm64 stöds inte
SSAS 2025 stöds inte på Windows Arm64. Endast Intel- och AMD x86-64-processorer med upp till 64 kärnor per NUMA-nod stöds för närvarande.
SQL Server 2022 Analysis Services
Kumulativ uppdatering 1 (CU1)
Krypteringsuppgradering
Den här uppdateringen innehåller förbättringar av krypteringsalgoritmen för schemaskrivningsåtgärd. Den här förbättringen kan kräva att du uppgraderar tabelldatabaser och flerdimensionella modelldatabaser för att säkerställa korrekt kryptering. Mer information finns i Uppgradera kryptering.
Allmänt tillgänglig (GA)
Vågrät fusion
Den här versionen introducerar Horizontal Fusion, en optimering av frågekörningsplanen som syftar till att minska antalet datakällans frågor som krävs för att generera och returnera resultat. Flera mindre datakällafrågor sammansvetsas i en större datakällafråga. Färre frågor om datakällor innebär färre tur- och returresor och färre dyra genomsökningar över stora datakällor, vilket resulterar i betydande DAX-prestandavinster och minskad bearbetningsefterfrågan i datakällan. DAX-frågor körs snabbare med horisontell fusion, särskilt i DirectQuery-läge. Dessutom ökar skalbarheten också.
Parallella exekveringsplaner för DirectQuery
Den här förbättringen gör det möjligt för Analysis Services-motorn att analysera DAX-frågor mot en DirectQuery-datakälla och identifiera oberoende åtgärder för lagringsmotorn. Motorn kan sedan köra dessa åtgärder mot datakällan parallellt. Genom att köra åtgärder parallellt kan Analysis Services-motorn förbättra frågeprestanda genom att dra nytta av skalbarhet som stora datakällor kan tillhandahålla. För att säkerställa att frågebearbetningen inte överbelastar datakällan använder du egenskapen MaxParallelism för att ange ett fast antal trådar som kan användas för parallella åtgärder.
Stöd för Power BI DirectQuery-semantiska modeller
Den här versionen introducerar stöd för Power BI-modeller med DirectQuery-anslutningar till SQL Server 2022 Analysis Services-modeller. Datamodellerare och rapportförfattare som använder versionerna maj 2022 och senare av Power BI Desktop kan nu kombinera andra importerade data och DirectQuery-data från Power BI-modeller, Azure Analysis Services och nu SSAS 2022.
Mer information finns i Använda DirectQuery för semantiska modeller och Analysis Services | Power BI-dokumentation.
MDX-frågeprestanda
MDX Fusion introducerades först i Power BI och nu i SSAS 2022 och innehåller formelmotoroptimering (FE) som minskar antalet SE-frågor (Storage Engine) per MDX-fråga. Klientprogram som använder flerdimensionella uttryck (MDX) för att fråga efter modell-/datauppsättningsdata, till exempel Microsoft Excel, får bättre frågeprestanda. Vanliga MDX-frågemönster kräver nu färre SE-frågor där tidigare många SE-frågor var nödvändiga för att stödja olika kornighet. Färre SE-frågor innebär färre dyra genomsökningar över stora modeller, vilket resulterar i betydande prestandavinster, särskilt när du ansluter till en tabellmodell i Direct Query-läge.
Mer information finns i Meddelande om förbättrade MDX-frågeprestanda i Power BI | Microsoft Power BI-blogg.
Resursförvaltning
Den här versionen innehåller förbättrad precision för QueryMemoryLimit-serverminnesegenskapen och DbpropMsmdRequestMemoryLimit-anslutningssträngsegenskapen.
Serverminnesegenskapen QueryMemoryLimit introducerades först i SSAS 2019 och tillämpas endast på minnespooler där mellanliggande DAX-frågeresultat skapas under frågebearbetningen. Nu i SSAS 2022 gäller det även för MDX-frågor som effektivt täcker alla frågor. Du kan bättre kontrollera kostsamma sökfrågor som resulterar i en betydande materialisering. Om frågan når den angivna gränsen avbryter motorn frågan och returnerar ett fel till anroparen, vilket minskar påverkan på andra samtidiga användare.
Klientprogram kan ytterligare minska det tillåtna minnet per fråga genom att ange egenskapen DbpropMsmdRequestMemoryLimit-anslutningssträng . Den här egenskapen anges i kilobyte och åsidosätter serverminnesegenskapens värde för QueryMemoryLimit för en anslutning.
Frågeinterleaving - Kort förfrågningsbias med snabb annullering
Den här versionen introducerar ett nytt värde som anger kort frågeförskjutning med snabb annullering för egenskapen Threadpool\SchedulingBehavior. Den här egenskapsinställningen förbättrar svarstiderna för användarfrågor i scenarier med hög samtidighet. För att lära dig mer om Frågeinterfoliering – Konfigurera.
Tabellmodellens 1600-kompatibilitetsnivå
Den här versionen introducerar kompatibilitetsnivån 1600 för tabellmodeller. Kompatibilitetsnivån 1600 sammanfaller med de senaste funktionerna i Power BI och Azure Analysis Services.
Inaktuella funktioner i SSAS 2022
Det finns inga inaktuella funktioner som har meddelats med den här versionen.
Utgångna funktioner i SSAS 2022
Följande funktioner upphör i den här versionen:
| Läge/kategori | Egenskap |
|---|---|
| Tabellform | Kompatibilitetsnivåer 1100 och 1103 |
| Flerdimensionell | Datautvinning |
| Power Pivot-läge | Power Pivot för SharePoint |
Oförenliga ändringar i SSAS 2022
Tabellmodell 1100- och 1103-kompatibilitetsnivåer har utgått i den här versionen. För att förhindra en icke-bakåtkompatibel ändring uppgraderar du modeller till kompatibilitetsnivån 1200 innan du uppgraderar en tidigare SSAS-version till SSAS 2022.
Beteendeändringar i SSAS 2022
Det finns inga beteendeändringar i den här versionen.
SQL Server 2019 Analysis Services
SQL Server 2019 Analysis Services CU 5
Kumulativa uppdateringar för SQL Server Analysis Services ingår i kumulativa SQL Server-uppdateringar. Mer information om och nedladdning av den senaste kumulativa uppdateringen finns i den senaste kumulativa uppdateringen för SQL Server 2019. Kumulativa KB-sidor för uppdateringar sammanfattar kända problem, förbättringar och korrigeringar för alla SQL Server-funktioner, inklusive SSAS. Mer information om viktiga funktionsuppdateringar för SSAS beskrivs här.
SuperDAX för flerdimensionella modeller (SuperDAXMD)
Med CU5 kan DAX-baserade klienter nu använda SuperDAX-funktioner och frågemönster mot flerdimensionella modeller, vilket ger bättre prestanda vid frågor mot modelldata. SuperDAX introducerade först DAX-frågeoptimeringar för tabellmodeller med Power BI och SQL Server Analysis Services 2016. SuperDAXMD ger nu dessa förbättringar till flerdimensionella modeller.
Ett separat meddelande på Power BI-bloggen beskriver hur Power BI-användare kan dra nytta av den här flerdimensionella modellprestandaförbättringen genom att ladda ned den senaste versionen av Power BI Desktop. Befintliga interaktiva rapporter i Power BI-tjänsten kan dra nytta utan några ytterligare steg, eftersom Power BI automatiskt genererar de optimerade SuperDAX-frågorna. Power BI identifierar automatiskt anslutningar till flerdimensionella modeller med SuperDAX-stöd och använder samma optimerade DAX-funktioner och frågemönster som redan används mot tabellmodeller. Power BI kan automatiskt växla till SuperDAXMD, men i dina egna business intelligence-lösningar kan du behöva optimera DAX-frågemönster manuellt.
Optimerade frågemönster bör använda funktionen SUMMARIZECOLUMNS för att ersätta den mindre effektiva standardfunktionen SUMMARIZE . Använd DAX-variabler, VAR, för att beräkna uttryck endast en gång på definitionsplatsen och återanvänd sedan resultatet i andra DAX-uttryck utan att behöva utföra beräkningen igen. Andra, och kanske mindre vanliga SuperDAX-funktioner, är SUBSTITUTEWITHINDEX, ADDMISSINGITEMS samt NATURALLEFTOUTERJOIN och NATURALINNERJOIN, ISONORAFTER och GROUPBY. SELECTCOLUMNS och UNION är också SuperDAX-funktioner.
Om du vill veta mer om hur DAX fungerar med flerdimensionella modeller och viktiga mönster och begränsningar att vara medveten om, se DAX för flerdimensionella modeller.
SQL Server 2019 Analysis Services GA (allmänt tillgänglig)
Kompatibilitetsnivå för tabellmodell
Den här versionen introducerar kompatibilitetsnivån 1500 för tabellmodeller.
Växling av frågor
Frågeinterfoliering är en tabelläge systemkonfiguration som kan förbättra svarstiderna för användarfrågor i scenarier med hög grad av samtidighet. Med frågeinterfoliering med korta frågefördomar kan samtidiga frågor dela CPU-resurser. Mer information finns i Query interleaving.
Beräkningsgrupper i tabellmodeller
Beräkningsgrupper kan avsevärt minska antalet redundanta mått genom att gruppera vanliga måttuttryck som beräkningsobjekt. Beräkningsgrupper visas i rapportklienter som en tabell med en enda kolumn. Varje värde i kolumnen representerar en återanvändbar beräkning eller ett beräkningsobjekt som kan tillämpas på något av måtten. En beräkningsgrupp kan ha valfritt antal beräkningsobjekt. Varje beräkningsobjekt definieras av ett DAX-uttryck. Mer information finns i Beräkningsgrupper.
Riktlinjer för uppdateringar av Power BI-cache
Egenskapsinställningen ClientCacheRefreshPolicy stöds nu i SSAS 2019 och senare. Den här egenskapsinställningen är redan tillgänglig för Azure Analysis Services. Power BI-tjänsten cachelagrar paneldata och rapportdata för den första inläsningen av Live Connect-rapporten, vilket orsakar ett stort antal cachefrågor som skickas till motorn och i extrema fall överbelastar servern. Med egenskapen ClientCacheRefreshPolicy kan du åsidosätta det här beteendet på servernivå. Mer information finns i Allmänna egenskaper.
Onlineanslutning
Den här funktionen ger möjlighet att koppla en tabellmodell som en onlineåtgärd. Onlinekoppling kan användas för synkronisering av skrivskyddade repliker i lokala utskalningsmiljöer för frågor. Om du vill utföra en online-attach-åtgärd använder du alternativet AllowOverwrite i kommandot Bifoga XMLA.
Den här åtgärden kan kräva dubbelt så mycket modellminne för att hålla den gamla versionen online när den nya versionen läses in.
Ett typiskt användningsmönster kan vara följande:
DB1 (version 1) är redan ansluten på skrivskyddad server B.
DB1 (version 2) bearbetas på skrivserverN A.
DB1 (version 2) kopplas från och placeras på en plats som är tillgänglig för server B (antingen via en delad plats eller med robocopy osv.).
Kommandot Bifoga med AllowOverwrite=True körs på server B med den nya platsen DB1 (version 2).
Utan denna funktion måste administratörer först koppla från databasen och sedan ansluta den nya versionen av databasen. Detta leder till stilleståndstid när databasen inte är tillgänglig för användare, och frågor mot den misslyckas.
När den här nya flaggan har angetts tas version 1 av databasen bort atomiskt inom samma transaktion utan avbrott. Det kostar dock att båda databaserna läses in i minnet samtidigt.
Många-till-många-relationer i tabellmodeller
Den här förbättringen möjliggör många-till-många-relationer mellan tabeller där båda kolumnerna inte är unika. En relation kan definieras mellan en dimensions- och faktatabell med en kornighet som är högre än dimensionens nyckelkolumn. Detta undviker att behöva normalisera dimensionstabeller och kan förbättra användarupplevelsen eftersom den resulterande modellen har ett mindre antal tabeller med logiskt grupperade kolumner.
Många-till-många-relationer kräver att modeller är på kompatibilitetsnivån 1500 och högre. Du kan skapa många-till-många-relationer med hjälp av Visual Studio 2019 med Analysis Services-projekt VSIX-uppdatering 2.9.2 och senare, TOM-API:et (Tabular Object Model), TMSL (Tabular Model Scripting Language) och öppen källkod-verktyget Tabular Editor.
Minnesinställningar för resursstyrning
Följande egenskapsinställningar ger bättre resursstyrning:
- Memory\QueryMemoryLimit – Den här minnesegenskapen kan användas för att begränsa minnespooler som skapats av DAX-frågor som skickas till modellen.
- DbpropMsmdRequestMemoryLimit – Den här XMLA-egenskapen kan användas för att åsidosätta egenskapsvärdet Memory\QueryMemoryLimit-server för en anslutning.
- OLAP\Query\RowsetSerializationLimit – Den här serveregenskapen begränsar antalet rader som returneras i en raduppsättning, vilket skyddar serverresurser från omfattande användning av dataexport. Den här egenskapen gäller för både DAX- och MDX-frågor.
Dessa egenskaper kan anges med hjälp av den senaste versionen av SQL Server Management Studio (SSMS). De här inställningarna är redan tillgängliga för Azure Analysis Services.
Inaktuella funktioner i SSAS 2019
Inga inaktuella funktioner har meddelats med den här versionen.
Utgångna funktioner i SSAS 2019
Inga avbrutna funktioner har meddelats med den här versionen.
Brytande ändringar i SSAS 2019
Det finns inga icke-bakåtkompatibla ändringar i den här versionen.
Beteendeändringar i SSAS 2019
Det finns inga beteendeändringar i den här versionen.
SQL Server 2017 Analysis Services
SQL Server 2017 Analysis Services ser några av de viktigaste förbättringarna sedan SQL Server 2012. Den här versionen bygger på framgångarna med tabellläget (som först introducerades i SQL Server 2012 Analysis Services) och gör tabellmodellerna mer kraftfulla än någonsin.
Flerdimensionellt läge och Power Pivot för SharePoint-läge är en stapelvara för många Analysis Services-distributioner. I Analysis Services produktlivscykel är dessa lägen mogna. Det finns inga nya funktioner för något av dessa lägen i den här versionen. Buggkorrigeringar och prestandaförbättringar ingår dock.
Funktionerna som beskrivs här ingår i SQL Server 2017 Analysis Services. Men för att kunna dra nytta av dem måste du också använda de senaste versionerna av Visual Studio med Analysis Services-projekt och SQL Server Management Studio (SSMS). Analysis Services-projekt och SSMS uppdateras varje månad med nya och förbättrade funktioner som vanligtvis sammanfaller med nya funktioner i SQL Server.
Även om det är viktigt att lära sig om alla nya funktioner är det också viktigt att veta vad som är inaktuellt och upphört i den här versionen och framtida versioner. Mer information finns i Inaktuella funktioner i SSAS 2017.
Låt oss ta en titt på några av de viktigaste nya funktionerna i den här versionen.
1400 Kompatibilitetsnivå för tabellmodeller
Om du vill dra nytta av många av de nya funktionerna som beskrivs här måste nya eller befintliga tabellmodeller anges eller uppgraderas till kompatibilitetsnivån 1400. Modeller på kompatibilitetsnivå 1400 kan inte distribueras till SQL Server 2016 SP1 eller tidigare, eller nedgraderas till lägre kompatibilitetsnivåer. Mer information finns i Kompatibilitetsnivå för Analysis Services-tabellmodeller.
I Visual Studio kan du välja den nya kompatibilitetsnivån 1400 när du skapar nya tabellmodellprojekt.
Om du vill uppgradera en befintlig tabellmodell i Visual Studio högerklickar du på Model.bim i Solution Explorer och anger sedan egenskapen Kompatibilitetsnivå till SQL Server 2017 (1400).
Det är viktigt att komma ihåg att när du uppgraderar en befintlig modell till 1400 kan du inte nedgradera. Se till att du behåller en säkerhetskopia av 1200-modelldatabasen.
Modern get data-upplevelse
När det gäller att importera data från datakällor till dina tabellmodeller introducerar SSDT den moderna Get Data-upplevelsen för modeller på kompatibilitetsnivå 1400. Den här nya funktionen baseras på liknande funktioner i Power BI Desktop och Microsoft Excel 2016. Den moderna Get Data-upplevelsen ger enorma möjligheter för datatransformering och datakombinering genom att använda frågeverkyget Get Data och M-uttryck.
Den moderna Get Data-upplevelsen ger stöd för en mängd olika datakällor. Framöver kommer uppdateringar att innehålla stöd för ännu mer.
Ett kraftfullt och intuitivt användargränssnitt gör det enklare än någonsin att välja data- och datatransformerings-/kombinationsfunktioner.
De moderna funktionerna hämta data och M mashup-funktioner gäller inte för befintliga tabellmodeller som uppgraderats från kompatibilitetsnivån 1200 till 1400. Den nya upplevelsen gäller endast för nya modeller som skapats på kompatibilitetsnivån 1400.
Kodningstips
Den här versionen introducerar kodningstips, en avancerad funktion som används för att optimera bearbetning (datauppdatering) av stora tabellmodeller i minnet. Mer information om kodning finns i Performance Tuning of Tabular Models in SQL Server 2012 Analysis Services white paper (Prestandajustering av tabellmodeller i SQL Server 2012 Analysis Services white paper) för att bättre förstå kodning.
Värdekodning ger bättre frågeprestanda för kolumner som vanligtvis endast används för aggregeringar.
Hash-kodning föredras för grupperade kolumner (ofta dimensionstabellvärden) och sekundärnycklar. Strängkolumner är alltid hashkodade.
Numeriska kolumner kan använda någon av dessa kodningsmetoder. När Analysis Services börjar bearbeta en tabell, om tabellen antingen är tom (med eller utan partitioner) eller om en fullständig tabellbearbetningsåtgärd utförs, tas exempelvärden för varje numerisk kolumn för att avgöra om värdet eller hash-kodningen ska tillämpas. Som standard väljs värdekodning när exemplet med distinkta värden i kolumnen är tillräckligt stort – annars ger hashkodning vanligtvis bättre komprimering. Det är möjligt för Analysis Services att ändra kodningsmetoden efter att kolumnen delvis bearbetats baserat på ytterligare information om datadistributionen och starta om kodningsprocessen. Detta ökar dock bearbetningstiden och är ineffektivt. I white paper för prestandajustering beskrivs omkodning mer detaljerat och beskriver hur du identifierar den med SQL Server Profiler.
Kodningstips gör att modelleraren kan ange en inställning för kodningsmetoden med tanke på tidigare kunskaper från dataprofilering och/eller som svar på omkodning av spårningshändelser. Eftersom aggregering över hash-kodade kolumner är långsammare än över värdekodade kolumner, kan värdekodning anges som ett tips för sådana kolumner. Det är inte garanterat att inställningen tillämpas. Det är en ledtråd i stället för en inställning. Ange en kodningstips genom att ange egenskapen EncodingHint i kolumnen. Möjliga värden är "Default", "Value" och "Hash". Följande kodfragment med JSON-baserade metadata från filen Model.bim anger värdekodning för kolumnen Försäljningsbelopp.
{
"name": "Sales Amount",
"dataType": "decimal",
"sourceColumn": "SalesAmount",
"formatString": "\\$#,0.00;(\\$#,0.00);\\$#,0.00",
"sourceProviderType": "Currency",
"encodingHint": "Value"
}
Ojämna hierarkier
I tabellmodeller kan du modellera överordnade och underordnade hierarkier. Hierarkier med olika antal nivåer kallas ofta för ojämna hierarkier. Som standard visas ojämnt formaterade hierarkier med tomma värden för nivåer under den lägsta nivån. Här är ett exempel på en ojämn hierarki i ett organisationsschema:
Den här versionen introducerar egenskapen Dölj medlemmar . Du kan ange egenskapen Dölj medlemmar för en hierarki till Dölj tomma medlemmar.
Anmärkning
Tomma medlemmar i modellen representeras av ett tomt DAX-värde, inte en tom sträng.
När Dölj tomma medlemmar är valt och modellen distribueras, visas en lättläst version av hierarkin i rapportklienter som Excel.
Detaljrader
Nu kan du definiera en anpassad raduppsättning som bidrar till ett måttvärde. Detaljrader är liknande den standardmässiga drillthrough-åtgärden i flerdimensionella modeller. Detta gör att slutanvändarna kan visa information mer detaljerat än den aggregerade nivån.
Följande pivottabell visar Internet total försäljning per år från Adventure Works exempeltabellmodell. Du kan högerklicka på en cell med ett aggregerat värde från måttet och sedan klicka på Visa information för att visa informationsrader.
Som standard visas associerade data i tabellen Internet Sales. Det här begränsade beteendet är ofta inte meningsfullt för användaren eftersom tabellen kanske inte har de kolumner som krävs för att visa användbar information, till exempel kundnamn och orderinformation. Med Detaljrader kan du ange egenskapen Detail Rows Expression för mått.
Detail Rows-uttrycksegenskapen för mått
Med egenskapen Detail Rows Expression för mått kan modellförfattare anpassa kolumner och rader som returneras till slutanvändaren.
DAX-funktionen SELECTCOLUMNS används ofta i ett uttryck för detaljrader. I följande exempel definieras vilka kolumner som ska returneras för rader i tabellen Internet Sales i exempeltabellmodellen Adventure Works:
SELECTCOLUMNS(
'Internet Sales',
"Customer First Name", RELATED( Customer[Last Name]),
"Customer Last Name", RELATED( Customer[First Name]),
"Order Date", 'Internet Sales'[Order Date],
"Internet Total Sales", [Internet Total Sales]
)
Med egenskapen definierad och modellen distribuerad returneras en anpassad raduppsättning när användaren väljer Visa information. Den respekterar automatiskt filterkontexten för den valda cellen. I det här exemplet visas endast raderna för 2010-värdet:
Standardegenskap för detaljraders uttryck för tabeller
Förutom mått har tabeller också en egenskap för att definiera ett uttryck för detaljrader. Egenskapen Default Detail Rows Expression fungerar som standard för alla mått i tabellen. Mått som inte har ett eget uttryck definierat ärver uttrycket från tabellen och visar raduppsättningen som definierats för tabellen. Detta gör det möjligt att återanvända uttryck, och nya mått som läggs till i tabellen senare ärver automatiskt uttrycket.
DETAILROWS DAX-funktion
I den här versionen ingår en ny DETAILROWS DAX-funktion som returnerar raduppsättningen som definieras av uttrycket för detaljrader. Det fungerar på samma sätt som instruktionen DRILLTHROUGH i MDX, som också är kompatibel med detaljraduttryck som definieras i tabellmodeller.
Följande DAX-fråga returnerar raduppsättningen som definierats av uttrycket för detaljrader för måttet eller dess tabell. Om inget uttryck har definierats returneras data för tabellen Internet Sales eftersom det är tabellen som innehåller måttet.
EVALUATE DETAILROWS([Internet Total Sales])
Säkerhet på objektnivå
Den här versionen introducerar säkerhet på objektnivå för tabeller och kolumner. Förutom att begränsa åtkomsten till tabell- och kolumndata kan känsliga tabell- och kolumnnamn skyddas. Detta förhindrar att en obehörig användare upptäcker att en sådan tabell finns.
Säkerhet på objektnivå måste anges med hjälp av JSON-baserade metadata, TMSL (Tabular Model Scripting Language) eller TOM (Tabular Object Model).
Följande kod hjälper till exempel till att skydda tabellen Produkt i adventure works-exempeltabellmodellen genom att ange egenskapen MetadataPermission för klassen TablePermission till Ingen.
//Find the Users role in Adventure Works and secure the Product table
ModelRole role = db.Model.Roles.Find("Users");
Table productTable = db.Model.Tables.Find("Product");
if (role != null && productTable != null)
{
TablePermission tablePermission;
if (role.TablePermissions.Contains(productTable.Name))
{
tablePermission = role.TablePermissions[productTable.Name];
}
else
{
tablePermission = new TablePermission();
role.TablePermissions.Add(tablePermission);
tablePermission.Table = productTable;
}
tablePermission.MetadataPermission = MetadataPermission.None;
}
db.Update(UpdateOptions.ExpandFull);
Dynamiska hanteringsvyer (DMVs)
DMV:er är frågor i SQL Server Profiler som returnerar information om lokala serveråtgärder och serverhälsa. Den här versionen innehåller förbättringar av dynamiska hanteringsvyer (DMV) för tabellmodeller på kompatibilitetsnivåerna 1200 och 1400.
DISCOVER_CALC_DEPENDENCY fungerar nu med tabellmodellversioner 1200 och senare. Tabellmodellerna 1400 och högre visar beroenden mellan M-partitioner, M-uttryck och strukturerade datakällor. Mer information finns i Analysis Services-bloggen.
MDSCHEMA_MEASUREGROUP_DIMENSIONS Förbättringar ingår för denna DMV, som används av olika klientverktyg för att visa måttdimensionalitet. Med funktionen Utforska i Excel-pivottabeller kan användaren till exempel korsgranska till dimensioner som är relaterade till de valda måtten. Den här versionen korrigerar kardinalitetskolumnerna, som tidigare visade felaktiga värden.
DAX-förbättringar
En av de viktigaste delarna i nya DAX-funktioner är den nya IN-operatorn/CONTAINSROW-funktionen för DAX-uttryck. Detta liknar operatorn TSQL IN som ofta används för att ange flera värden i en WHERE sats.
Tidigare var det vanligt att ange filter med flera värden med hjälp av den logiska OR operatorn, som i följande måttuttryck:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
'Product'[Color] = "Red"
|| 'Product'[Color] = "Blue"
|| 'Product'[Color] = "Black"
)
Detta förenklas med operatorn IN :
Filtered Sales:=CALCULATE (
[Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
)
I det här fallet refererar operatorn IN till en tabell med en kolumn med 3 rader, en för var och en av de angivna färgerna. Observera att tabellkonstruktorsyntaxen använder klammerparenteser.
Operatorn IN är funktionellt likvärdig med CONTAINSROW funktionen:
Filtered Sales:=CALCULATE (
[Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
)
Operatorn IN kan också användas effektivt med tabellkonstruktorer. Följande mått filtrerar till exempel efter kombinationer av produktfärg och kategori:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
( 'Product'[Color] = "Red" && Product[Product Category Name] = "Accessories" )
|| ( 'Product'[Color] = "Blue" && Product[Product Category Name] = "Bikes" )
|| ( 'Product'[Color] = "Black" && Product[Product Category Name] = "Clothing" )
)
)
Med hjälp av den nya IN operatorn motsvarar måttuttrycket ovan nu det som anges nedan:
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
('Product'[Color], Product[Product Category Name]) IN
{ ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
)
)
Ytterligare förbättringar
Förutom alla nya funktioner innehåller Analysis Services, SSDT och SSMS även följande förbättringar:
- Hierarki- och kolumnåteranvändningen visas på mer användbara platser i Power BI-fältlistan.
- Datumrelationer för att enkelt skapa relationer till datumdimensioner baserat på datumfält.
- Standardinstallationsalternativet för Analysis Services är nu för tabellläge.
- Nya datakällor för Hämta data (Power Query).
- DAX-redigeraren för SSDT.
- Befintliga DirectQuery-datakällor stöder M-frågor.
- SSMS-förbättringar, till exempel stöd för visning, redigering och skript för strukturerade datakällor.
Inaktuella funktioner i SSAS 2017
Följande funktioner är inaktuella i den här versionen:
| Läge/kategori | Egenskap |
|---|---|
| Flerdimensionell | Datautvinning |
| Flerdimensionell | Fjärrlänkade måttgrupper |
| Tabellform | Modeller på kompatibilitetsnivån 1100 och 1103 |
| Tabellform | Egenskaper för tabellobjektmodell – Column.TableDetailPosition, Column.IsDefaultLabel, Column.IsDefaultImage |
| Arbetsredskap | SQL Server Profiler för spårfångst Ersättningen är att använda Extended Events Profiler inbäddat i SQL Server Management Studio. Se Övervaka Analysis Services med SQL Server Extended Events. |
| Arbetsredskap | Serverprofil för återspolning av spår Ersättning. Det finns ingen ersättning. |
| Spårningshanteringsobjekt och spårnings-API:er | Microsoft.AnalysisServices.Trace-objekt (innehåller API:erna för Analysis Services Trace- och Replay-objekt). Ersättningen är i flera delar: – Spårningskonfiguration: Microsoft.SqlServer.Management.XEvent - Spårningsläsning: Microsoft.SqlServer.XEvent.Linq - Återuppspelning av spårning: Ingen |
Utgångna funktioner i SSAS 2017
Följande funktioner upphör i den här versionen:
| Läge/kategori | Egenskap |
|---|---|
| Tabellform | VertiPaqPagingPolicy minnesegenskapsvärde (2), aktivera växling till disk med hjälp av minnesmappade filer. |
| Flerdimensionell | Fjärrpartitioner |
| Flerdimensionell | Fjärrlänkade måttgrupper |
| Flerdimensionell | Dimensionell tillbakaskrivning |
| Flerdimensionell | Länkade dimensioner |
Oförenliga ändringar i SSAS 2017
Det finns inga icke-bakåtkompatibla ändringar i den här versionen.
Beteendeändringar i SSAS 2017
Ändringar i MDSCHEMA_MEASUREGROUP_DIMENSIONS och DISCOVER_CALC_DEPENDENCY, som beskrivs i meddelandet om nyheterna i SQL Server 2017 CTP 2.1 för Analysis Services.
SQL Server 2016 Analysis Services
SQL Server 2016 Analysis Services innehåller många nya förbättringar som ger bättre prestanda, enklare lösningsredigering, automatiserad databashantering, förbättrade relationer med dubbelriktad korsfiltrering, parallell partitionsbearbetning och mycket mer. Kärnan i de flesta förbättringar för den här versionen är den nya kompatibilitetsnivån 1200 för tabellmodelldatabaser.
SQL Server 2016 Service Pack 1 (SP1) Analysis Services
SQL Server 2016 Service SP1 Analysis Services ger bättre prestanda och skalbarhet genom numa-medvetenhet (Non-Uniform Memory Access) och optimerad minnesallokering baserat på Intel Threading Building Blocks (Intel TBB). Den här nya funktionen hjälper till att sänka den totala ägandekostnaden (TCO) genom att stödja fler användare på färre, kraftfullare företagsservrar.
I synnerhet har SQL Server 2016 SP1 Analysis Services förbättringar inom följande nyckelområden:
- NUMA-medvetenhet – För bättre NUMA-stöd har den minnesinterna motorn (VertiPaq) i Analysis Services nu en separat jobbkö på varje NUMA-nod. Detta garanterar att segmentgenomsökningsjobben körs på samma nod där minnet allokeras för segmentdata. Observera att NUMA-medvetenhet endast är aktiverat som standard på system med minst fyra NUMA-noder. På system med två noder garanterar kostnaderna för åtkomst till fjärrallokerat minne vanligtvis inte kostnaderna för att hantera NUMA-detaljer.
- Minnesallokering – Analysis Services har accelererats med Intel Threading Building Blocks, en skalbar allokering som tillhandahåller separata minnespooler för varje kärna. När antalet kärnor ökar kan systemet skalas nästan linjärt.
- Heapfragmentering – Den Intel TBB-baserade skalbara allokeraren hjälper också till att minska de prestandaproblem som orsakas av heapfragmentering, vilket har observerats med Windows Heap.
Prestanda- och skalbarhetstestning visade betydande vinster i frågegenomflödet när SQL Server 2016 SP1 Analysis Services kördes på stora företagsservrar med flera noder.
De flesta förbättringar i den här versionen är specifika för tabellmodeller, men ett antal förbättringar har gjorts i flerdimensionella modeller; till exempel optimering av distinkt antal för ROLAP för datakällor som DB2 och Oracle, stöd för drill-through med flerval i Excel 2016 och optimeringar av Excel-frågor.
SQL Server 2016 Allmän Tillgänglighet (GA) Analystjänster
Modellering
Förbättrad modelleringsprestanda för tabellmodeller 1200
För tabell 1200-modeller är metadataåtgärder i SSDT mycket snabbare än tabellmodellerna 1100 eller 1103. För att jämföra, på samma hårdvara, tar det 3 sekunder att skapa en relation i en modell inställd på SQL Server 2014-kompatibilitetsnivån (1103) med 23 tabeller, medan samma relation i en modell inställd till kompatibilitetsnivå 1200 tar under en sekund.
Projektmallar har lagts till för tabell 1200-modeller i SSDT
Med den här versionen behöver du inte längre två versioner av SSDT för att skapa relations- och BI-projekt. SQL Server Data Tools för Visual Studio 2015 lägger till projektmallar för Analysis Services-lösningar, inklusive Analysis Services-tabellprojekt som används för att skapa modeller på kompatibilitetsnivå 1200. Andra Analysis Services-projektmallar för flerdimensionella lösningar och datautvinningslösningar ingår också, men på samma funktionsnivå (1100 eller 1103) som i tidigare versioner.
Visa mappar
Visningsmappar är nu tillgängliga för tabell 1200-modeller. Visningsmappar som definieras i SQL Server Data Tools och återges i klientprogram som Excel eller Power BI Desktop hjälper dig att organisera ett stort antal mått i enskilda mappar och lägger till en visuell hierarki för enklare navigering i fältlistor.
Dubbelriktad korsfiltrering
Nytt i den här versionen är en inbyggd metod för att aktivera dubbelriktade korsfilter i tabellmodeller, vilket eliminerar behovet av handgjorda DAX-lösningar för att sprida filterkontext över tabellrelationer. Filter genereras endast automatiskt när riktningen kan upprättas med hög grad av säkerhet. Om det finns tvetydigheter i form av flera frågesökvägar mellan tabellrelationer skapas inte ett filter automatiskt. Mer information finns i Dubbelriktade korsfilter för tabellmodeller i SQL Server 2016 Analysis Services .
Översättningar
Nu kan du lagra översatta metadata i en tabellmodell 1200. Metadata i modellen innehåller fält för Kultur, översatta bildtexter och översatta beskrivningar. Om du vill lägga till översättningar använder du kommandotModellöversättningar> i SQL Server Data Tools. Mer information finns i Översättningar i tabellmodeller (Analysis Services).
Klistrade tabeller
Nu kan du uppgradera en tabellmodell på 1100 eller 1103 till 1 200 när modellen innehåller inklistrade tabeller. Vi rekommenderar att du använder SQL Server Data Tools. I SSDT anger du CompatibilityLevel till 1200 och distribuerar sedan till en SQL Server 2017-instans av SQL Server Analysis Services. Mer information finns i Kompatibilitetsnivå för tabellmodeller i Analysis Services .
Beräknade tabeller i SSDT
En beräknad tabell är en modellbaserad konstruktion som baseras på ett DAX-uttryck eller en fråga i SSDT. När den distribueras i en databas kan en beräknad tabell inte skiljas från vanliga tabeller.
Det finns flera användningsområden för beräknade tabeller, inklusive skapandet av nya tabeller för att exponera en befintlig tabell i en specifik roll. Det klassiska exemplet är en datumtabell som fungerar i flera kontexter (orderdatum, leveransdatum och så vidare). Genom att skapa en beräknad tabell för en viss roll kan du nu aktivera en tabellrelation för att underlätta frågor eller datainteraktion med hjälp av den beräknade tabellen. En annan användning för beräknade tabeller är att kombinera delar av befintliga tabeller till en helt ny tabell som bara finns i modellen. Mer information finns i Skapa en beräknad tabell .
Formelkorrigering
Med formelkorrigering i en tabellmodell 1200 uppdaterar SSDT automatiskt alla mått som refererar till en kolumn eller tabell som har bytt namn.
Stöd för Visual Studio Configuration Manager
För att stödja flera miljöer, till exempel test- och förproduktionsmiljöer, tillåter Visual Studio utvecklare att skapa flera projektkonfigurationer med hjälp av konfigurationshanteraren. Flerdimensionella modeller utnyttjar redan detta, men tabellmodeller gjorde det inte. Med den här versionen kan du nu använda Configuration Manager för att distribuera till olika servrar.
Instanshantering
Administrera Tabular 1200-modeller i SSMS
I den här versionen kan en Analysis Services-instans i tabellserverläge köra tabellmodeller på valfri kompatibilitetsnivå (1100, 1103, 1200). Den senaste SQL Server Management Studio har uppdaterats för att visa egenskaper och tillhandahålla databasmodelladministration för tabellmodeller på kompatibilitetsnivå 1200.
Parallell bearbetning för flera tabellpartitioner i tabellmodeller
Den här versionen innehåller nya funktioner för parallell bearbetning för tabeller med två eller flera partitioner, vilket ökar bearbetningsprestandan. Det finns inga konfigurationsinställningar för den här funktionen. Mer information om hur du konfigurerar partitioner och bearbetningstabeller finns i Tabellmodellpartitioner.
Lägga till datorkonton som administratörer i SSMS
SQL Server Analysis Services-administratörer kan nu använda SQL Server Management Studio för att konfigurera datorkonton som medlemmar i gruppen SQL Server Analysis Services-administratörer. I dialogrutan Välj användare eller grupper anger du plats för datordomänen och lägger sedan till objekttypen Datorer . Mer information finns i Bevilja serveradministratörsrättigheter till en Analysis Services-instans.
DBCC för Analysis Services
Database Consistency Checker (DBCC) körs internt för att identifiera potentiella problem med skadade data vid databasinläsning, men kan också köras på begäran om du misstänker problem med dina data eller din modell. DBCC kör olika kontroller beroende på om modellen är tabellbaserad eller flerdimensionell. Mer information finns i Databaskonsekvenskontroll (DBCC) för Analysis Services-tabelldatabaser och flerdimensionella databaser .
Uppdateringar av utökade händelser
Den här versionen lägger till ett grafiskt användargränssnitt i SQL Server Management Studio för att konfigurera och hantera utökade händelser för SQL Server Analysis Services. Du kan konfigurera livedataströmmar för att övervaka serveraktivitet i realtid, hålla sessionsdata inlästa i minnet för snabbare analys eller spara dataströmmar i en fil för offlineanalys. För mer information, se Övervaka Analysis Services med SQL Server Extended Events.
Skriptskrivning
PowerShell för tabellmodeller
Den här versionen innehåller PowerShell-förbättringar för tabellmodeller på kompatibilitetsnivå 1200. Du kan använda alla tillämpliga cmdletar, plus cmdletar som är specifika för tabellläge: Invoke-ProcessASDatabase och Invoke-ProcessTable cmdlet.
SSMS-skriptdatabasåtgärder
I den senaste SQL Server Management Studio (SSMS) är skriptet nu aktiverat för databaskommandon, inklusive Create, Alter, Delete, Backup, Restore, Attach, Detach. Utdata är TMSL (Tabular Model Scripting Language) i JSON. Mer information finns i TMSL-referens (Tabular Model Scripting Language).
Analysis Services kör DDL-uppgift
Analysis Services Kör DDL-uppgift accepterar nu även TMSL-kommandon (Tabular Model Scripting Language).
SSAS PowerShell-cmdlet
SSAS PowerShell-cmdleten Invoke-ASCmd accepterar nu TMSL-kommandon (Tabular Model Scripting Language). Andra SSAS PowerShell cmdletar kan uppdateras i en framtida version för att använda den nya tabellmetadatan (undantag kommer att anges i versionsinformationen). Mer information finns i Analysis Services PowerShell-referens.
TMSL (Tabular Model Scripting Language) stöds i SSMS
Med den senaste versionen av SSMS kan du nu skapa skript för att automatisera de flesta administrativa uppgifter för tabell 1200-modeller. För närvarande kan följande uppgifter skriptas: Bearbeta på valfri nivå, plus CREATE, ALTER, DELETE på databasnivå.
Funktionellt motsvarar TMSL XMLA ASSL-tillägget som tillhandahåller flerdimensionella objektdefinitioner, förutom att TMSL använder inbyggda deskriptorer som modell, tabell och relation för att beskriva tabellmetadata. Mer information om schemat finns i TMSL-referens (Tabular Model Scripting Language).
Ett genererat JSON-baserat skript för en tabellmodell kan se ut så här:
{
"create": {
"database": {
"name": "AdventureWorksTabular1200",
"id": "AdventureWorksTabular1200",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
}
}
Nyttolasten är ett JSON-dokument som kan vara så minimalt som exemplet ovan, eller mycket utsmyckat med den fullständiga uppsättningen objektdefinitioner. TMSL-referens (Tabular Model Scripting Language) beskriver syntaxen.
På databasnivå matar kommandona CREATE, ALTER och DELETE ut TMSL-skript i det välbekanta XMLA-fönstret. Andra kommandon, till exempel Process, kan också skriptas i den här versionen. Skriptstöd för många andra åtgärder kan läggas till i en framtida version.
| Skriptbara kommandon | Beskrivning |
|---|---|
| skapa | Lägger till en databas, anslutning eller partition. ASSL-motsvarigheten är CREATE. |
| skapaEllerErsätt | Uppdaterar en befintlig objektdefinition (databas, anslutning eller partition) genom att skriva över en tidigare version. ASSL-motsvarigheten är ALTER med AllowOverwrite inställt på true och ObjectDefinition till ExpandFull. |
| ta bort | Tar bort en objektdefinition. ASSL-motsvarigheten är DELETE. |
| uppdatera | Bearbetar objektet. ASSL-motsvarighet är PROCESS. |
DAX
Förbättrad DAX-formelredigering
Uppdateringar av formelfältet hjälper dig att skriva formler enklare genom att särskilja funktioner, fält och mått med hjälp av syntaxfärgning, samt ge intelligenta funktions- och fältförslag. Dessutom får du veta om delar av ditt DAX-uttryck är felaktigt med hjälp av vågiga understrykningar. Du kan också använda flera rader (Alt + Retur) och indrag (tabb). Formelfältet låter dig nu också skriva kommentarer som en del av dina mått, skriv bara "//" och allt efter dessa tecken på samma rad betraktas som en kommentar.
DAX-variabler
Den här versionen innehåller nu stöd för variabler i DAX. Variabler kan nu lagra resultatet av ett uttryck som en namngiven variabel, som sedan kan skickas som ett argument till andra måttuttryck. När resulterande värden har beräknats för ett variabeluttryck ändras inte dessa värden, även om variabeln refereras till i ett annat uttryck. Mer information finns i VAR-funktionen.
Nya DAX-funktioner
Med den här versionen introducerar DAX över femtio nya funktioner för snabbare beräkningar och förbättrade visualiseringar i Power BI. Mer information finns i Nya DAX-funktioner.
Spara ofullständiga mått
Nu kan du spara ofullständiga DAX-mått direkt i ett tabellmodellprojekt 1200 och hämta dem igen när du är redo att fortsätta.
Ytterligare DAX-förbättringar
- Icke-tom beräkning – Minskar antalet genomsökningar som behövs för icke-tomma.
- Measure Fusion – Flera mått från samma tabell kommer att kombineras till en enda lagringsmotorfråga.
- Grupperingsuppsättningar – När en fråga frågar efter mått med flera kornigheter (totalt/år/månad) skickas en enskild fråga på den lägsta nivån och resten av kornigheterna härleds från den lägsta nivån.
- Redundant kopplingseliminering – En enskild fråga till lagringsmotorn returnerar både dimensionskolumnerna och måttvärdena.
- Strikt utvärdering av IF/SWITCH – en gren vars villkor är falskt kommer inte längre att resultera i förfrågningar för lagringsmotorn. Tidigare utvärderades grenar ivrigt men resultaten togs bort senare.
Utvecklare
Microsoft.AnalysisServices.Tabular-namnrymd för Tabular 1200-programmerbarhet i AMO
Analysis Services Management Objects (AMO) uppdateras så att det innehåller ett nytt tabellnamnområde för hantering av en tabelllägesinstans av SQL Server 2016 Analysis Services, samt anger datadefinitionsspråket för att skapa eller ändra tabellmodeller programmatiskt. Gå till Microsoft.AnalysisServices.Tabular för att läsa om API:et.
Uppdateringar av Analysis Services Management Objects (AMO)
Analysis Services Management Objects (AMO) har omräknats till att omfatta en andra sammansättning, Microsoft.AnalysisServices.Core.dll. Den nya sammansättningen separerar vanliga klasser som Server, Databas och Roll som har ett brett program i Analysis Services, oavsett serverläge. Tidigare var dessa klasser en del av den ursprungliga sammansättningen Microsoft.AnalysisServices. Att flytta dem till en ny sammansättning banar väg för framtida tillägg till AMO, med tydlig uppdelning mellan generiska och kontextspecifika API:er. Befintliga program påverkas inte av de nya sammansättningarna. Men om du väljer att återskapa program med hjälp av den nya AMO-sammansättningen av någon anledning måste du lägga till en referens till Microsoft.AnalysisServices.Core. På samma sätt måste PowerShell-skript som läser in och anropar till AMO nu läsa in Microsoft.AnalysisServices.Core.dll. Se till att uppdatera alla skript.
JSON-redigerare för BIM-filer
Kodvyn i Visual Studio 2015 återger nu BIM-filen i JSON-format för tabell 1200-modeller. Versionen av Visual Studio avgör om BIM-filen återges i JSON via den inbyggda JSON-redigeraren eller som enkel text.
Om du vill använda JSON-redigeraren, med möjlighet att expandera och komprimera delar av modellen, behöver du den senaste versionen av SQL Server Data Tools plus Visual Studio 2015 (alla utgåvor, inklusive den kostnadsfria Community-utgåvan). För alla andra versioner av SSDT eller Visual Studio återges BIM-filen i JSON som enkel text. Minst innehåller en tom modell följande JSON:
{
"name": "SemanticModel",
"id": "SemanticModel",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
Varning
Undvik att redigera JSON direkt. Om du gör det kan modellen skadas.
Nya element i MS-CSDLBI 2.0-schema
Följande element har lagts till i den komplexa TProperty-typen som definierats i schemat [MS-CSDLBI] 2.0:
| Komponent | Definition |
|---|---|
| Standardvärde | En egenskap som anger det värde som används vid utvärdering av frågan. Egenskapen DefaultValue är valfri, men den väljs automatiskt om värdena från medlemmen inte kan aggregeras. |
| Statistik | En uppsättning statistik från underliggande data som är associerade med kolumnen. Den här statistiken definieras av den komplexa typen TPropertyStatistics och tillhandahålls endast om de inte är beräkningsmässigt dyra att generera, enligt beskrivningen i avsnitt 2.1.13.5 i dokumentet Konceptuellt schemadefinitionsfilformat med Business Intelligence-anteckningar. |
DirectQuery
Ny DirectQuery-implementering
Den här versionen ser betydande förbättringar i DirectQuery för tabulära 1200-modeller. Här är en sammanfattning:
- DirectQuery genererar nu enklare frågor som ger bättre prestanda.
- Extra kontroll över att definiera exempeldatauppsättningar som används för modelldesign och testning.
- Säkerhet på radnivå (RLS) stöds nu för tabell 1200-modeller i DirectQuery-läge. Tidigare förhindrade förekomsten av RLS distribution av en tabellmodell i DirectQuery-läge.
- Beräknade kolumner stöds nu för tabell 1200-modeller i DirectQuery-läge. Tidigare förhindrade förekomsten av beräknade kolumner distributionen av en tabellmodell i DirectQuery-läge.
- Prestandaoptimeringar omfattar redundant kopplingseliminering för VertiPaq och DirectQuery.
Nya datakällor för DirectQuery-läge
Datakällor som stöds för tabell 1200-modeller i DirectQuery-läge innehåller nu Oracle, Teradata och Microsoft Analytics Platform (tidigare kallat Parallel Data Warehouse). Mer information finns i DirectQuery-läge.
Inaktuella funktioner i SSAS 2016
Följande funktioner är inaktuella i den här versionen:
| Läge/kategori | Egenskap |
|---|---|
| Flerdimensionell | Fjärrpartitioner |
| Flerdimensionell | Fjärrlänkade måttgrupper |
| Flerdimensionell | Dimensionell tillbakaskrivning |
| Flerdimensionell | Länkade dimensioner |
| Flerdimensionell | SQL Server-tabellmeddelanden för proaktiv cachelagring. Ersättningen är att använda polling för proaktiv cachelagring. Se Proaktiv cachelagring (dimensioner) och proaktiv cachelagring (partitioner). |
| Flerdimensionell | Sessionskuber. Det finns ingen ersättning. |
| Flerdimensionell | Lokala kuber. Det finns ingen ersättning. |
| Tabellform | Tabellmodell över kompatibilitetsnivåerna 1100 och 1103 kommer inte att stödjas i en framtida version. Ersättningen är att ange modeller på kompatibilitetsnivå 1200 eller högre, och konvertera modelldefinitioner till tabellmetadata. Se Kompatibilitetsnivå för tabellmodeller i Analysis Services. |
| Arbetsredskap | SQL Server Profiler för spårfångst Ersättningen är att använda Extended Events Profiler inbäddat i SQL Server Management Studio. Se Övervaka Analysis Services med SQL Server Extended Events. |
| Arbetsredskap | Serverprofil för återspolning av spår Ersättning. Det finns ingen ersättning. |
| Spårningshanteringsobjekt och spårnings-API:er | Microsoft.AnalysisServices.Trace-objekt (innehåller API:erna för Analysis Services Trace- och Replay-objekt). Ersättningen är i flera delar: – Spårningskonfiguration: Microsoft.SqlServer.Management.XEvent - Spårningsläsning: Microsoft.SqlServer.XEvent.Linq - Återuppspelning av spårning: Ingen |
Utgångna funktioner i SSAS 2016
Följande funktioner upphör i den här versionen:
| Egenskap | Ersättning eller lösning |
|---|---|
| CalculationPassValue (MDX) | Ingen. Den här funktionen är inaktuell i SQL Server 2005. |
| CalculationCurrentPass (MDX) | Ingen. Den här funktionen är inaktuell i SQL Server 2005. |
| NON_EMPTY_BEHAVIOR tips för frågeoptimeraren | Ingen. Den här funktionen är inaktuell i SQL Server 2008. |
| COM-sammansättningar | Ingen. Den här funktionen är inaktuell i SQL Server 2008. |
| CELL_EVALUATION_LIST inneboende cellegenskap | Ingen. Den här funktionen är inaktuell i SQL Server 2005. |
Brytande ändringar i SSAS 2016
Versionsuppgradering av .NET 4.0
Analysis Services Management Objects (AMO), ADOMD.NET och TOM-klientbibliotek (Tabular Object Model) riktar sig nu mot .NET 4.0-körningen. Detta kan vara en icke-bakåtkompatibel ändring för program som är anpassade för .NET 3.5. Program som använder nyare versioner av dessa assemblyfiler måste nu rikta sig mot .NET 4.0 eller senare.
Uppgradering av AMO-version
Den här utgåvan är en versionsuppgradering för Analysis Services Management Objects (AMO) och är en kritisk förändring under vissa omständigheter. Befintlig kod och skript som anropar till AMO fortsätter att köras som tidigare om du uppgraderar från en tidigare version. Men om du behöver kompilera om programmet och du riktar in dig på en SQL Server 2016 Analysis Services-instans måste du lägga till följande namnområde för att koden eller skriptet ska fungera:
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Core;
Namnområdet Microsoft.AnalysisServices.Core krävs nu när du refererar till sammansättningen Microsoft.AnalysisServices i koden. Objekt som tidigare bara fanns i namnområdet Microsoft.AnalysisServices flyttas till core-namnområdet i den här versionen om objektet används på samma sätt i både tabell- och flerdimensionella scenarier. Till exempel flyttas serverrelaterade API:er till core-namnområdet.
Även om det nu finns flera namnområden finns båda i samma sammansättning (Microsoft.AnalysisServices.dll).
XEvent DISCOVER-ändringar
För att bättre stödja XEvent DISCOVER-strömning i SSMS för SQL Server 2016 Analysis Services DISCOVER_XEVENT_TRACE_DEFINITION ersätts med följande XEvent-spårningar:
DISCOVER_XEVENT_PACKAGES
DISCOVER_XEVENT_OBJECT
DISCOVER_XEVENT_OBJECT_COLUMNS
DISCOVER_XEVENT_SESSION_TARGETS
Beteendeändringar i SSAS 2016
Analysis Services i SharePoint-läge
Det krävs inte längre att köra power pivot-konfigurationsguiden som en uppgift efter installationen. Detta gäller för alla versioner av SharePoint som stöds och som läser in modeller från den aktuella SQL Server 2016 Analysis Services.
DirectQuery-läge för tabellmodeller
DirectQuery är ett dataåtkomstläge för tabellmodeller, där frågekörning utförs på en relationsdatabas för serverdelen och hämtar en resultatuppsättning i realtid. Den används ofta för mycket stora datamängder som inte får plats i minnet eller när data är flyktiga och du vill att de senaste data som returneras i frågor mot en tabellmodell ska returneras.
DirectQuery har funnits som ett dataåtkomstläge för de senaste versionerna. I SQL Server 2016 Analysis Services har implementeringen ändrats något, förutsatt att tabellmodellen är på kompatibilitetsnivå 1200 eller senare. DirectQuery har färre begränsningar än tidigare. Den har också olika databasegenskaper.
Om du använder DirectQuery i en befintlig tabellmodell kan du behålla modellen på den aktuella kompatibilitetsnivån 1100 eller 1103 och fortsätta att använda DirectQuery som dess implementerade för dessa nivåer. Du kan också uppgradera till 1200 eller senare för att dra nytta av förbättringar som gjorts i DirectQuery.
Det finns ingen uppgradering på plats av en DirectQuery-modell eftersom inställningarna från äldre kompatibilitetsnivåer inte har exakta motsvarigheter i de nyare kompatibilitetsnivåerna 1200 och högre. Om du har en befintlig tabellmodell som körs i DirectQuery-läge bör du öppna modellen i SQL Server Data Tools, inaktivera DirectQuery, ange egenskapen Kompatibilitetsnivå till 1200 eller senare och sedan konfigurera om DirectQuery-egenskaperna. Mer information finns i DirectQuery-läge .
Definitioner
En inaktuell funktion kommer att avbrytas från produkten i en framtida version, men stöds fortfarande och ingår i den aktuella versionen för att upprätthålla bakåtkompatibilitet. Vi rekommenderar att du slutar använda inaktuella funktioner i nya och befintliga projekt för att upprätthålla kompatibilitet med framtida versioner. Dokumentationen uppdateras inte för inaktuella funktioner.
En nedlagd funktion gjordes inaktuell i en tidigare version. Det kan fortsätta att ingå i den aktuella versionen, men stöds inte längre. Utgångna funktioner kan tas bort helt i den angivna eller framtida versionen.
En kritisk ändring gör att en funktion, datamodell, programkod eller skript inte längre fungerar efter uppgradering till den aktuella utgåvan.
En beteendeförändring påverkar hur samma funktion fungerar i den aktuella versionen jämfört med den tidigare versionen. Endast betydande beteendeändringar beskrivs. Ändringar i användargränssnittet ingår inte. Ändringar av standardvärden, manuell konfiguration som krävs för att slutföra en uppgraderings- eller återställningsfunktion eller en ny implementering av en befintlig funktion är alla exempel på en beteendeförändring.