Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
お世話になります。
クリックセンスに関する質問です。
Qlikの公式デモサイトを見ていると、languageフィルターパネルで言語を選択すると、選択した言語に対応する形でラベルが表示されています。
この動作を再現するためにはどうすればいいかお教えいただけませんでしょうか?
該当アプリを見ていないので何とも言えませんが、おそらく下記のようなテーブルを用意して、ラベルは計算式を使って値を切り替えているように思います。
テーブル:
言語コード, 言語
1, 日本語
2, 英語
3, 中国語
ラベルに記載する計算式:
Pick(言語コード, '売上', 'Sales', '营业额')
上記のようにすれば、フィルターに「言語」を用意して一つ選択する事で、「言語コード」に対応するラベルが表示可能だと思います。
Qlikとは関係ないところで似たような機能を実装したことがありますが、
画面上に表示する文言を、全て事前に登録しておくことで切り替えが容易になります。
実際の実装方法は、kentaroWakamatsuさんの回答を参照してください。
Key,Japanese, English
1,商品在庫,Items in Stock
2,当週売上,Sales this week
3,前週売上,Sales last week
4,前週差,Variance
5,売上 Vs 商品別在庫,Sales Vs Stock per Item
6,…
kentaroWakamatsuさん、Kuya_Japanさんの方法で正解ですが、少し補足しておきます。
以下のテーブルを用意します。
1. 言語の種類を格納したテーブル(Japanese, English など、項目名をLanguageとして解説します)
2. 各見出し、項目名など翻訳したい内容のテーブル(Kuya_Japanさんの掲示されている内容)
これらのテーブルと実際のデータテーブルとは紐づけせずにロードします。
1のテーブルでLanguageフィルタを作ります。項目欄のフィールドの設定で、「1個の値を常に選択」をチェックしておきます。
選択されているLanguageが入る変数を作ります。変数 = ministring(Language)
あとは、見出しや項目名に数式 =Only({<LanguageIndex = {1}>} [$(vLanguage)]) と記載し、2のテーブルのインデックス番号をSet文で指定し、指定された言語の翻訳文を表示します。Englishが選択されている場合、この数式は、2のテーブルのEnglish列の1番目を表示します。
こうしておくと、言語が増えた場合も、アプリが変更になって翻訳箇所が変わった場合も、テーブルの内容を変更することで対応できます。
文章ではわかりづらいと思いますのでサンプルをつけておきます。
該当アプリを見ていないので何とも言えませんが、おそらく下記のようなテーブルを用意して、ラベルは計算式を使って値を切り替えているように思います。
テーブル:
言語コード, 言語
1, 日本語
2, 英語
3, 中国語
ラベルに記載する計算式:
Pick(言語コード, '売上', 'Sales', '营业额')
上記のようにすれば、フィルターに「言語」を用意して一つ選択する事で、「言語コード」に対応するラベルが表示可能だと思います。
Qlikとは関係ないところで似たような機能を実装したことがありますが、
画面上に表示する文言を、全て事前に登録しておくことで切り替えが容易になります。
実際の実装方法は、kentaroWakamatsuさんの回答を参照してください。
Key,Japanese, English
1,商品在庫,Items in Stock
2,当週売上,Sales this week
3,前週売上,Sales last week
4,前週差,Variance
5,売上 Vs 商品別在庫,Sales Vs Stock per Item
6,…
kentaroWakamatsuさん、Kuya_Japanさんの方法で正解ですが、少し補足しておきます。
以下のテーブルを用意します。
1. 言語の種類を格納したテーブル(Japanese, English など、項目名をLanguageとして解説します)
2. 各見出し、項目名など翻訳したい内容のテーブル(Kuya_Japanさんの掲示されている内容)
これらのテーブルと実際のデータテーブルとは紐づけせずにロードします。
1のテーブルでLanguageフィルタを作ります。項目欄のフィールドの設定で、「1個の値を常に選択」をチェックしておきます。
選択されているLanguageが入る変数を作ります。変数 = ministring(Language)
あとは、見出しや項目名に数式 =Only({<LanguageIndex = {1}>} [$(vLanguage)]) と記載し、2のテーブルのインデックス番号をSet文で指定し、指定された言語の翻訳文を表示します。Englishが選択されている場合、この数式は、2のテーブルのEnglish列の1番目を表示します。
こうしておくと、言語が増えた場合も、アプリが変更になって翻訳箇所が変わった場合も、テーブルの内容を変更することで対応できます。
文章ではわかりづらいと思いますのでサンプルをつけておきます。
皆様、ありがとうございます。
大変分かりやすい回答で、私でも理解できました。
早速試してみようと思います。