Linee guida per i modelli compositi in Power BI Desktop

Questo articolo è destinato ai modelli di dati che sviluppano modelli compositi di Power BI. Descrive i casi d'uso del modello composito e fornisce indicazioni sulla progettazione. In particolare, le linee guida consentono di determinare se un modello composito è appropriato per la soluzione. In caso affermativo, questo articolo consente anche di progettare modelli e report compositi ottimali.

Nota

Un'introduzione ai modelli compositi non è descritta in questo articolo. Se non si ha familiarità con i modelli compositi, è consigliabile leggere prima l'articolo Usare modelli compositi in Power BI Desktop .

Poiché i modelli compositi sono costituiti da almeno un'origine DirectQuery, è anche importante avere una conoscenza approfondita delle relazioni tra modelli, modelli DirectQuery e linee guida per la progettazione dei modelli DirectQuery.

Casi d'uso di modelli compositi

Per definizione, un modello composito combina più gruppi di origine. Un gruppo di origine può rappresentare dati importati o una connessione a un'origine DirectQuery. Un'origine DirectQuery può essere un database relazionale o un altro modello tabulare, che può essere un modello semantico di Power BI (noto in precedenza come set di dati) o un modello tabulare di Analysis Services. Quando un modello tabulare si connette a un altro modello tabulare, è noto come concatenamento. Per altre informazioni, vedere Uso di DirectQuery per i modelli semantici di Power BI e Analysis Services.

Nota

Quando un modello si connette a un modello tabulare ma non lo estende con dati aggiuntivi, non è un modello composito. In questo caso, si tratta di un modello DirectQuery che si connette a un modello remoto, quindi comprende solo il gruppo di origine. È possibile creare questo tipo di modello per modificare le proprietà dell'oggetto modello di origine, ad esempio un nome di tabella, un ordinamento di colonna o una stringa di formato.

Connessione ai modelli tabulari è particolarmente rilevante quando si estende un modello semantico aziendale (quando si tratta di un modello semantico di Power BI o di Analysis Services). Un modello semantico aziendale è fondamentale per lo sviluppo e il funzionamento di un data warehouse. Fornisce un livello di astrazione sui dati nel data warehouse per presentare definizioni aziendali e terminologia. Viene comunemente usato come collegamento tra i modelli di dati fisici e gli strumenti di creazione di report, ad esempio Power BI. Nella maggior parte delle organizzazioni, è gestito da un team centrale ed è per questo che viene descritto come aziendale. Per altre informazioni, vedere lo scenario di utilizzo di business intelligence aziendale.

È possibile prendere in considerazione lo sviluppo di un modello composito nelle situazioni seguenti.

  • Il modello potrebbe essere un modello DirectQuery e migliorare le prestazioni. In un modello composito è possibile migliorare le prestazioni configurando l'archiviazione appropriata per ogni tabella. È anche possibile aggiungere aggregazioni definite dall'utente. Entrambe queste ottimizzazioni sono descritte più avanti in questo articolo.
  • Si vuole combinare un modello DirectQuery con più dati, che devono essere importati nel modello. È possibile caricare dati importati da un'origine dati diversa o da tabelle calcolate.
  • Si desidera combinare due o più origini dati DirectQuery in un singolo modello. Queste origini possono essere database relazionali o altri modelli tabulari.

Nota

I modelli compositi non possono includere connessioni a determinati database analitici esterni. Questi database includono SAP Business Warehouse e SAP HANA quando si considera SAP HANA come origine multidimensionale.

Valutare altre opzioni di progettazione del modello

Anche se i modelli compositi di Power BI possono risolvere particolari sfide di progettazione, possono contribuire a rallentare le prestazioni. Inoltre, in alcune situazioni, possono verificarsi risultati di calcolo imprevisti (descritti più avanti in questo articolo). Per questi motivi, valutare altre opzioni di progettazione del modello quando esistono.

Quando possibile, è consigliabile sviluppare un modello in modalità di importazione. Questa modalità offre la massima flessibilità di progettazione e prestazioni ottimali.

Tuttavia, le sfide correlate a volumi di dati di grandi dimensioni o alla creazione di report su dati quasi in tempo reale non possono essere sempre risolte dai modelli di importazione. In uno di questi casi, è possibile prendere in considerazione un modello DirectQuery, specificando che i dati vengono archiviati in una singola origine dati supportata dalla modalità DirectQuery. Per altre informazioni, vedere Modelli DirectQuery in Power BI Desktop.

Suggerimento

Se l'obiettivo è estendere un modello tabulare esistente con più dati, quando possibile, aggiungere tali dati all'origine dati esistente.

Modalità di archiviazione tabelle

In un modello composito è possibile impostare la modalità di archiviazione per ogni tabella ,ad eccezione delle tabelle calcolate.

  • DirectQuery: è consigliabile impostare questa modalità per le tabelle che rappresentano volumi di dati di grandi dimensioni o che devono fornire risultati quasi in tempo reale. I dati non verranno mai importati in queste tabelle. In genere, queste tabelle saranno di tipo fact, ovvero tabelle riepilogate.
  • Importazione: è consigliabile impostare questa modalità per le tabelle che non vengono usate per filtrare e raggruppare le tabelle dei fatti in modalità DirectQuery o ibrida. È anche l'unica opzione per le tabelle basate su origini non supportate dalla modalità DirectQuery. Le tabelle calcolate sono sempre tabelle di importazione.
  • Doppia: è consigliabile impostare questa modalità per le tabelle di tipo dimensione, quando è possibile che vengano eseguite query insieme alle tabelle di tipo fatto DirectQuery dalla stessa origine.
  • Ibrido: è consigliabile impostare questa modalità aggiungendo partizioni di importazione e una partizione DirectQuery a una tabella dei fatti quando si desidera includere le modifiche dei dati più recenti in tempo reale o quando si vuole fornire accesso rapido ai dati usati più di frequente tramite partizioni di importazione, lasciando al contempo la maggior parte dei dati usati più raramente nel data warehouse.

Esistono diversi scenari possibili quando Power BI esegue query su un modello composito.

  • Query importano solo tabelle o due tabelle: Power BI recupera tutti i dati dalla cache dei modelli. Offre le prestazioni più veloci possibili. Questo scenario è comune per le tabelle di tipo dimensione sottoposte a query da filtri o oggetti visivi del filtro dei dati.
  • Esegue query su due tabelle o tabelle DirectQuery dalla stessa origine: Power BI recupera tutti i dati inviando una o più query native all'origine DirectQuery. Offre buone prestazioni, soprattutto quando esistono indici appropriati nelle tabelle di origine. Questo scenario è comune per le query correlate a tabelle con tipo doppia dimensione e tabelle di tipo fatto DirectQuery. Queste query sono all'interno del gruppo di origine e quindi tutte le relazioni uno-a-uno o uno-a-molti vengono valutate come relazioni regolari.
  • Esegue query su due tabelle o tabelle ibride dalla stessa origine: questo scenario è una combinazione dei due scenari precedenti. Power BI recupera i dati dalla cache del modello quando è disponibile nelle partizioni di importazione; in caso contrario, invia una o più query native all'origine DirectQuery. Offre le prestazioni più veloci possibili perché viene eseguita una query solo su una sezione dei dati nel data warehouse, soprattutto quando sono presenti indici appropriati nelle tabelle di origine. Per quanto riguarda le tabelle con tipo di dimensione doppia e le tabelle di tipo fatto DirectQuery, queste query sono all'interno del gruppo di origine e quindi tutte le relazioni uno-a-uno o uno-a-molti vengono valutate come relazioni regolari.
  • Tutte le altre query: queste query comportano relazioni tra gruppi di origine. È perché una tabella di importazione è correlata a una tabella DirectQuery o una doppia tabella è correlata a una tabella DirectQuery da un'origine diversa, nel qual caso si comporta come tabella di importazione. Tutte le relazioni vengono valutate come relazioni limitate. Significa anche che i raggruppamenti applicati alle tabelle non DirectQuery devono essere inviati all'origine DirectQuery come sottoquery materializzata (tabelle virtuali). In questo caso, la query nativa può risultare inefficiente, soprattutto per set di raggruppamenti di grandi dimensioni.

In sintesi, è consigliabile:

  • Considerare attentamente che un modello composito è la soluzione giusta, mentre consente l'integrazione a livello di modello di origini dati diverse, presenta anche complessità di progettazione con possibili conseguenze (descritte più avanti in questo articolo).
  • Impostare la modalità di archiviazione su DirectQuery quando una tabella è una tabella di tipo fatto che archivia volumi di dati di grandi dimensioni o quando deve fornire risultati quasi in tempo reale.
  • È consigliabile usare la modalità ibrida definendo criteri di aggiornamento incrementale e dati in tempo reale oppure partizionando la tabella dei fatti usando TOM, TMSL o uno strumento di terze parti. Per altre informazioni, vedere Aggiornamento incrementale e dati in tempo reale per i modelli semantici e lo scenario di utilizzo avanzato della gestione dei modelli di dati.
  • Impostare la modalità di archiviazione su Dual quando una tabella è una tabella di tipo dimensione e verrà eseguita una query insieme a DirectQuery o a tabelle di tipo fatto ibrido che si trovano nello stesso gruppo di origine.
  • Impostare le frequenze di aggiornamento appropriate per mantenere la cache dei modelli per le tabelle duali e ibride (e le tabelle calcolate dipendenti) sincronizzate con i database di origine.
  • Cercare di garantire l'integrità dei dati tra gruppi di origine (inclusa la cache del modello), perché le relazioni limitate elimineranno le righe nei risultati della query quando i valori delle colonne correlate non corrispondono.
  • Quando possibile, ottimizzare le origini dati DirectQuery con indici appropriati per join, filtri e raggruppamenti efficienti.

Aggregazioni definite dall'utente

È possibile aggiungere aggregazioni definite dall'utente alle tabelle DirectQuery. Il loro scopo è migliorare le prestazioni per le query con granularità più elevata.

Quando le aggregazioni vengono memorizzate nella cache nel modello, si comportano come tabelle di importazione (anche se non possono essere usate come una tabella del modello). L'aggiunta di aggregazioni di importazione a un modello DirectQuery comporterà un modello composito.

Nota

Le tabelle ibride non supportano le aggregazioni perché alcune delle partizioni operano in modalità di importazione. Non è possibile aggiungere aggregazioni a livello di una singola partizione DirectQuery.

È consigliabile che un'aggregazione segua una regola di base: il conteggio delle righe deve essere almeno un fattore inferiore a 10 rispetto alla tabella sottostante. Ad esempio, se la tabella sottostante archivia 1 miliardo di righe, la tabella di aggregazione non deve superare 100 milioni di righe. Questa regola garantisce un miglioramento delle prestazioni adeguato rispetto al costo della creazione e della gestione dell'aggregazione.

Relazioni tra gruppi di origine

Quando una relazione di modello si estende su gruppi di origine, è nota come relazione tra gruppi di origine. Anche le relazioni tra gruppi di origine sono relazioni limitate perché non esiste un lato "uno" garantito. Per altre informazioni, vedere Valutazione delle relazioni.

Nota

In alcune situazioni, è possibile evitare di creare una relazione tra gruppi di origine. Vedere l'argomento Usare i filtri dei dati di sincronizzazione più avanti in questo articolo.

Quando si definiscono le relazioni tra gruppi di origine, prendere in considerazione le raccomandazioni seguenti.

  • Usare colonne di relazione di cardinalità bassa: per ottenere prestazioni ottimali, è consigliabile che le colonne della relazione siano di cardinalità bassa, ovvero devono archiviare meno di 50.000 valori univoci. Questo consiglio è particolarmente vero quando si combinano modelli tabulari e per colonne non di testo.
  • Evitare di usare colonne di relazione di testo di grandi dimensioni: se è necessario utilizzare colonne di testo in una relazione, calcolare la lunghezza del testo prevista per il filtro moltiplicando la cardinalità per la lunghezza media della colonna di testo. La lunghezza del testo possibile non deve superare 1.000.000 caratteri.
  • Aumentare la granularità della relazione: se possibile, creare relazioni a un livello di granularità superiore. Ad esempio, invece di correlare una tabella data nella chiave data, usare invece la chiave del mese. Questo approccio di progettazione richiede che la tabella correlata includa una colonna chiave del mese e che i report non siano in grado di visualizzare i fatti giornalieri.
  • Cercare di ottenere una progettazione semplice delle relazioni: creare una relazione tra gruppi di origine solo quando è necessaria e provare a limitare il numero di tabelle nel percorso della relazione. Questo approccio di progettazione consente di migliorare le prestazioni ed evitare percorsi di relazione ambigui.

Avviso

Poiché Power BI Desktop non convalida accuratamente le relazioni tra gruppi di origine, è possibile creare relazioni ambigue.

Scenario di relazione tra gruppi di origine 1

Si consideri uno scenario di progettazione di relazioni complesse e come potrebbe produrre risultati diversi, ma validi.

In questo scenario, la tabella Region nel gruppo di origine A ha una relazione con la tabella Date e la tabella Sales nel gruppo di origine B. La relazione tra la tabella Region e la tabella Date è attiva, mentre la relazione tra la tabella Region e la tabella Sales è inattiva. Esiste anche una relazione attiva tra la tabella Region e la tabella Sales, entrambe incluse nel gruppo di origine B. La tabella Sales include una misura denominata TotalSales e la tabella Region include due misure denominate RegionalSales e RegionalSalesDirect.

Diagram shows the scenario 1 model design as described in the previous paragraph.

Ecco le definizioni delle misure.

TotalSales = SUM(Sales[Sales])
RegionalSales = CALCULATE([TotalSales], USERELATIONSHIP(Region[RegionID], Sales[RegionID]))
RegionalSalesDirect = CALCULATE(SUM(Sales[Sales]), USERELATIONSHIP(Region[RegionID], Sales[RegionID]))

Si noti che la misura RegionalSales fa riferimento alla misura TotalSales , mentre la misura RegionalSalesDirect non lo fa. La misura RegionalSalesDirect usa invece l'espressione SUM(Sales[Sales]), ovvero l'espressione della misura TotalSales.

La differenza nel risultato è sottile. Quando Power BI valuta la misura RegionalSales, applica il filtro dalla tabella Region sia alla tabella Sales che alla tabella Date. Pertanto, il filtro viene propagato anche dalla tabella Date alla tabella Sales . Al contrario, quando Power BI valuta la misura RegionalSalesDirect , propaga solo il filtro dalla tabella Region alla tabella Sales . I risultati restituiti dalla misura RegionalSales e la misura RegionalSalesDirect potrebbero differire, anche se le espressioni sono semanticamente equivalenti.

Importante

Ogni volta che si usa la CALCULATE funzione con un'espressione che è una misura in un gruppo di origine remoto, testare accuratamente i risultati del calcolo.

Scenario di relazione tra gruppi di origine 2

Si consideri uno scenario in cui una relazione tra gruppi di origine ha colonne di relazione di cardinalità elevata.

In questo scenario, la tabella Date è correlata alla tabella Sales nelle colonne DateKey . Il tipo di dati delle colonne DateKey è integer, archiviando numeri interi che utilizzano il formato aaaammgg. Le tabelle appartengono a gruppi di origine diversi. Inoltre, si tratta di una relazione di cardinalità elevata perché la prima data nella tabella Date è il 1° gennaio 1900 e la data più recente è il 31 dicembre 2100, quindi nella tabella è presente un totale di 73.414 righe (una riga per ogni data nell'intervallo di tempo 1900-2100).

Diagram shows the scenario 2 model design as described in the previous paragraph.

Ci sono due casi di preoccupazione.

In primo luogo, quando si usano le colonne della tabella Date come filtri, la propagazione dei filtri filtra la colonna DateKey della tabella Sales per valutare le misure. Quando si filtra in base a un singolo anno, ad esempio 2022, la query DAX includerà un'espressione di filtro come Sales[DateKey] IN { 20220101, 20220102, …20221231 }. Le dimensioni del testo della query possono diventare estremamente grandi quando il numero di valori nell'espressione di filtro è elevato o quando i valori del filtro sono stringhe lunghe. È costoso che Power BI generi la query lunga e che l'origine dati esegua la query.

In secondo luogo, quando si usano colonne di tabella Date , ad esempio Year, Quarter o Month, come colonne di raggruppamento, vengono restituiti filtri che includono tutte le combinazioni univoche di anno, trimestre o mese e dei valori della colonna DateKey . Le dimensioni della stringa della query, che contiene filtri per le colonne di raggruppamento e la colonna della relazione, possono diventare estremamente grandi. Ciò vale soprattutto quando il numero di colonne di raggruppamento e/o la cardinalità della colonna join (la colonna DateKey ) è grande.

Per risolvere eventuali problemi di prestazioni, è possibile:

  • Aggiungere la tabella Date all'origine dati, generando un singolo modello di gruppo di origine (ovvero non è più un modello composito).
  • Aumentare la granularità della relazione. Ad esempio, è possibile aggiungere una colonna MonthKey a entrambe le tabelle e creare la relazione su tali colonne. Tuttavia, aumentando la granularità della relazione, si perde la possibilità di creare report sull'attività di vendita giornaliera ,a meno che non si usi la colonna DateKey dalla tabella Sales .

Scenario di relazione tra gruppi di origine 3

Si consideri uno scenario in cui non sono presenti valori corrispondenti tra tabelle in una relazione tra gruppi di origine.

In questo scenario, la tabella Date nel gruppo di origine B ha una relazione con la tabella Sales in tale gruppo di origine e anche con la tabella Target nel gruppo di origine A. Tutte le relazioni sono uno-a-molti della tabella Date relativa alle colonne Year . La tabella Sales include una colonna SalesAmount che archivia gli importi delle vendite, mentre la tabella Target include una colonna TargetAmount che archivia gli importi di destinazione.

Diagram shows the scenario 3 model design as described in the previous paragraph.

La tabella Date archivia gli anni 2021 e 2022. La tabella Sales archivia gli importi delle vendite per gli anni 2021 (100) e 2022 (200), mentre la tabella Target archivia gli importi di destinazione per il 2021 (100), 2022 (200) e 2023 (300) - un anno futuro.

Diagram shows the scenario 3 table data as described in the previous paragraph.

Quando un oggetto visivo tabella di Power BI esegue una query sul modello composito raggruppando la colonna Year dalla tabella Date e sommando le colonne SalesAmount e TargetAmount , non mostrerà un importo di destinazione per il 2023. Ciò è dovuto al fatto che la relazione tra gruppi di origine è una relazione limitata e quindi usa INNER JOIN la semantica, eliminando le righe in cui non esiste alcun valore corrispondente su entrambi i lati. Produrrà tuttavia un totale di destinazione corretto (600), perché un filtro di tabella Date non si applica alla valutazione.

Diagram shows a table visual that doesn't show the 2023 target amount. Also, the target amount total of 600 doesn't equal the two shown values for 2021 and 2022 (100 and 200).

Se la relazione tra la tabella Date e la tabella Target è una relazione tra gruppi di origine (presupponendo che la tabella Target appartenga al gruppo di origine B), l'oggetto visivo includerà un anno (Vuoto) per visualizzare l'importo di destinazione 2023 (e qualsiasi altro anno non corrispondente).

Importante

Per evitare errori di report, assicurarsi che siano presenti valori corrispondenti nelle colonne delle relazioni quando le tabelle delle dimensioni e dei fatti si trovano in gruppi di origine diversi.

Per altre informazioni sulle relazioni limitate, vedere Valutazione delle relazioni.

Calcoli

È consigliabile considerare limitazioni specifiche quando si aggiungono colonne calcolate e gruppi di calcolo a un modello composito.

Colonne calcolate

Le colonne calcolate aggiunte a una tabella DirectQuery che generano i dati da un database relazionale, ad esempio Microsoft SQL Server, sono limitate alle espressioni che operano su una singola riga alla volta. Queste espressioni non possono usare funzioni iteratore DAX, ad esempio SUMX, o funzioni di modifica del contesto di filtro, ad esempio CALCULATE.

Nota

Non è possibile aggiungere colonne calcolate o tabelle calcolate che dipendono da modelli tabulari concatenati.

Un'espressione di colonna calcolata in una tabella DirectQuery remota è limitata solo alla valutazione all'interno di righe. Tuttavia, è possibile creare un'espressione di questo tipo, ma genererà un errore quando viene usato in un oggetto visivo. Ad esempio, se si aggiunge una colonna calcolata a una tabella DirectQuery remota denominata DimProduct usando l'espressione [Product Sales] / SUM (DimProduct[ProductSales]), sarà possibile salvare correttamente l'espressione nel modello. Tuttavia, genererà un errore quando viene usato in un oggetto visivo perché viola la restrizione di valutazione all'interno della riga.

Al contrario, le colonne calcolate aggiunte a una tabella DirectQuery remota che è un modello tabulare, ovvero un modello semantico di Power BI o un modello di Analysis Services, sono più flessibili. In questo caso, tutte le funzioni DAX sono consentite perché l'espressione verrà valutata all'interno del modello tabulare di origine.

Molte espressioni richiedono power BI per materializzare la colonna calcolata prima di usarla come gruppo o filtro o aggregarla. Quando una colonna calcolata viene materializzata su una tabella di grandi dimensioni, può essere costosa in termini di CPU e memoria, a seconda della cardinalità delle colonne da cui dipende la colonna calcolata. In questo caso, è consigliabile aggiungere tali colonne calcolate al modello di origine.

Nota

Quando si aggiungono colonne calcolate a un modello composito, assicurarsi di testare tutti i calcoli del modello. I calcoli upstream potrebbero non funzionare correttamente perché non hanno considerato la loro influenza sul contesto di filtro.

Gruppi di calcolo

Se esistono gruppi di calcolo in un gruppo di origine che si connette a un modello semantico di Power BI o a un modello di Analysis Services, Power BI potrebbe restituire risultati imprevisti. Per altre informazioni, vedere Gruppi di calcolo, query e valutazione delle misure.

Progettazione del modello

È consigliabile ottimizzare sempre un modello di Power BI adottando una progettazione dello schema star.

Suggerimento

Per altre informazioni, vedere Informazioni sullo schema star e sull'importanza di Power BI.

Assicurarsi di creare tabelle delle dimensioni separate dalle tabelle dei fatti in modo che Power BI possa interpretare correttamente i join e produrre piani di query efficienti. Anche se queste linee guida sono vere per qualsiasi modello di Power BI, è particolarmente vero per i modelli riconosciuti diventerà un gruppo di origine di un modello composito. Consente un'integrazione più semplice e più efficiente di altre tabelle nei modelli downstream.

Quando possibile, evitare di disporre di tabelle delle dimensioni in un gruppo di origine correlato a una tabella dei fatti in un gruppo di origine diverso. Ciò è dovuto al fatto che è preferibile avere relazioni tra gruppi all'interno del gruppo di origine rispetto alle relazioni tra gruppi di origine, soprattutto per le colonne di relazione di cardinalità elevata. Come descritto in precedenza, le relazioni tra gruppi di origine si basano sulla presenza di valori corrispondenti nelle colonne delle relazioni, altrimenti potrebbero essere visualizzati risultati imprevisti negli oggetti visivi del report.

Sicurezza a livello di riga

Se il modello include aggregazioni definite dall'utente, colonne calcolate nelle tabelle di importazione o tabelle calcolate, assicurarsi che qualsiasi sicurezza a livello di riga sia configurata correttamente e testata.

Se il modello composito si connette ad altri modelli tabulari, le regole della sicurezza a livello di riga vengono applicate solo al gruppo di origine (modello locale) in cui sono definite. Non verranno applicati ad altri gruppi di origine (modelli remoti). Inoltre, non è possibile definire regole di sicurezza a livello di riga in una tabella da un altro gruppo di origine né definire regole di sicurezza a livello di riga in una tabella locale con una relazione con un altro gruppo di origine.

Progettazione del report

In alcune situazioni, è possibile migliorare le prestazioni di un modello composito progettando un layout di report ottimizzato.

Oggetti visivi del gruppo di origine singolo

Quando possibile, creare oggetti visivi che usano campi da un singolo gruppo di origine. Ciò è dovuto al fatto che le query generate dagli oggetti visivi offrono prestazioni migliori quando il risultato viene recuperato da un singolo gruppo di origine. Valutare la possibilità di creare due oggetti visivi posizionati affiancati per recuperare i dati da due gruppi di origine diversi.

Usare i filtri dei dati di sincronizzazione

In alcune situazioni, è possibile configurare i filtri dei dati di sincronizzazione per evitare di creare una relazione tra gruppi di origine nel modello. Consente di combinare visivamente i gruppi di origine che possono offrire prestazioni migliori.

Si consideri uno scenario in cui il modello ha due gruppi di origine. Ogni gruppo di origine ha una tabella delle dimensioni del prodotto usata per filtrare le vendite di rivenditori e Internet.

In questo scenario, il gruppo di origine A contiene la tabella Product correlata alla tabella ResellerSales . Il gruppo di origine B contiene la tabella Product2 correlata alla tabella InternetSales . Non sono presenti relazioni tra gruppi di origine.

Diagram shows the model design as described in the previous paragraph.

Nel report si aggiunge un filtro dei dati che filtra la pagina usando la colonna Color della tabella Product . Per impostazione predefinita, il filtro dei dati filtra la tabella ResellerSales , ma non la tabella InternetSales . Si aggiunge quindi un filtro dei dati nascosto usando la colonna Color della tabella Product2 . Impostando un nome di gruppo identico (disponibile nelle opzioni avanzate dei filtri dei dati di sincronizzazione), i filtri applicati al filtro dei dati visibile vengono propagati automaticamente al filtro dei dati nascosto.

Nota

Anche se l'uso di filtri dei dati di sincronizzazione può evitare la necessità di creare una relazione tra gruppi di origine, aumenta la complessità della progettazione del modello. Assicurarsi di informare altri utenti sul motivo per cui è stato progettato il modello con tabelle di dimensioni duplicate. Evitare confusione nascondendo le tabelle delle dimensioni che non si desidera che altri utenti usino. È anche possibile aggiungere testo di descrizione alle tabelle nascoste per documentare lo scopo.

Per altre informazioni, vedere Sincronizzare filtri dei dati separati.

Altre indicazioni

Ecco alcune altre linee guida che consentono di progettare e gestire modelli compositi.

  • Prestazioni e scalabilità: se i report sono stati precedentemente connessi in tempo reale a un modello semantico di Power BI o a un modello di Analysis Services, il servizio Power BI potrebbe riutilizzare le cache visive tra i report. Dopo aver convertito la connessione dinamica per creare un modello DirectQuery locale, i report non trarranno più vantaggio da tali cache. Di conseguenza, è possibile che si verifichino errori di aggiornamento o prestazioni più lente. Inoltre, il carico di lavoro per il servizio Power BI aumenterà, che potrebbe richiedere l'aumento della capacità o la distribuzione del carico di lavoro tra altre capacità. Per altre informazioni sull'aggiornamento e la memorizzazione nella cache dei dati, vedere Aggiornamento dei dati in Power BI.
  • Ridenominazione: non è consigliabile rinominare i modelli semantici usati dai modelli compositi o rinominare le aree di lavoro. Ciò è dovuto al fatto che i modelli compositi si connettono ai modelli semantici di Power BI usando i nomi dell'area di lavoro e dei modelli semantici (e non i relativi identificatori univoci interni). La ridenominazione di un modello semantico o di un'area di lavoro potrebbe interrompere le connessioni usate dal modello composito.
  • Governance: non è consigliabile che la singola versione del modello di verità sia un modello composito. Ciò è dovuto al fatto che dipende da altre origini dati o modelli, che, se aggiornati, potrebbero causare un'interruzione del modello composito. È invece consigliabile pubblicare un modello semantico aziendale come singola versione di verità. Prendere in considerazione questo modello come base affidabile. Altri modelli di dati possono quindi creare modelli compositi che estendono il modello di base per creare modelli specializzati.
  • Derivazione dei dati: usare le funzionalità di analisi dell'impatto sulla derivazione dei dati e sul modello semantico prima di pubblicare modifiche al modello composito. Queste funzionalità sono disponibili nella servizio Power BI e consentono di comprendere in che modo i modelli semantici sono correlati e usati. È importante comprendere che non è possibile eseguire l'analisi dell'impatto sui modelli semantici esterni visualizzati nella visualizzazione di derivazione, ma che si trovano in un'altra area di lavoro. Per eseguire l'analisi dell'impatto su un modello semantico esterno, è necessario passare all'area di lavoro di origine.
  • Aggiornamenti dello schema: è necessario aggiornare il modello composito in Power BI Desktop quando vengono apportate modifiche dello schema alle origini dati upstream. Sarà quindi necessario ripubblicare il modello nel servizio Power BI. Assicurarsi di testare accuratamente i calcoli e i report dipendenti.

Per altre informazioni relative a questo articolo, vedere le risorse seguenti.