Loading
CRM Analytics
Abrufen von Prognosen in Apex

Abrufen von Prognosen in Apex

Verwenden Sie die ConnectApi.SmartDataDiscovery.predict-API, um Prognosen in Ihrem Apex Code abzurufen.

Sie können Prognosen in Apex mit der ConnectApi.SmartDataDiscovery.predict-Methode programmgesteuert ausführen. Es gibt zwei Eingabetypen:

  • Datensatz-IDs
  • Datensatz-IDs und berechnete Felder, die nicht im Datensatz gespeichert werden

Diese Funktion akzeptiert die Eingabe von bis zu 200 Datensatz-IDs oder Rohdatenzeilen zusammen mit einer Prognosedefinitions-ID. Sie gibt bis zu 200 Prognosen vom Typ ConnectApi.SmartDataDiscoveryPrediction zurück.

Hinweis
Hinweis Stellen Sie vor dem Verwenden der Apex-Prognose-API das Modell bereit, das Sie für Prognosen verwenden möchten. Anweisungen finden Sie unter Bereitstellen von Modellen.

Weitere Informationen zum Apex-Code finden Sie im Apex Developer Guide..

Zum Anzeigen von Prognosen und Verbesserungen erforderliche Berechtigungen

Damit Benutzer Prognosen, Verbesserungen und die zugehörigen Details anzeigen können, muss ihnen in ihrem Salesforce-Account die Berechtigung "Empfehlungen von Einstein Discovery anzeigen" zugewiesen sein. Weitere Informationen finden Sie unter Zuweisen von Einstein Discovery-Berechtigungssätzen zu Benutzern.

API-Nutzungsobergrenzen

  • ConnectApi.SmartDataDiscovery.predict kann bis zu 2.000 Mal pro Benutzer und Stunde aufgerufen werden.
  • Jede ConnectApi.SmartDataDiscovery.predict-Methode kann bei einem einzelnen Aufruf bis zu 200 Datensätze verarbeiten.
  • ConnectApi.SmartDataDiscovery.predict kann maximal 50.000 Mal pro Tag (24 Stunden) und Organisation aufgerufen werden.

Batch-Apex und Callouts für Modelle mit zusätzlichen Datensets

Wenn Sie bei Batch-Apex ein Modell verwenden, das einem zusätzlichen Datenset zugeordnet ist (siehe Modellvariablen zuordnen), sollten Sie die Anforderungen für Callouts befolgen, die in der Apex-Dokumentation im Thema zu Obergrenzen und Einschränkungen bei Callouts beschrieben sind.

Abrufen von Prognosen mit der Datensatz-ID als Eingabe

Syntax

public ConnectApi.SmartDataDiscoveryPrediction ConnectApi.SmartDataDiscovery.predict(ConnectApi.SmartDataDiscoveryPredictInputRecords input)

SmartDataDiscoveryPredictInputRecords-Klasse

Name Typ Beschreibung
predictionDefinition Zeichenfolge 18-stellige Prognosedefinitions-ID.
records List<Id> Die Liste der zu bewertenden Datensätze. Diese Datensatz-IDs müssen aus demselben Objekttyp stammen, der der bereitgestellten Prognosedefinition zugeordnet ist.
settings ConnectApi.SmartDataDiscoveryDiscoveryPredictSettings Legen Sie die Anzahl der wichtigsten Prädiktoren, die Anzahl der Verbesserungen und den Schwellenwert der Verbesserung fest, der in der Antwort zurückgegeben werden soll.

Abrufen von Prognosen mit der Datensatz-ID und berechneten Feldern als Eingabe

Syntax

public ConnectApi.SmartDataDiscoveryPrediction ConnectApi.SmartDataDiscovery.predict(SmartDataDiscoveryPredictInputRecordOverrides input)

SmartDataDiscoveryPredictInputRecordOverrides-Klasse

Name Typ Beschreibung
predictionDefinition Zeichenfolge 18-stellige Prognosedefinitions-ID.
rows List<ConnectApi.SmartDataDiscoveryPredictInputRowObject> Geordnete Liste der Zeilendetails, einschließlich der Datensatz-ID und der Werte für Spalten, die der Prognosedefinition nicht aus Salesforce zugeordnet sind.
columnNames List<String> Geordnete Liste der nicht zugeordneten Spaltennamen.
settings ConnectApi.SmartDataDiscoveryDiscoveryPredictSettings Legen Sie die Anzahl der wichtigsten Prädiktoren, die Anzahl der Verbesserungen und den Schwellenwert der Verbesserung fest, der in der Antwort zurückgegeben werden soll.

ConnectApi.SmartDataDiscoveryPredictInputRowObject-Klasse

Name Typ Beschreibung
record Zeichenfolge 18-stellige ID für den Salesforce-Datensatz, für den die Bewertung abgerufen wird. Die Datensatz-ID muss mit dem Objekttyp übereinstimmen, der der bereitgestellten Prognosedefinition zugeordnet ist.
row List<String> Geordnete Liste der Werte, die die oben angegebene geordnete Liste von columnNames begleiten.

ConnectApi.SmartDataDiscoveryDiscoveryPredictSettings-Klasse

Name Typ Beschreibung
maxMiddleValues Ganzzahl Maximale Anzahl der wichtigsten Prädiktoren (0–3), die in der Antwort zurückgegeben werden sollen. Die Begriffe "Wichtigste Faktoren" und "Wichtigste Prädiktoren" sind identisch. Standard: 0 (es werden keine wichtigsten Prädiktoren zurückgegeben).
maxPrescriptions Ganzzahl Maximale Anzahl an Verbesserungen (0–200), die in der Antwort zurückgegeben werden sollen. Die Begriffe "Verbesserung" und "Verordnung" sind identisch. Standard: –1 (unbegrenzt).
prescriptionImpactPercentage Ganzzahl Der Schwellenwert für die Auswirkung der Verbesserung, angegeben in Prozent (0–100). Wenn beispielsweise "20" festgelegt ist, werden nur Verbesserungen zurückgegeben, die eine Auswirkung von mehr als 20 % auf das prognostizierte Ergebnis haben. Standard: 0.

Ausgabeklassen

ConnectApi.SmartDataDiscoveryPrediction-Klasse

Name Typ Beschreibung
predictions List<ConnectApi.SmartDataDiscoveryPredictObject oder List<ConnectApi.SmartDataDiscoveryPredictErrorObject Liste der Prognosen oder Ausnahmen, die von der predict-Methode zurückgegeben werden.

ConnectApi.SmartDataDiscoveryPredictObject-Klasse

Name Typ Beschreibung
prediction ConnectApi.SmartDataDiscoveryPredict Objekt, das alle Prognosedaten enthält.
prescriptions List<ConnectApi.SmartDataDiscoveryPredictCondition>() Liste der Verbesserungen, die Vorschläge zum Verbessern der Prognose enthält. Dieses Feld ist leer, wenn beim Bereitstellen der Prognose keine Aktionsvariablen ausgewählt wurden.

ConnectApi.SmartDataDiscoveryPredict-Klasse

Name Typ Beschreibung
total double Endgültiger Prognosewert.
other double Unerklärter Teil des endgültigen Prognosewerts.
baseLine double Ausgangsbasis (Baseline) für die Prognose. Grundsätzlich der Durchschnitt, wenn kein Modell vorhanden ist.
middleValues List<ConnectApi.SmartDataDiscoveryPredictCondition>() Die Liste der wichtigsten Prädiktoren, die zur Prognose beitragen.
importWarnings List<Connectapi.SmartDataDiscoveryPredictImportWarnings>() Die Liste der der Prognose zugeordneten Warnhinweise. Wenn keine Warnhinweise vorhanden sind, wird null zurückgegeben.

ConnectApi.SmartDataDiscoveryPredictCondition-Klasse

Name Typ Beschreibung
value double Der Wert, den diese Feld-Wert-Kombination zur endgültigen Prognose beiträgt.
columns List<ConnectApi.SmartDataDiscoveryPredictColumn> Spalteninformationen.

ConnectApi.SmartDataDiscoveryPredictColumn-Klasse

Name Typ Beschreibung
columnName Zeichenfolge Der Name der Spalte. Beispiel: Account Name
columnValue Zeichenfolge De Wert der Spalte. Beispiel: Acme

Connectapi.SmartDataDiscoveryPredictImportWarnings-Klasse

Name Typ Beschreibung
outOfBoundsColumns List<ConnectAPI.SmartDataDiscoveryPredictOutOfBoundsFields> Spalten und Werte, die außerhalb des zulässigen Bereichs liegen. Diese Werte wurden beim Trainieren des Modells nicht verwendet.
missingColumns List<String> Die Liste der Spaltennamen, die für eine Prognose erforderlich sind, jedoch fehlen. Möglicherweise sind sie null?

Connectapi.SmartDataDiscoveryPredictOutOfBoundsFields-Klasse

Name Typ Beschreibung
columnName Zeichenfolge Der Name der Spalte, die außerhalb des zulässigen Bereichs liegt.
columnValue Zeichenfolge Wert der Spalte, der außerhalb des zulässigen Bereichs liegt, d. h., das Modell wurde nicht für diesen speziellen Wert trainiert. Das Modell wurde beispielsweise für "Typ = "Manufacturing" trainiert, hat jedoch einen Wert "Manufracturing" erhalten.

Ausnahmen

Wenn Zeilen vorhanden sind, deretwegen bei der Prognosemethode ein Fehler aufgetreten ist, gibt dieser Aufruf eine Ausnahme anstelle einer Prognose zurück.

ConnectApi.SmartDataDiscoveryPredictErrorObject-Klasse

Name Typ Beschreibung
message Zeichenfolge Fehlermeldung.

Codebeispiel

Dieses Codebeispiel wurde zum Erstellen von Testfällen entwickelt.

// Initialize the Prediction API Input Record
ConnectApi.SmartDataDiscoveryPredictInputRecords predictInput = new ConnectApi.SmartDataDiscoveryPredictInputRecords();

// Set Prediction Definition
predictInput.predictionDefinition = '1ORB0000000TN1SOAW';

// Set Records
predictInput.records = new List<Id>{'006B0000004ApAZIA0'};

// Set Settings for Prediction
ConnectApi.SmartDataDiscoveryDiscoveryPredictSettings settings = new ConnectApi.SmartDataDiscoveryDiscoveryPredictSettings();
settings.maxMiddleValues = 3;//[0-3] limit of 3
settings.maxPrescriptions = 3;
settings.prescriptionImpactPercentage = 20;
predictInput.settings = settings;
////////////////////////////////////////////////////////////////

// Generate Predictions
ConnectApi.SmartDataDiscoveryPrediction response = ConnectApi.SmartDataDiscovery.predict(predictInput);
// Get Prediction
ConnectApi.SmartDataDiscoveryPredictObject prediction = (ConnectApi.SmartDataDiscoveryPredictObject) response.predictions[0];
// Get Prescriptions (Improvements)
List<ConnectApi.SmartDataDiscoveryPredictCondition> prescriptions = prediction.prescriptions;

// Iterate over the first prescription
ConnectApi.SmartDataDiscoveryPredictCondition first_prescription = prescriptions[0];
Double value = first_prescription.value;
List<ConnectApi.SmartDataDiscoveryPredictColumn> columns = first_prescription.columns;

// Prescriptions usually have one-column information:
ConnectApi.SmartDataDiscoveryPredictColumn column_1 = columns[0];

String columnName = column_1.columnName;
String columnValue = column_1.columnValue;
String columnInputVal = column_1.inputValue;
////////////////////////////////////////////////////////////////

// Get Top Factors (Top Predictors)
List<ConnectApi.SmartDataDiscoveryPredictCondition> topFactors = prediction.prediction.middleValues;
// Iterate over the first TopFactor
ConnectApi.SmartDataDiscoveryPredictCondition first_topFactor = topFactors[0];

Double tf_value = first_topFactor.value;
List<ConnectApi.SmartDataDiscoveryPredictColumn> tf_columns = first_topFactor.columns;
  
// Top Factors have multiple Columns, so it is recommended to iterate over the list
ConnectApi.SmartDataDiscoveryPredictColumn tf_column_1 = tf_columns[0];

String tf_columnName = tf_column_1.columnName;
String tf_columnValue = tf_column_1.columnValue;
String tf_columnInputVal = tf_column_1.inputValue;
////////////////////////////////////////////////////////////////

// Get Import Warnings
ConnectApi.SmartDataDiscoveryPredictImportWarnings importWarnings = prediction.prediction.importWarnings;

// System Debug
System.debug('Total ' + prediction.prediction.total);  
System.debug('Import Warnings ' +importWarnings);
 
Laden
Salesforce Help | Article