AppSheet初心者です。通常AppSheetで画面を作成すると検索欄が1つ作成されますが、データ側の複数の列でそれぞれ値を指定してデータを検索したいと考えています。例:A列の文字が"ABC"で始まり、且つ、B列に”AAA"が含まれる行を検索する技術的に複数項目の組み合わせ検索が可能でしょうか?
Tsujiさん
ご丁寧に解説ありがとうございます。
検索の裏技としてシステムへ組み込んでみたいと思います!
USERSETTINGS にはDEFAULTで複数の設定が既に施されています。
お気になさらず、一番上からご自身のUSERSETTINGに作り替えてください。
例えば選択肢として利用するのであれば、ENUMタイプとして、選択項目となるITEMをVALUEに追加。仮にこのSETTINGの名前を「選択1」とします。
そして対象となるTableをスライスで選択。FILTERしたいFIELDの名前をここでは「カラム1」としますと、SECURITY FILTERに入れるべきFORMULAは
USERSETTINGS("選択1") = [カラム1]
となります。
このSLICEを利用してVIEWを作成されれば、USERSETTINGで選択した選択1のVALUEと一致するROWのみ返されてデータが表示されるはずです。
SQLの知識が有られるのであればSLICEはSQLでいうところのVIEWを作成していうるとお考え下さい。
ですので、SELECT * WHERE XXXX
クローズのXXXの部分をUSERSETTINGで設定しているということです。
ですので、本題の複数条件の設定、ですがUSERSETTINSを複数作成。
SLICEへけり込むFORMULAをOR()関数で連結されれば、ひとつでも条件のあうRECORDを返す、ということになります。条件全一致、とされたいのであればORをANDに変えるだけで実現可能です。
OR(
USERSETTINGS("選択1") = [カラム1],
USERSETTINGS("選択2") = [カラム2],
USERSETTINGS("選択3") = [カラム3],
)
お試し下さい。
VIEWの上部に表示される虫眼鏡アイコンから入る検索BARに、複数のWORDを入れて検索されたい、というご要望ですね?
そのサーチボックスでは、残念ながら現状、複数単語でそれらの条件を満たすROWを返す、ということはできないようです。
但し、例えば、USERSETTINGとSLICEを組み合わせることで複数の条件(複数のFIELDSのVALUEをリストから選択)に合うROWを対象のテーブルからFILTERし、SLICEとしてVIEWに利用する、というWORKAROUNDは「有り」で、私もいくつかのアプリでそのトリックを利用しております。