> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Factory よくある質問

> YiDA Data Factory の利用時によくある質問と解決策を解説します。データベーステーブル名の対応、Data Source エラーの対処法、ファイアウォール設定、アプリ間データ参照など、運用担当者に役立つ情報をまとめました。

本記事では、YiDA Data Factory を利用する際によく寄せられる質問について解説します。

<AccordionGroup>
  <Accordion id="q1" title="Q: データベースのテーブル名は日本語と英語の両方に対応していますか？">
    * 英語のテーブル名のみに対応しています。
  </Accordion>

  <Accordion id="q2" title="Q: Data Source のエラーはどのように解決しますか（一部抜粋）？">
    | エラーメッセージ                                                                                                            | 解決策                                                                                 |
    | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
    | data source validate failed.connectionInfo isn't correct                                                            | YiDA はパブリックネットワークのみに対応しています。データベースがパブリックネットワークのエンドポイントを公開していない場合、YiDA からはアクセスできません。 |
    | ORA-00972: identifier is too long                                                                                   | フィールドの表示名が長すぎます。Oracle データベースでは、表示名の長さを標準として 64 文字以内に収めてください。                       |
    | Data Source で SQL Server のデータを取得し、レポートで集計を使用する場合、「concat ws is not a recognized built-in function name」というエラーが表示される | concat\_ws に対応するには、SQL Server 2017 以降にアップグレードしてください。                                |
  </Accordion>
</AccordionGroup>

### Q: Data Source の作成時に「Connection test timed out. Check the connection information and firewall, then try again」というエラーが表示されます

* Data Source を独自システムと統合する際は、データベースまたはシステムがパブリックネットワーク経由でアクセス可能であることを確認してください。アクセスできない場合、このエラーが発生します。

### Q: SQL Server（2012 より前のバージョン）を使用する際に「xxx field is not a recognized built-in function name」というエラーが表示されます

* YiDA は現時点で SQL Server 2012 より前のバージョンに対応していないためです。データが正しく表示される場合もありますが、これらのバージョンの使用は推奨しません。

### Q: フォーム送信、一括インポート（選択時にトリガー）、OPEN API / ページ Data Source と、業務関連ルールまたは統合と自動化とのトリガールール

| 操作                         | 業務関連ルールをトリガー可能 | 統合と自動化をトリガー可能 |
| -------------------------- | -------------- | ------------- |
| フォーム送信                     | ✅              | ✅             |
| 一括インポート（選択時にトリガー）          | ✅              | ✅             |
| open API / ページ Data Source | ✅              | ✅             |
| 業務ルール                      | ❌              | ❌             |
| 統合と自動化                     | ❌              | ❌             |

<AccordionGroup>
  <Accordion id="q3" title="Q: データベースビューの接続に対応していますか？">
    * 非対応です。
  </Accordion>

  <Accordion id="q4" title="Q: IP ファイアウォールのホワイトリストはどのように設定しますか？">
    YiDA の外部 Data Source および業務サービスのネットワークホワイトリストについては、以下の設定を参照してください。

    | 社内のデータベースにパブリックネットワーク IP のホワイトリストがある場合、<br />ファイアウォールやその他のネットワーク設定によってブロックされないよう、以下のホワイトリストを設定してください。<br />• 106.11.0.0/16<br />• 203.119.128.0/17<br />• 59.82.0.0/16<br />• 140.205.0.0/16 | データベース型の Data Source への接続に失敗し、ファイアウォールの確認を促されます。 |
    | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
  </Accordion>

  <Accordion id="q5" title="Q: サブフォームのデータをアプリ間で取得できますか？">
    はい。サブフォームは独立したデータセットとして扱えるため、アプリ間のデータ取得時に選択できます。
  </Accordion>

  <Accordion id="q6" title="Q: どのシナリオでアプリ間データを利用できますか？">
    現在、アプリ間データはレポートシナリオでのみサポートされています。フォームのデータ連動や複数テーブルの関連など、その他のシナリオは今後段階的に対応予定です。
  </Accordion>
</AccordionGroup>

### Q: 勤怠データセットはいつ利用できるようになりますか？

A: ロードマップに含まれており、今後のイテレーションで提供を検討しています。

### Q: 接続した公式データセットで最新のデータをプレビューできないのはなぜですか？

A: 現時点では、テストボタンを手動でクリックしてデータを更新する必要があります。プレビューデータの更新ボタンは今後追加予定です。

### Q: データはリアルタイムですか、それとも翌日更新ですか？

A: 現在、リアルタイムで更新されるのは \[OA承認] データのみです。一般指標、社員名簿、スマート HR（入社、異動、昇進、退職）などのデータセットは、デフォルトで翌日 0:00 に更新されます。

### Q: ファーストパーティアプリのデータ権限を持つ管理者が Data Factory 経由でデータセットを作成した後、データ権限をさらに設定するにはどうすればよいですか？

A: Data Preparation で処理されたデータは、最新の発行者のデータ権限に基づいて新しい独立したデータセットを生成します。このデータセットのデフォルトの行および列権限は、最終発行者の権限によって決まります。この上で、独立したデータセット権限を設定できます。

<AccordionGroup>
  <Accordion id="q7" title="Q: OA承認のデータ範囲はどこまでですか？すべての OA承認 データが含まれますか？">
    A: 現在、過去 1 年以内に生成された OA承認 データのみ利用可能です。
  </Accordion>

  <Accordion id="q8" title="Q: Data Preparation で除算を使用する際に精度の問題はありますか？">
    現時点では浮動小数点への変換が必要です。今後、浮動小数点の数式関数を提供する予定です。
  </Accordion>

  <Accordion id="q9" title="Q: 新しいコンポーネントを追加してもデータセットが更新されません">
    新しいコンポーネントを追加した後は、再度テストをクリックするか、データセットをもう一度ドラッグして更新してください。
  </Accordion>

  <Accordion id="q10" title="Q: Data Preparation ノードのプレビュー結果がローカルの計算結果と一致しません">
    Data Preparation 内のデータプレビューで表示されるデータ行数は参考値です。中間の高速化キャッシュが存在する可能性があるため、最終的な出力データセットの行数を判断する根拠としては使用できません。
  </Accordion>

  <Accordion id="q11" title="Q: Data Preparation ノードの Field 種類の変更は、どのような条件で有効になりますか？">
    例えば、ノードが A - B - C の構造になっている場合、ノード A のフォールド種類を変更すると、ノード B と C にのみ影響します。ノード B のフォールド種類を変更すると、ノード C にのみ影響します。
  </Accordion>

  <Accordion id="q12" title="Q: 出力ノードの Field ID が変わってしまうのはなぜですか？">
    日常運用では、データ操作ノードに対する不可逆的な削除やリセット操作は避けてください。

    * 前段の処理ノードのコンテンツが変更された場合（例：Field ID = xxx001 を持つフィールド A が含まれる）、ノードの削除と再追加を含めて、後続のフィールドに対して完全に新しい Field ID が動的に生成されます（例として、フィールド A の ID がランダムに yyy789 として再生成される場合があります）。これにより、レポートやダッシュボードなどの下流の業務利用シナリオで既存のノード ID 設定が機能しなくなります。
  </Accordion>

  <Accordion id="q13" title="Q: Data Preparation で DingTalk の勤怠データを取得する際、実際には打刻記録があるにもかかわらず、一部のユーザーの「当日最初の打刻時刻」が null として表示されるのはなぜですか？">
    YiDA で公開されているフィールド「first check-in time」は、`yyyy-MM-dd HH:mm:ss` の形式を使用します。

    表示ルール：

    * ユーザーにシフトスケジュールがあり、最初の勤務シフトで打刻した場合、その時刻が当日最初の打刻時刻として記録されます。
    * 承認フォーム、外出、休暇、追加打刻、外勤記録はカウントされません。
    * 打刻記録については、外勤および管理者による修正記録はカウントされません。
  </Accordion>
</AccordionGroup>
