Dashboard を CLI にて作成しています。
コマンドは以下のような形です。
aws quicksight update-dashboard \
--aws-account-id ${AWS_ACCOUNT_ID} \
--dashboard-id ${DASHBOARD_ID} \
--name "ダッシュボード名" \
--definition file://definition-for-release.json \
--version-description "${RELEASE_MESSAGE}" \
--dashboard-publish-options "${DASHBOARD_PUBLISH_OPTIONS}"
definition-for-release.json にリリース用の definition が書かれていて、中で Pivot テーブルの条件付き書式の設定が以下のようにされています。
{
"Cell": {
"FieldId": "5bc724f8-5adf-45fc-bdac-6dd7fda0f7d2.5.1720523758663",
"TextFormat": {
"BackgroundColor": {
"Solid": {
"Expression": "{割合} < 0",
"Color": "#F46C5A"
}
}
},
"Scopes": [
{
"Role": "GRAND_TOTAL"
}
]
}
},
こちらを反映したところ、条件付き書式が意図通り付与されませんでした。
意図としては、合計のところだけに背景色を追加したいというものです。
しかし結果としては、全てのセルに対して条件付き書式が付与され背景色がついてしまいました。
原因をさぐるため、完成したあとの dashboard の定義を以下コマンドで取得し中身を確認してみました。
$ aws quicksight describe-dashboard-definition --aws-account-id ${AWS_ACCOUNT_ID} --dashboard-id ${DASHBOARD_ID} >./production-dashboard.json
すると、以下のような JSON になっており、
"Cell": {
"FieldId": "5bc724f8-5adf-45fc-bdac-6dd7fda0f7d2.5.1720523758663",
"TextFormat": {
"BackgroundColor": {
"Solid": {
"Expression": "{割合} < 0",
"Color": "#F46C5A"
}
}
},
"Scopes": [
{
"Role": "FIELD_TOTAL"
},
{
"Role": "GRAND_TOTAL"
},
{
"Role": "FIELD"
}
]
}
Scopes が、“GRAND_TOTAL” だけを指定したのにも関わらず、FIELD_TOTAL や FIELD も追加されてしまっていました。
こちらなぜこういった挙動になっているのかご教示いただきたいです。
AWS CLI のバージョンは以下になります。
$ aws --version
aws-cli/2.16.10 Python/3.11.9 Darwin/22.6.0 source/arm64
もし最新バージョンで治っているなどあればそちらも教えてください。