はじめに
hkob の雑記録の第281回目は、森高千里DB の Contents のタイトルに対して、曲名の揺れに対応した件を解説します。
曲名の揺れについて
千里さんの曲名は、アルバムなどによって表記が変更になるものがあります。例えば、「ザ・ミーハー ミーハー」というシングルでは、同じ曲が 1曲名では「ザ・ミーハー」、2曲目では「ミーハー」という曲名になります。これまでのデータベースでは、こんな感じでコメントに、『表記は「ザ・ミーハー」』と記述していました。

せっかく Name の部分はデータベースオートメーションで自動設定しているので、この表記揺れにも対応しておきたいところです。

Songs の修正
まず、表記揺れに対応するため、Songs のタイトルに両方のタイトルを「 | 」で併記することにします。見た目を考えて、「|」の前後にスペースを入れました。とりあえず、ミーハーだけ対応してみます。

Contents に SongNameOrder プロパティを追加
Contents には SongNameOrder という数値プロパティを用意しました。デフォルトは空欄で、2番目の名前を使う場合には 1、3番目の名前を使う場合には 2 を入れることにします。

データベースオートメーションの修正
Songs の名前と SongNameOrder プロパティから以下のようにデータベースオートメーションの数式を変更しました。

具体的な数式は以下のようになりました。
lets( sno, context("トリガーページ").prop("SongNameOrder"), num, sno.empty() ? 0 : sno, name, context("トリガーページ").prop("Song").first().prop("Name").split(" | ").at(num), [ context("トリガーページ").prop("Number"), name, context("トリガーページ").prop("Version") ].filter(current) .join(" ") )
実行結果
早速、SongNameOrder に数値を入れて見ました。1曲目だけ SongNumOrder を設定したので、曲名が「ザ・ミーハー」に変わっています。

ここまでできれば、「表記は」と書かれたコメントの曲を修正すればよいだけになります。検索するとこんな感じで並ぶので、Songs の曲名を修正した上で、SongNameOrder を 1 に変更していきます。設定が終わったら、「表記は…」のコメントは削除していこうと思います。

最終的にこれらの全てを修正しました。SongNameOrder が 1 のページだけを表示すると以下のようになりました。全て別名になっています。

おわりに
今回は、Contents の曲の揺れに対応しました。これでアルバムなどのコンテンツやコンサートのセットリストに正しい曲名が表示されるようになりました。