Adaloでのフィルタリング

フィルタリングは、アプリ内のデータを洗練させて整理する強力な機能です。経験豊富なアプリビルダーであっても初心者であっても、フィルタリングの概念を理解することで、アプリを特定のニーズに合わせてカスタマイズするのに役立ちます。

主要なフィルタリングの概念:

フィルタ基準: これは、表示または非表示にするデータを決定するために設定するルールを指します。例えば、過去30日に注文された注文のみを表示したい場合や、関連プロパティを使用して特定のチームメンバーに割り当てられたタスクを表示したい場合などがあります。

フィルタフィールド: これらは、データのコレクション内のプロパティであり、フィルタリングに使用できるものです。たとえば、製品のリストを管理している場合、フィルタフィールドには製品名、価格、カテゴリなどが含まれる可能性があります。

フィルタ演算子: 演算子は、フィルタ基準とデータの間の関係を定義するために使用されます。Adalo は、等しい、等しくない、含む、より大きい、より小さいなど、プロパティタイプに応じてさまざまな演算子をサポートしています。これらの演算子は、データをどのようにフィルタリングするかを指定するのに役立ちます。

論理演算子: 論理演算子は、複数のフィルタ基準を組み合わせて複雑なフィルタリング条件を作成するために使用されます。Adalo は、リストで AND および OR 演算子をサポートしています。これらを使用すると、同時にまたは独立して満たす必要がある条件を指定することで、フィルタをさらに洗練させることができます。

フィルタの場所

フィルタは、通常、リストコンポーネントやレコードのグループ全体を表示するコンポーネントなどに見つかります。以下に示すようなものがあります:

  • リスト

  • カウント

  • ドロップダウンコンポーネント

  • デッキスワイパー

  • 画像スワイパー

  • カレンダー

  • チャートキット

  • ... その他多数!

フィルタ

フィルタは、コレクションからのデータグループを表示するリストで一般的に見つかります。以下の例では、旅行のリスト があり、デフォルトのフィルタが すべての旅行 に設定されています。ドロップダウンを選択することで、利用可能なスクリーンデータやログインユーザーデータに基づいてさらにフィルタリングできます。

カスタムフィルタ

+カスタムフィルタを追加 ボタンが表示される場所ならどこにでもカスタムフィルタを追加できます。これらは、フィルタ演算子を使用してロジックを組み合わせ、非常に特定のレコードグループを表示するために使用されます。前述の例と同様に、旅行者(ユーザーへの関係)がログインユーザーを含む 旅行 のみを表示したい場合があります。

フィルタ演算子:

フィルタ演算子は、Adalo が表示するレコードを決定する方法です。これにより、真または偽のいずれかが結果として得られます。この情報に基づいて、Adalo はこの演算子に基づいてレコードを表示するかどうかを決定します。フィルタと条件の両方は、レコード、コンポーネント、またはアクションに対して何を行うかを決定するために演算子を使用します。 以前に言及された_if-then_ロジックに従うと、フィルターや条件内で論理演算子を使用してAdaloに指示できます。「もしもこの条件が真なら、この他の条件を実行する」という指示が可能です。

演算子の種類

演算子:

  • 等しい - この演算子は大文字と小文字を区別し、2つのテキストが完全に一致する必要があります。テキスト内に非表示の改行やスペースがあっても、厳密に一致する必要があります。この演算子は非常に厳格です。

    "Day" is equal to "day" = false "Day" is equal to "Day" = true

  • 等しくない - この演算子も大文字と小文字を区別し、2つのテキストが異なるかどうかを判断します。スペースや改行があっても、厳密に一致しない場合があります。この演算子も非常に厳格です。ヒント: 一致するかどうかを判断するよりも、除外する方が簡単です。

    "Day" is not equal to "day" = true

    "Day" is not equal to "Day" = false

  • 含む - この演算子は、1つのテキストが別のテキストを含んでいるかどうかを判断します。この演算子は厳格ではなく、大文字と小文字を区別しませんが、同じテキスト文字列を共有する複数のレコードがある場合、意図しない結果になることがあります。例えば、[email protected][email protected] の両方が "gmail" を含んでいますが、同じ結果ではありません。これはアプリ内のレコードを検索するのにも適しています。

    "Day" contains "day" = true "Day" contains "Day"= true

    "Tuesday" contains "Day" = true

論理演算子

フィルター内では、カスタムフィルターをお互いに包含するか、排他的にするかを選択できます。複数のカスタムフィルターを持つリストの場合、それらのフィルターのすべてが真である必要があるか、いずれかのフィルターが真であるかを選択できます。

すべての基準が満たされたときにデータを表示したい場合は、+ AND ボタンをクリックします。以下の例では、Trips で、Travelers (Users との関係)Logged in User を含み、かつ Travel DateLogged in User がリストを表示している日付より後 である Trips のみを表示したいとします。

いずれかの基準が満たされたときにデータを表示したい場合は、+Add Custom Filter ボタンをクリックします。以下の例では、Trips で、Travelers (Users との関係)Logged in User を含み、または Trip StatusActive である Trips のみを表示したいとします。

0 vs. Null (空):

データ管理では、0Null は異なる状態を表します。0 は数量や特定の値の不在を示す有効な数値です。Null は、特定のフィールドにデータが存在しないことを示す、値の不在または不明な値 を示します。Adaloでは、NullEmpty と呼ばれます。

空の値のフィルタリング:

  • 空は、関係が存在するかつ演算子が空であるかどうかを評価するために使用できません。

    • 例: 関係が存在するレコードのみを取得したいが、特定のプロパティが空である場合。

  • 空は、レコードの数をフィルタリングするために使用できません。

    • 例: 関係の数を持たないレコードのみを取得したい場合。数値であるため、数値 '0' と比較する必要があります。

高度なフィルタリングテクニック:

  • 関係の確認: 多対一の関係を持つレコードが、関係のIDプロパティを空にすることで確認できます。

  • 例: [多数のリード、1人のセールスパーソン] を持たない リード のリストを取得するには、Current Leads > Sales Person > IDEmpty と等しいかどうかを確認します。

  • 画像とファイルのプロパティを評価: レコードに画像やファイルが保存されているかどうかを評価できます。

    • 例: Contract [ファイルプロパティ] が保存されているオプションのみを表示するには、Contract > URLEmpty でないレコードのみを表示するカスタムフィルタを適用します。

  • 場所のプロパティを評価: 同様に、場所のプロパティに場所が保存されているかどうかを評価できます。

    • 例: ロケーション を持たないすべての レストラン の数を取得するには、Restaurant's > Location > Full AddressEmpty と等しいと設定されたカスタムフィルタを使用します。

もっと詳しく

  • フィルタを条件と組み合わせることで、アプリ内で何が起こるかをさらに制御できます。たとえば、データベース内のレコードのフィルタリングされた数に基づいてコンポーネントの表示を変更することができます。

  • 現在、条件付きアクションと条件付き表示には1つのフィルタしか添付できませんが、リスト、カウント、チャート、およびその他のコンポーネントのフィルタには複数のフィルタを添付できます。

ヘルプ

この記事に関する追加のヘルプが必要な場合は、いつでもコミュニティフォーラムで質問できます!投稿にこの記事へのリンクを貼り付けることも忘れないでください!

チュートリアルやヘルプドキュメントのリクエストがありますか?お知らせください!

Last updated

Was this helpful?