Erstellen Sie eine beliebige Reihenfolge von Elementen in der Liste der Dimensionen und Kennzahlen der Excel-Pivot-Tabelle für das Tabellenmodell des SSAS-Cubes

  • Tutorial
Wenn Sie sich mit einem Würfel beschäftigen mussten, in dem die Anzahl der Maße und Abmessungen von über 9000 und drei Bildschirmen nicht ausreichen, dann haben Sie wahrscheinlich auch gehört, dass Benutzer über die Unannehmlichkeiten bei der Arbeit mit diesem Monster stöhnen. Denn Benutzer arbeiten oft mit den gleichen Abmessungen, ohne die fast kein Muster möglich ist. Aufgrund der Besonderheit von Excel, der alle Elemente im Bereich der Pivot-Tabellenfelder alphabetisch sortieren möchte, sind diese beliebtesten Objekte häufig in der Liste verstreut und werden mit den anderen (selten verwendeten) Elementen gemischt.


Sie müssen zehnmal in der Liste nach oben und unten blättern, während Sie versuchen, einen Filter in drei Feldern (Datum, Produkt, Kunde) zu installieren. Jeden Tag damit zu arbeiten, sind keine Nerven genug.

Die Lösung ist banal und nicht neu - das Hinzufügen eines Symbols oder einer Zahl am Anfang der Messungsnamen, wodurch die Reihenfolge beeinflusst wird.

Aber die Nutzer sind eine Seite der Medaille, dieser Ansatz ist für sie bequem. Aber was ist mit den Entwicklern?
Immerhin sollte es so sein: Sie schreiben den Namen der Messung in die Formel, aber das Studio fordert Sie auf, richtig? Das ist nur bei Dopsymbols der Fall, alles sieht im Code aus, sagen wir mal ... nicht so sehr. In VS2017 haben wir bereits eine Suche nach Einträgen durchgeführt, und in früheren war dies nicht der Fall, und ich musste den Kalender nicht mit dem Buchstaben K , sondern mit der Nummer 5 schreiben , weil 5. Anfragen in anderen Programmen müssen ohne Aufforderungen geschrieben werden und merken, welche Ziffer in welcher Dimension oder in welchem ​​Feld eine andere Quest ist.



Wenn Sie die Reihenfolge ändern müssen, müssen Sie die Tabelle oder das Feld tatsächlich umbenennen. Wenn dieses Feld in einer Formel verwendet wird, korrigiert das Studio die Formel. Wenn es Dutzende von Formeln gibt (und es gibt immer Dutzende davon), wird die Hälfte des Modells in Git hervorgehoben, da das Studio wirklich alle Formeln fixiert hat, während ich einfach die Felder in der Sortierreihenfolge vertauschen wollte. Anfragen in anderen Quellen (außerhalb des Studios) werden vollständig zusammenbrechen. Extrem unangenehm!

Es gibt aber eine Lösung.

Im tabellarischen Modell können jedoch, wie im mehrdimensionalen, Übersetzungen hinzugefügt werden. Wir werden sie benutzen.

Die Übersetzung wird durchgeführt, indem eine .json-Datei mit Text aus dem .bim-Modell entladen, bearbeitet und anschließend wieder in das Modell geladen wird. In Visual Studio können Sie jedoch keine Datei für die russische Sprache hochladen, wenn das Modell ursprünglich russisch ist (im Allgemeinen kann die Übersetzung für die Basissprache des Modells nicht entladen werden). Sie können aber auch andere ausladen! Die heruntergeladene Datei sollte mit einem beliebigen Texteditor bearbeitet werden, der Unicode unterstützt. Dabei wird en-US durch ru-RU ersetzt . Als nächstes verwenden Sie das Spezialprogramm SSAS Tabular Translator





Bearbeiten Sie die Namen (aber Sie können auch in einem Notizbuch arbeiten, wenn Sie möchten, ist dies eine Meisterschaft). Wir importieren unsere Datei zurück in das Vuyale-Projekt.Die Übersetzung hat einen weiteren erheblichen Vorteil: Von der Json-Datei werden nur modifizierte (übersetzte) Zeilen in das Modell geladen, nicht die gesamte Datei, und nur die Übersetzung wird gespeichert. Selbst wenn eine neue Dimension oder ein neues Maß angezeigt wird und Sie vergessen, sie zu "übersetzen", wird nichts kaputt gehen, sondern es wird einfach in Excel angezeigt. Sie können natürlich nicht all diese Manipulationen mit dem Ersatz von ru-RU durch en-US durchführen, aber dann müssen Benutzer die Verbindung zur Datenquelle neu konfigurieren, indem Sie die Ländereinstellungsoption Englisch hinzufügen. Es gibt eine Funktion



















Nachdem wir dem Modell eine Übersetzung für die Basissprache hinzugefügt haben, kann diese nicht ohne vorherige Vorbereitung gelöscht werden.



Höchstwahrscheinlich ist es unwahrscheinlich, dass dies erforderlich ist, aber wenn Sie es nicht können, aber stark wollen, können Sie dies tun.

Öffnen Sie den Projektmappen- Explorer , klicken Sie mit der rechten Maustaste auf die .bim-Datei des Modells, und wählen Sie Gehe zu Code. Suchen Sie



im Code nach der ru-RU-Zeile , jedoch nicht nach der am Anfang der Datei, sondern am Ende der Datei, und korrigieren Sie sie in en-US





Wir reparieren, speichern, öffnen das Modell erneut im Entwurfsmodus und überprüfen es.



Wie Sie wissen, handelt es sich hierbei um eine undokumentierte Funktion, und Sie entscheiden, ob Sie sie auf eigene Gefahr und Risiko verwenden.

Jetzt auch beliebt: