ORのネストの条件について ネスト条件が実行されない

ORとANDを絡めたネストでのデータ取得をレポートから行いたいのですが、
実行してもうまく動作しないため、ORのネストの条件を有効にする方法について教えてください

想定としてはネストの中身も条件になってほしいのですが、条件にならず、抽出結果はネストの部分は無視されて取得されています

<やりたいこと>
データレポートから、項目Aが5 かつ 以下の文字カラム条件のどちらかに該当するレコードを引く

文字カラム1 = 画面入力値 AND 文字カラム2 = Null (文字カラム1だけある場合)
文字カラム1 = 画面入力値 AND 文字カラム2 = 画面入力値 (両方にある場合)

{
“conditions”: [
{“id”: “項目A”, “search_value”: [“5”], “exact_match”: true},
{
“conditions”: [
{
“conditions”: [
{
“conditions”: [
{“id”: “文字カラム1”, “search_value”: [画面入力値,画面入力値], “exact_match”: true},
{“id”: “文字カラム2”, “search_value”: [], “exact_match”: true},
],
“use_or_condition”: false // AND検索
} ,
{
“conditions”: [
{“id”: “文字カラム1”, “search_value”: [画面入力値,画面入力値], “exact_match”: true},
{“id”: “文字カラム2”, “search_value”: [画面入力値,画面入力値], “exact_match”: true},
],
“use_or_condition”: false // AND検索
}
],
“use_or_condition”: true // OR検索
}
],
“use_or_condition”: false, // AND検索
“page”: 1,
“per_page”: 0, // return all
“use_display_id”: true,
“return_number_value”: true
}

<やりたいことのSQLイメージ>

SELECT *
FROM データレポート
WHERE
項目A=5 AND
((文字カラム1 = 画面入力値 AND 文字カラム2 = ‘’) OR
(文字カラム1 = 画面入力値 AND 文字カラム2 =画面入力値 ))

現在の実装だと、ネストの中の条件が効いておらず、
{“id”: “項目A”, “search_value”: [“5”], “exact_match”: true},の条件が有効で
ネストの記載条件はないもと見なされて取得されています

ネストの条件を有効にする方法を教えて頂けますでしょうか

関連

@r-miyakoshi 確認いたします!

こちら時間がかかってしまい申し訳ありません。
現在、同様の再現環境を準備し調査準備を進めております。進捗しましたら再度連絡いたします。

整形(上記内容を整形)

★SQL

SELECT
    *
FROM
    データレポート
WHERE
    項目A = 5
AND (
        (
            文字カラム1 = 画面入力値
            AND 文字カラム2 = ''
        )
    OR  (
            文字カラム1 = 画面入力値
            AND 文字カラム2 = 画面入力値
        )
    )

   ★API パラメータ
{
  "conditions": [
    {
      "id": "項目A",
      "search_value": [
        "5"
      ],
      "exact_match": true
    },
    {
      "conditions": [
        {
          "conditions": [
            {
              "conditions": [
                {
                  "id": "文字カラム1",
                  "search_value": [
                    "画面入力値"
                  ],
                  "exact_match": true
                },
                {
                  "id": "文字カラム2",
                  "search_value": [
                    ""
                  ],
                  "exact_match": true,
                  "include_null": true
                }
              ],
              "use_or_condition": false
            },
            {
              "conditions": [
                {
                  "id": "文字カラム1",
                  "search_value": [
                    "画面入力値"
                  ],
                  "exact_match": true
                },
                {
                  "id": "文字カラム2",
                  "search_value": [
                    "画面入力値"
                  ],
                  "exact_match": true
                }
              ],
              "use_or_condition": false
            }
          ],
          "use_or_condition": true
        }
      ]
    }
  ],
  "use_or_condition": false,
  "page": 1,
  "per_page": 0,
  "use_display_id": true,
  "return_number_value": true
}

@iwasaki.hexabase @r-miyakoshi @k-otani

レポートの場合は従来どおり1階層目の検索条件しか効いていない?(ネストが全てNG)
データストアの場合はネストOK(2階層目まで確認)

以下ドキュメント例で確認

{
    "conditions": [
        {  
           "conditions": [
                {"id": "FieldA", "search_value": ["X"], "exact_match": true},
                {"id": "FieldB", "search_value": ["Y"]}
           ],
           "use_or_condition": true // OR検索
        },
        {  
           "conditions": [
                {"id": "FieldA", "search_value": ["ABC"]},
                {"id": "FieldC", "search_value": ["Z"], "not_match": true}
           ] // AND検索時、"use_or_condition"は省略可能
        } 
    ],
    "use_or_condition": false, // AND検索

    "page": 1,
    "per_page": 0, // return all
    "use_display_id": true,
    "return_number_value": true
}

@hi-takahashi 追加の情報、ありがとうございます。
調査&確認の上、対応見通しについて連絡いたします!

1 Like

@iwasaki.hexabase
よろしくお願いいたします!(レポートでも使えるように)

@hi-takahashi @k-otani

本日の進捗状況をお伝えします。

本日、DataReportに同様のネストしたSearchCondition、OR結合に対応させる対応について、APIの改修目途がたちましたので連絡いたします。

明日よりテスト作業の準備に入り、リリースへ向けて作業を進めて参ります。
リリース予定は来週前半~中盤となる見込みですが、変更がありましたら連絡いたします。

※そのほか、いくつかのパラメータの追加 [ タイムアウトの設定、取得結果の省略(例えば、totalItemsを省略して実行速度を上げる)] などの強化を予定しております。
ドキュメントもあわせて準備中となります。

どうぞよろしくお願いいたします。

1 Like

@iwasaki.hexabase

明日よりテスト作業の準備に入り、リリースへ向けて作業を進めて参ります。
リリース予定は来週前半~中盤となる見込みですが、変更がありましたら連絡いたします

承知いたしました。
ご対応いただきありがとうございます!

引き続きよろしくお願い致します。

1 Like

4月7日リリース予定