SSASキューブの表形式モデルのExcelピボットテーブルのディメンションとメジャーのリストに要素の任意の順序を作成します。

測定値と測定値の数が9000を超え、これに対応するのに十分な3つの画面がないキューブを処理する必要がある場合は、確かに、このモンスターを操作する不便さについてユーザーのうめき声も聞こえました。 結局のところ、ユーザーはほとんどの場合、同じ測定で作業しますが、これなしではほとんどサンプルができません。 ただし、 ピボットテーブルのFieldsにあるすべての要素をアルファベット順に並べるのが好きなExcelの特性のため、これらの最も人気のあるオブジェクトは、リスト全体に散らばっており、他の(まれに使用される)要素と混在しています。


3つのフィールド(日付、製品、クライアント)にフィルターを設定しようとすると、リストを10回上下にスクロールする必要があります。 これで毎日作業するのは十分な神経ではありません。

解決策は平凡であり、新しいものではありません-ディメンション名の先頭に記号または数字を追加し、それによって順序に影響を与えます。

しかし、ユーザーはコインの片側であり、このアプローチに満足しています。 しかし、開発者はどうですか?
結局のところ、それは次のようになっているはずです。式でディメンションの名前を書き始めると、スタジオがヒントを与えますよね? しかし、追加の文字の場合にのみ、コード内をすべて見ることができます。 VS2017では、エントリの検索が既に行われましたが、前のエントリではそうではなく、文字Kではなく、数字5カレンダーを作成する必要がありました 。 他のプログラムのクエリは、プロンプトなしで記述し、どの次元またはフィールドのどの桁が他のクエストであるかを言及する必要があります。



順序を変更する必要がある場合、実際にはテーブルまたはフィールドの名前を変更する必要があり、このフィールドが式で使用されている場合、スタジオは式を修正します。 数式が数十個ある場合(そして常に数十個ある場合)、モデルの半分がGitで強調表示されます。これは、スタジオがすべての数式を実際に修正したためです。 他のソース(スタジオ外)でのリクエストはまったく失敗します。 非常に不快です!

しかし、方法があります。

ただし、表形式モデルでは、多次元モデルと同様に、翻訳を追加することができます。 それらを使用します。

翻訳は、テキストを含む.bimモデルから.jsonファイルをアンロードし、編集してからモデルにアップロードすることで実行されます。 ただし、モデルが元々ロシア語である場合、Visual Studioはロシア語のファイルのアップロードを許可しません(一般に、モデルのベース言語の翻訳はアンロードできません)。 しかし、他のものはアンロードできます!



アップロードされたファイルは、 en-USru-RUに置き換えて、Unicodeをサポートするテキストエディターを使用して編集する必要があります。

次に、特別なSSAS Tabular Translatorプログラムを使用して、名前を編集できます(ただし、必要に応じてノートブックで編集できます)。



ファイルをプロジェクトにインポートして戻します



ブヤリヤ



翻訳には別の重要なプラスがあります:

.jsonファイルから、変更された(翻訳された)行のみがモデルにロードされ、ファイル全体ではなく、翻訳のみが保存されます。 したがって、新しいディメンションまたはメジャーが表示され、それを「翻訳」することを忘れても、何も壊れず、Excelにそのまま表示されます。

もちろん、これらすべての操作をru-RUのen-USに置き換えることはできませんが、ユーザーは英語のロケールオプションを追加してデータソースへの接続を再構成する必要があります。

機能があります

ベース言語の翻訳をモデルに追加した後、事前の準備なしでは削除できません。



ほとんどの場合、これが必要になることはほとんどありませんが、ご存じのように、できなくても本当に必要な場合はできます。

ソリューションエクスプローラーを開き、モデルの.bimファイルを右クリックして、[ コードに移動]項目を選択します



コードでは、 ru-RU行を探しますが、ファイルの先頭のではなく、末尾に近いを探し、 en-USで修正します。





設計モードでモデルを修正、保存、再発見し、チェックします



ご存知のように、これは文書化されていない機能であり、自己責任で使用することにします。

Source: https://habr.com/ru/post/J427863/


All Articles