はじめに
現在参画中の案件にて、「ユーザーが入力した項目に該当する箇所を塗りつぶししたい」という要望をいただきました。
▼完成イメージ①(パラメータで「朝」が選ばれたら、下図の朝部分を塗りつぶし)
▼完成イメージ②(パラメータで「終日」が選ばれたら、下図全てを塗りつぶし)
実現方法について、(予め選択項目を決めておいた上で)、「パラメータ機能」を用いて、ユーザーが選択した項目に応じて書式を変えればいいのではと考えました。
ただ、パラメータ機能には課題があり、、、
- パラメータに応じて変化させられるのは、「ディメンジョン」や「メジャー」
- それらに応じて書式設定は連動させられない。
ということで、何らかの工夫が必要になりました。
そこで、パラメータの選択肢のメジャーは「数値」を返すようにして、その数値に応じて色変化する方法を実装したので、共有したいと思います。
実装方法
① パラメータを定義する。
② パラメータで使用するメジャーを定義する。
- ポイントは、塗りつぶしたい「時間帯」フィールドとパラメータの選択肢が合致したとき、何でもいいので数値を返すようにすること。
- 選択肢の数だけ、メジャーを複製しておく。
② パラメータの分岐処理を行う計算フィールドを定義する
- 例)パラメータで「朝」が選ばれたとき、①の「時間帯_朝」メジャーが配置される。
③ ②を色マークに設置する
④ [色]の編集にて、100以上の場合、塗りつぶすよう設定する。
- 例)②のプロセスにて、「時間帯_朝」メジャーは、塗りつぶし対象の時間帯フィールドの「朝」に100という値が格納されているので、「朝」のみ緑色で塗りつぶしされる。
おわりに
パラメータに応じて、書式設定を変えるTipsでした。
選択肢の数だけメジャーを作っておかないといけないので、開発画面がごちゃごちゃしてしまうのが難点です。
もっと効率的な方法をご存知の方がいれば、教えてください!