Übung – Einen Datensatz für einen Power BI-Bericht in Business Central erstellen
In dieser Übung wird das Cronus-Beispielunternehmen der US-Version von Business Central angewendet. Möglicherweise müssen Sie die Schritte anpassen, wenn Sie das Beispielunternehmen für Ihr Land oder Ihre Region verwenden.
Szenario
Sie wurden aufgefordert, einen Bericht zu erstellen, in dem der Benutzer den aktuellen Bestand nach Artikeln anzeigen kann. Der Bericht muss auch die Verfügbarkeit jedes Artikels basierend auf dem aktuellen Bestand, der Anzahl der Artikel in Bestellungen und der Anzahl der Artikel in Kundenaufträgen berechnen.
Der erste Schritt beim Erstellen eines solchen Berichts besteht darin, einen geeigneten Datensatz zu erstellen. Erstellen Sie einen Datensatz für einen Power BI-Bericht in Business Central.
Schritte
Fügen Sie in der Entwicklungsumgebung eine neue Datei hinzu, und geben Sie ihr den folgenden Namen: ItemAvailabilityAPI.query.al.
Öffnen Sie die .al-Datei, und verwenden Sie den Ausschnitt tquery (API Query) zum Hinzufügen eines Abfrageobjekts.
Ändern Sie als Nächstes die Abfrage so, dass die folgenden Felder aus der Elementtabelle abgerufen werden:
- Nr.
- Beschreibung
- Objektkategoriencode
- Einstandspreis
- VK-Preis
- Bestand
- Menge in Auftrag
- Menge in Bestellung
Verwenden Sie die Eigenschaft DataAccessIntent des Abfrageobjekts, und stellen Sie es auf ReadOnly.
Fügen Sie dem Elementdatenelement einen Filter hinzu, um sicherzustellen, dass keine blockierten Elemente abgefragt werden. Verwenden Sie dazu die Eigenschaft DataItemTableFilter des Datenelements wie folgt:
DataItemTableFilter = Blocked = const(false);Ihre Abfrage sollte nun dem folgenden Beispiel ähneln:
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; }Ihre Abfrage ist jetzt fertig. Bei Bedarf können Sie auch andere Felder aus der Artikeltabelle hinzufügen, falls Sie diese für den Power BI-Bericht benötigen.