Sie befinden sich hier:
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.
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.predictkann 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.predictkann 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);