Analyse der Ausgaben für Lieferanten
Dieses Beispiel für ein Produkt mit Verbrauchsdaten zeigt, wie Sie mithilfe von Daten aus SAP ERP oder SAP BDC schneller Einblicke in die Ausgaben für Lieferanten erhalten.
Sie können damit:
- die Gesamtausgaben nach Materialart optimieren und die Länderkonzentration verfolgen.
- versteckte Kaufmuster erkennen, um den Beschaffungswert zu maximieren.
- KI verwenden, um neue Erkenntnisse zu gewinnen.
Referenzarchitektur
Eine allgemeine Referenzarchitektur bietet einen Überblick über die quellenspezifischen Datenprodukte, die für diesen Anwendungsfall erforderlich sind.
Erforderliche Datenprodukte
Wenn Sie auf Daten aus SAP ERP aufbauen, sind die folgenden Cortex Framework-Datenprodukte erforderlich:
- Anbieter
- Einkaufsbelege
- Einkaufsorganisationen
- Materialien
- Materialgruppen
- Materialarten
Wenn Sie auf Daten aus SAP BDC aufbauen, sind die folgenden BDC-Datenprodukte erforderlich:
- Produkt
- Auftrag
- Unternehmenscode
- Anbieter
Code-Snippets
Das folgende Code-Snippet zeigt, wie Sie ein BigQuery-Datenmodell für die Analyse der Ausgaben für Lieferanten auf der Grundlage von SAP ERP-Datenprodukten aus Cortex Framework oder nach der Integration von SAP BDC-Datenprodukten erstellen.
WITH purchasing_items AS (
SELECT
client_mandt,
purchasing_document_number_ebeln,
item_number_of_purchasing_document_ebelp,
material_number_matnr,
plant_werks,
po_quantity_menge,
net_order_value_in_po_currency_netwr,
gross_order_value_in_po_currency_brtwr,
delivery_completed_flag_elikz
FROM
<YOUR_PROJECT_ID>.<YOUR_CORTEX_DATA_PRODUCTS_DATASET>.purchasing_document_items
),
purchasing_headers AS (
SELECT
client_mandt,
purchasing_document_number_ebeln,
vendor_account_number_lifnr,
purchasing_organization_ekorg,
purchasing_document_date_bedat as order_date_bedat,
currency_key_waers
FROM
<YOUR_PROJECT_ID>.<YOUR_CORTEX_DATA_PRODUCTS_DATASET>.purchasing_document_headers
),
vendor_data AS (
SELECT
client_mandt,
account_number_of_vendor_or_creditor_lifnr as vendor_account_number_lifnr,
name1_name1 as vendor_name_name1,
country_key_land1,
central_deletion_flag_for_master_record_loevm
FROM
<YOUR_PROJECT_ID>.<YOUR_CORTEX_DATA_PRODUCTS_DATASET>.vendors_md
),
material_data AS (
SELECT
client_mandt,
material_number_matnr,
material_text_maktx,
material_type_mtart,
material_group_matkl
FROM
<YOUR_PROJECT_ID>.<YOUR_CORTEX_DATA_PRODUCTS_DATASET>.materials_md
),
purchasing_orgs AS (
SELECT
client_mandt,
purchasing_organization_ekorg,
purchasing_organization_text_ekotx
FROM
<YOUR_PROJECT_ID>.<YOUR_CORTEX_DATA_PRODUCTS_DATASET>.purchasing_organizations_md
)
SELECT
i.client_mandt,
i.purchasing_document_number_ebeln,
i.item_number_of_purchasing_document_ebelp,
h.vendor_account_number_lifnr,
v.vendor_name_name1,
v.country_key_land1,
i.material_number_matnr,
m.material_text_maktx,
m.material_type_mtart,
m.material_group_matkl,
h.purchasing_organization_ekorg,
o.purchasing_organization_text_ekotx,
-- Baseline financial & temporal fields
h.order_date_bedat,
i.po_quantity_menge,
i.net_order_value_in_po_currency_netwr,
i.gross_order_value_in_po_currency_brtwr,
i.net_order_value_in_po_currency_netwr as spend_usd,
-- Active vendor indicator (True if not deleted)
CASE
WHEN v.central_deletion_flag_for_master_record_loevm = 'X' THEN false
ELSE true
END as active_vendor_indicator,
-- Purchase Price Variance (PPV) - Net versus Gross baseline/target difference
(i.gross_order_value_in_po_currency_brtwr - i.net_order_value_in_po_currency_netwr) as purchase_price_variance_ppv,
-- Delivery and overdues tracking
i.delivery_completed_flag_elikz,
CASE
WHEN i.delivery_completed_flag_elikz != 'X' THEN i.net_order_value_in_po_currency_netwr
ELSE 0
END as open_po_net_amount,
CASE
WHEN i.delivery_completed_flag_elikz != 'X' AND h.order_date_bedat < DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) THEN true
ELSE false
END as is_overdue,
-- Efficiency & Performance metrics
SAFE_DIVIDE(i.net_order_value_in_po_currency_netwr, i.po_quantity_menge) as average_spend_per_unit,
(i.gross_order_value_in_po_currency_brtwr - i.net_order_value_in_po_currency_netwr) as gross_net_variance,
1 as line_item_count
FROM
purchasing_items i
LEFT JOIN
purchasing_headers h
ON i.client_mandt = h.client_mandt
AND i.purchasing_document_number_ebeln = h.purchasing_document_number_ebeln
LEFT JOIN
vendor_data v
ON h.client_mandt = v.client_mandt
AND h.vendor_account_number_lifnr = v.vendor_account_number_lifnr
LEFT JOIN
material_data m
ON i.client_mandt = m.client_mandt
AND i.material_number_matnr = m.material_number_matnr
LEFT JOIN
purchasing_orgs o
ON h.client_mandt = o.client_mandt
AND h.purchasing_organization_ekorg = o.purchasing_organization_ekorg
KI-Agents aktivieren
Nachdem Sie Ihr Datenmodell für die Analyse der Ausgaben für Lieferanten in BigQuery erstellt haben, können Sie einen benutzerdefinierten Daten-Agenten erstellen. So können Sie Ausgabenkennzahlen für Lieferanten direkt mit natürlicher Sprache abfragen, ohne dass komplexes SQL erforderlich ist.