Documentazione per sviluppatori di Analysis Services
Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Con Analysis Services, quasi ogni oggetto e carico di lavoro è programmabile e spesso esiste più approcci da scegliere. Le opzioni includono la scrittura di codice gestito, script o l'uso di standard aperti come XMLA e MSOLAP se i requisiti della soluzione impediscono l'uso di .NET Framework.
Cosa è possibile eseguire nel codice
Gli scenari di programmazione tipici includono la distribuzione di server, database e modelli semantici, l'amministrazione, l'aggiornamento dei dati e la gestione delle partizioni, l'accesso ai dati da applicazioni personalizzate e strumenti esterni. Comunemente a tutti questi scenari è un'architettura fissa e una gerarchia di definizione degli oggetti, con operazioni ben comprese che riguardano la definizione dei dati, l'elaborazione e i carichi di lavoro di query.
Anche se gli oggetti e i carichi di lavoro sono programmabili, non sono estendibili. In particolare, non è possibile creare cartucce dati personalizzate che recuperano dati da origini dati non supportate, personalizzare o sostituire formule o comportamenti del motore di archiviazione, né creare nuovi tipi di metadati degli oggetti in un server, un database o un modello.
Per elaborare ulteriormente l'ultimo punto sulla creazione di nuovi tipi di oggetti, mentre non è possibile creare un nuovo tipo di oggetto, è possibile creare oggetti calcolati creati da espressioni o codice in fase di esecuzione. Non tutti gli elementi del modello devono essere predefiniti e mappati a una struttura di dati esistente. È inoltre possibile estendere lo schema tramite annotazioni in AMO per passare informazioni specifiche dell'oggetto all'applicazione client.
Scegliere una piattaforma o un approccio allo sviluppo
Analysis Services offre molti modi per personalizzare una soluzione tramite codice, ma la maggior parte degli sviluppatori usa le API gestite o lo script.
Le API gestite includono AMO e TOM per le attività di definizione e amministrazione dei dati e ADOMD.NET per il supporto delle query dal codice client. In SQL Server 2016 e versioni successive, AMO viene aggiornato per usare i nuovi metadati tabulari per i modelli creati o aggiornati a livello di compatibilità 1200 e versioni successive.
Lo script può spesso ottenere gli stessi risultati di un eseguibile del programma, con probabilmente meno lavoro.
È possibile scrivere uno script di PowerShell usando i componenti di PowerShell di Analysis Services che chiamano direttamente i tipi AMO. In PowerShell è anche possibile creare ed eseguire script ASSL/XMLA o TMSL (in JSON).
TMSL e ASSL sono linguaggi di script che forniscono oggetti usati nelle operazioni di individuazione ed esecuzione. Quale tipo di script usato dipende dal server, dal database o dal modello sottostante.
I modelli tabulari o i database a livello di compatibilità 1200 e versioni successive usano il linguaggio di scripting del modello tabulare (TMSL), che è in JSON.
Modelli multidimensionali e modelli tabulari a livelli di compatibilità 1050-1103 usano Il linguaggio di scripting di Analysis Services (ASSL), ovvero l'estensione Analysis Services dello standard aperto XMLA.
È possibile generare script ASSL o TMSL in Management Studio. È anche possibile usare Visualizza codice in SQL Server Data Tools per visualizzare la definizione del modello in ASSL o TMSL.
Anche se è possibile creare una soluzione in base agli standard aperti di XMLA e MDX, è piuttosto raro farlo. Non è disponibile documentazione diversa da XMLA e RIFERIMENTO MDX per aiutare l'utente e la maggior parte del supporto della community e del forum a trarre da esperienze con tecnologie .NET o native (MSOLAP).
Programmazione per Analysis Services
Analysis Services Management Objects (AMO) - Documentazione di riferimento per sviluppatori per il provider gestito, Analysis Services Management Objects (AMO), per la definizione e l'amministrazione dei dati, inclusa l'elaborazione.
Modello a oggetti tabulare : estensione della libreria client AMO creata per supportare scenari di programmazione per i modelli tabulari creati a livello di compatibilità 1200 e versioni successive.
Tabular Model Definition Language (TMDL) - Sintassi della definizione del modello a oggetti per i modelli di dati tabulari a livello di compatibilità 1200 o superiore. Completamente compatibile con TOM. Basato sul testo e ottimizzato per l'interazione umana e la leggibilità.
Riferimento al linguaggio di scripting del modello tabulare (TMSL): rappresentazione JSON dei modelli tabulari a livello di compatibilità 1200 e superiore. Le definizioni degli oggetti si basano su costrutti di metadati tabulari come tabella, colonna e relazione anziché metadati multidimensionali che potrebbero non essere familiari se non si ha familiarità con la modellazione dei dati di Analysis Services in modalità tabulare.
Programmazione di modelli multidimensionali : descrive le attività di sviluppo e gli approcci per l'integrazione di oggetti modello multidimensionali in una soluzione personalizzata.
ADOMD.NET - Documentazione di riferimento per sviluppatori per il provider gestito, ADOMD.NET, usata per l'accesso ai dati a livello di codice e i carichi di lavoro di query.
Informazioni di riferimento su XML for Analysis (XMLA): descrive i concetti xmlA che consentono di comprendere il modo in cui XMLA contribuisce alla soluzione personalizzata. Viene inoltre descritto il livello di conformità con la specifica XMLA 1.1.
Analysis Services Scripting Language (ASSL per XMLA): descrive le estensioni ASSL in XMLA . ASSL fornisce i linguaggi DDL e DML per i modelli tabulari di Analysis Services che integrano la specifica XMLA.
Set di righe dello schema di Analysis Services: descrive i set di righe dello schema che forniscono informazioni sullo stato del server, sulle operazioni del server e sugli oggetti di database.
Informazioni di riferimento su PowerShell di Analysis Services : documenta i cmdlet usati per le funzioni amministrative, oltre al cmdlet Invoke-ASCmd per utilizzo generico che accetta qualsiasi script o query come input.