Ejercicio: Crear un conjunto de datos para un informe de Power BI en Business Central
Se ha escrito este ejercicio para usar la empresa de muestra Cronus de la versión estadounidense de Business Central. Es posible que deba realizar ajustes en los pasos si usa la empresa de muestra de su país o región.
Escenario
Se le ha pedido que cree un informe en el que el usuario pueda ver el inventario actual por artículo. El informe también debe calcular la disponibilidad de cada artículo según el inventario actual, la cantidad de artículos en los pedidos de compra y la cantidad de artículos en los pedidos de venta.
El primer paso para formular dicho informe es crear un conjunto de datos apropiado. Cree un conjunto de datos para un informe de Power BI en Business Central.
Pasos
En el entorno de desarrollo, agregue un nuevo archivo y asígnele el nombre ItemAvailabilityAPI.query.al.
Abra el archivo .al y use el fragmento tquery (consulta API) para agregar un objeto de consulta.
A continuación, cambie la consulta para que capture los siguientes campos de la tabla Producto:
- N.º
- Descripción
- Código de categoría de producto
- Coste unitario
- Precio de venta
- Inventario
- Cant. en pedidos de venta
- Cant. en pedidos compra
Utilice la propiedad DataAccessIntent del objeto de consulta y establézcala en Solo lectura.
Agregue un filtro al elemento de datos del artículo para garantizar que la consulta no se dirija a ningún artículo bloqueado. Para hacerlo, use la propiedad DataItemTableFilter del elemento de datos de la siguiente manera:
DataItemTableFilter = Blocked = const(false);Ahora su consulta debería ser similar al siguiente ejemplo:
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; }Su consulta ya está lista. Si es necesario, también puede agregar otros campos de la tabla Producto, si los necesita para el informe de Power BI.