SharePoint 2013 リストビューでの複雑なフィルター条件設定

SharePoint(含 SharePoint Online) のビューでは、AND/OR で複数の表示条件(フィルター)を設定して、必要な情報だけに絞込むことができます。しかし、条件の評価順位が指定できないため、なかなか思うような結果が得られないことも。ここではいくつかの設定パターンを挙げ、SharePoint のビューがどのような結果を返すかを試してみました。

なお、このエントリは Office 365 Advent Calendar の一環として投稿しています。

リストに A/B/C/D の四つの列を設定し、ビューにはこの列に応じた各種のフィルター条件を指定してみます。

20181210image01

単純化のため、条件はすべて「次の値に等しい、1」です。まあ、結局は設定した条件が True か False か次第なので、このエントリにはあまり関係ありません。

20181210image02

1.A and B or C

これは判り易いパターン。
(A and B) or ( C )、つまり「AかつB、またはCである」と評価されます。

2.A or B and C

or の位置を変更してみました。すると上とは異なり、 (A and C) or (B and C) つまり「AかつC、またはBかつC」と評価されます。

20181210image03

3.A and B or C and D

and の間に or を入れるとどうなるのか。この場合、まず(1)と同じ評価が行われた後、さらに and D という扱いになります。 ((A and B) or (C)) and (D)、つまり「ABD または CD」です。

20181210image04

4.A or B and C and D

or 位置を変更してみました。これもまず(2)と同じ評価が行われた後、更に and D です。(A and C and D) or (B and C and D)、つまり「ACD または BCD」になります。

5.A and B and C or D

or の位置を最後に持ってきました。この場合は非常にシンプルで、素直に上から (A and B and C) or D、つまり「ABC または D」という評価です。

6.A or B or C and D

今度は or が二つです。一見ややこしいですが、そろそろパターンが見えてきたのではないでしょうか。これは (A or B or C) and D です。きちんと分解すると (A and D) or (B and D) or (C and D)、つまり「AD または BD または CD」になります。

20181210image05

7.A and B or C or D

同じく、こちらも (A and B or C) or (D) と評価されます。((A and B) or ( C )) or (D) 、つまり「AかつB、またはCである、あるいはDである」になりますので、大半に合致します。

8.A or B and C or D

基本的な考え方は同じ。(A or B and C) or (D) になります。(2)の評価が行われた後に or D です。((A and C) or (B and C)) or D、つまり「AC または BC または D」ですね。

9.A or B and C or D and E

最後に、新たに列を追加して、5番目の条件 E を加えてみます。やはりまず (A or B and C) or (D) が評価された後に、and E になります。そのため、E に該当しないアイテムは表示されません。列を作成したばかりで、値の入ったアイテムがないので下図のようになります。

20181210image06

(8) の条件に該当するアイテムに、E 値を設定したところ、きちんと表示されるようになりました。

20181210image07

SharePoint ビューのフィルター条件式は、基本的に上からひとつずつ解決されるシンプルなものですが、最初に or 条件を設定した時のみ、特殊な評価が行われるようです。この仕様から考えると、残念ながらあまり複雑な条件設定には不向きだと言えるでしょう。

もしそうした(より複雑な)フィルター定義が必要になる場合には、集計列の計算式と組み合わせて利用するなど、工夫することになるかと思います。

さて、Office 365 Advent Calendar ですが、次回は Office 365 MVP仲間の渡辺元気さんです。


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9