Esercizio - Creazione di un set di dati per un report Power BI in Business Central
Questo esercizio usa la società demo Cronus, fornita nella versione statunitense di Business Central. Se si usa la società demo fornita per un altro paese o area geografica, potrebbe essere necessario apportare alcune modifiche ai passaggi che seguono.
Scenario
Si ha il compito di creare un report in cui l'utente potrà vedere l'inventario corrente per i singoli articoli. Il report deve inoltre calcolare la disponibilità di ogni articolo in base all'inventario corrente, il numero di articoli negli ordini fornitore e il numero di articoli negli ordini cliente.
Il primo passaggio nella creazione di un report di questo tipo consiste nel creare un set di dati appropriato. Creare un set di dati per un report Power BI in Business Central.
Passaggi
Nell'ambiente di sviluppo aggiungere un nuovo file e assegnargli il nome seguente: ItemAvailabilityAPI.query.al.
Aprire il file AL e usare il frammento tquery (API di query) per aggiungere un oggetto query.
Quindi, modificare la query in modo che recuperi i seguenti campi dalla tabella Articolo:
- Nr.
- Descrizione
- Codice categoria articolo
- Costo unitario
- Prezzo unitario
- Inventario
- Qtà nell'ordine cliente
- Qtà nell'ordine fornitore
Usare la proprietà DataAccessIntent dell'oggetto query e impostarla su ReadOnly.
Aggiungere un filtro alla voce Articolo per assicurarsi che non vengano eseguite query su articoli bloccati. A tale scopo, usare la proprietà DataItemTableFilter della voce come segue:
DataItemTableFilter = Blocked = const(false);La query dovrebbe essere simile all'esempio seguente:
query 50127 ItemAvailabilityAPI { Caption = 'ItemAvailability_PowerBI'; APIPublisher = 'contoso'; APIGroup = 'learnPowerBI'; APIVersion = 'v2.0'; EntityName = 'itemAvailability'; EntitySetName = 'itemAvailabilitys'; QueryType = API; DataAccessIntent = ReadOnly; elements { dataitem(Item; Item) { DataItemTableFilter = Blocked = const(false); column(itemNo; "No.") {} column(itemDescription; Description) {} column(category; "Item Category Code") {} column(unitCost; "Unit Cost") {} column(unitPrice; "Unit Price") {} column(inventory; Inventory) {} column(qtyOnSalesOrder; "Qty. on Sales Order") {} column(qtyOnPurchOrder; "Qty. on Purch. Order") {} } } trigger OnBeforeOpen(); begin end; }Ora la query è pronta. Se necessario, è possibile aggiungere ulteriori campi dalla tabella Item, se richiesti per il report Power BI.