DataRaptor Extractのまとめ

[OmniStudioに戻る](https://qiita.com/Keiji_otsubo/items/c1e3b177c56e87ff41f7)

+ [新しく作成されたレコードの名前を取得するための DataRaptor 抽出](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007OX6xl)
+ [Omniscript の式要素または Dataraptor の式](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Pya64)

:::note
REPLACE という関数はありません- https://help.salesforce.com/s/articleView ? language=en_US&id=sf.os_function_reference_56716.htm&type=5

DataRaptor 式で呼び出すか、OmniScript で値を設定できるカスタム関数を Apex で作成することもできます。詳細は次のリンクを参照https://help.salesforce.com/s/articleView? language=en_US&id=sf.os_sample_apex_code_for_a_custom_function_57569.htm&type=5
:::

+ [How to access the Json Values (old) from DR Extract after Step (user updates data) NEW](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Ut9DPSAZ)

# DataRaptor Turbo Extract事前入力できない

+ [DataRaptor Turbo Extract and Populating values](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007UseHZSAZ)

:::note
JSON パーサーが OmniScript にデータ JSON (ソースは関係ありません) を事前に入力するには、構造が一致する必要があります。ご覧のとおり、あなたの場合、それらは一致しません。

選択肢は 3 つあります。

1. OS 構造に一致するようにデータ JSON を変換します。DR Turbo を使用して変換を行うことはできません。DR Extract を使用する必要があります。これが最も簡単なオプションです。

以下に例を示します。出力 JSON パスが OmniScript の現在の対応する要素名と正確に一致していることを確認してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/d83082cc-937c-8eb0-e475-b1bd4263887d.png)


2\. データ JSON と一致するように OS の構造を変更します。通常はこれを行うことができますが、この特定のインスタンスでは、データ JSON 内に同じ名前の複数のキーがあるため、課題に直面することになります。

3\. ステップの前に SetValues アクションを使用して、データ JSON を OS に手動でマッピングします。
:::

+ [Data Raptor 抽出パス内のオブジェクトにアクセスできません](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007X8lGe)

:::note
回答へのリンク!! 🤗

https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007W6SUvSAN
:::

+ [Can you run a subquery in data raptor extract?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ZBfps)

:::note
I don't think you can run subquery or add custom logic.  Kindly review below Idea link for same.

https://ideas.salesforce.com/s/idea/a0B8W00000GdpA8UAJ/add-custom-logic-for-andor-conditions-in-dr-extract
:::


# 設定

+ [編集ブロック内で TYPE AHEAD ブロックを使用することは可能ですか?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007UsLyr)

:::note
Have you checked what exactly going to Dataraptor as search key for second time. 

As you are using dataraptor in edit block  there might be chance that sourcevalue is going as wrong value to DR. Try using  AccountName|n  source format.


 2回目の検索キーとして Dataraptor に何が入力されるのかを確認しましたか。 

編集ブロックで dataraptor を使用しているため、sourcevalue が間違った値として DR に渡される可能性があります。AccountName|n ソース形式を使用してみてください。
:::

+ [Data Raptor の「すべての Null 入力のターゲットを上書きする」が有効になっている場合、必須エラーが途中で表示される](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007bLKq9)


#  datatable columns [object Object] 

+ [Flexcard with Datatable and Turbo Extract DR](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007W6WGX)

:::note
The Turbo DR JSON will be formatted as an array with a single object with your Output Path as Top Level key and results as array records inside. Your JSON structure would be different.

Eg:

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/9137a722-840c-4bb6-6740-a67a150434cc.png)

You Data Table expects an array or records which your SOQL provides directly. When you use DR Turbo, you get an array with a single Object of array, so it cannot display as is.

You can do two things.

1. Use DR instead of DR Turbo, and make sure your output is formatted as an array og records.
2. Filter your Result JSON on your Data Source Configuration to use the inner array.

Eg:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/cfef7ca9-aafe-46da-03ee-a3a8263b3b64.png)
:::

# 複数の DR を使用した場合の問題

+ [Access ID of record created by DataRaptor](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XFEPS)

# 数式

+ [SPLIT function in Dataraptor Formula](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JeiXw)

:::note alert
{
  "error": "Formula expression is invalid: SPLIT is not a Function or Operator"
}
:::

:::note
I did this in the integration procedure and it worked:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/083f6ade-54f9-2094-6fd0-9f323dc3f305.png)

:::

+ [Formatting of phone number in Data Raptor Extract](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvyFb)

SUBSTITUTEが使えないので、その回避方法