パラメトリックデータ解析のニーズに合わせて、デフォルトのJupyter NotebookであるData Space Analysisを変更します。

2024年12月に導入された機能

メモ 異なるAPIを使用してデータスペース解析を実行する詳細については、GitHubのHow_to_use_ni_data_space_analyzerドキュメントにあるni_data_space_analyzer Pythonライブラリを参照してください。
作業を開始する前に、GitHubからData Space Analysis Notebook、Data_Space_Default_Analysis.ipynbをダウンロードします。
  1. 解析 » スクリプトに移動します。
  2. Notebookを右クリックして名前を変更します。
  3. カスタム解析を含めるには、ノートブックパラメータのメタデータを更新します。たとえば、custom_analysis_scalarcustom_analysis_vectorを追加します。
    {
      "papermill": {
        "parameters": {
          "trace_data": "",
          "workspace_id": "",
          "analysis_options": []
        }
      },
      "systemlink": {
        "outputs": [
          {
            "display_name": "Custom Analysis Scalar",
            "id": "custom_analysis_scalar",
            "type": "scalar"
          },
          {
            "display_name": "Custom Analysis Vector",
            "id": "custom_analysis_vector",
            "type": "vector"
          }
        ],
        "parameters": [
          {
            "display_name": "Trace Data",
            "id": "trace_data",
            "type": "string"
          },
          {
            "display_name": "Analysis Options",
            "id": "analysis_options",
            "type": "string[]"
          }
        ]
      },
      "tags": ["parameters"]
    }
  4. Notebookでサポートされている解析のリストを更新し、その出力を指定します。
    supported_analysis = [
        {"id": "custom_analysis_scalar", "type": "scalar"},
        {"id": "custom_analysis_vector", "type": "vector"}
    ]
    supported_analysis_options = list(map(lambda x: x["id"], supported_analysis))
    
  5. カスタム解析を計算し、結果を元のデータフレームに追加する関数を追加します。
    def compute_custom_analysis_scalar(dataframe):
        analysis_result = perform_custom_analysis_scalar(dataframe)
        dataframe["custom_analysis_scalar"] = float(analysis_result)
    
    def def compute_custom_analysis_vector(dataframe):
        analysis_result = perform_custom_analysis_vector(dataframe)
        dataframe["custom_analysis_vector"] = list(analysis_result)
  6. 個々のトレースに対して解析を実行します。
    def perform_analysis(data_frame: pd.DataFrame) -> pd.DataFrame:
        data_space_analyzer = DataSpaceAnalyzer(dataframe=data_frame)
        for option in analysis_options:
            elif option == "custom_analysis_scalar":
                compute_custom_analysis_scalar(data_frame)
            elif option == "custom_analysis_vector":
                compute_custom_analysis_vector(data_frame)
        return data_space_analyzer.generate_analysis_output(analysis_options=analysis_options,supported_analysis=supported_analysis
  7. 結果を統合し、その結果をアーチファクトとして保存します。
    data_space_analyzer = DataSpaceAnalyzer(pd.DataFrame()) 
      final_result = []
      traces = data_space_analyzer.load_dataset(trace_data) 
      for trace in traces: 
        trace_name = trace["name"] 
        trace_values = trace["data"] 
        analysis_results = perform_analysis(trace_values) 
        final_result.append({"plot_label": trace_name, "data": analysis_results}) 
      output_artifact_id = data_space_analyzer.save_analysis(workspace_id, final_result)
  8. スクラップブックライブラリを使用して、出力アーチファクトを実行結果に貼り付けます。
    sb.glue("result", output_artifact_id)
    
  9. Notebookを保存します。
  10. NotebookをSystemLink Enterpriseでデータスペース解析インタフェースの下にパブリッシュします。
カスタムスクリプトを作成したら、それを使用してデータスペース内のパラメトリックデータを解析します。