So speichern und laden Sie eine RDS-Datei in R
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
Für den heutigen Blog möchte ich eine nicht ungewöhnliche Situation bei vielen meiner Beratungsaufträge für die kanadische Regierung besprechen, bei der meine Kunden verlangen, dass alle Veröffentlichungen zweisprachig oder in beiden Amtssprachen, Englisch und Französisch, verfügbar sind. In diesem Tutorial zeige ich Ihnen, wie ich einen mehrsprachigen LuckyTemplates-Bericht erstelle. Das vollständige Video dieses Tutorials können Sie unten in diesem Blog ansehen.
Obwohl einige zusätzliche Infrastruktur und Entwicklung erforderlich waren, konnte dies problemlos mit SSRS-Berichten erreicht werden. Es gibt jedoch einige Einschränkungen, wenn Sie dasselbe mit LuckyTemplates versuchen.
Ich möchte eine teilweise manuelle Problemumgehung vorstellen, die ich kürzlich verwendet habe, und bin daran interessiert, wie andere mit dem gleichen Problem umgegangen sind. Bitte hinterlassen Sie Ihre Erfahrungen also gerne im Kommentarbereich unten.
Inhaltsverzeichnis
Die zwei Bereiche eines mehrsprachigen LuckyTemplates-Berichts
Bei der Entwicklung mehrsprachiger Berichte gibt es zwei Hauptbereiche, die übersetzte Werte erfordern: die Berichtsdaten und die Berichtsbezeichnungen .
Wenn man für die Daten mit der Erstellung mehrsprachiger Berichte beauftragt ist, kann man hoffentlich auf eine Datenquelle zugreifen, die bereits die Übersetzungen der Datentextwerte enthält. Für die Beschriftungen ist oft ein gesonderter Übersetzungsaufwand erforderlich.
Das Beispiel, das ich heute vorstellen werde, verwendet einen mehrsprachigen Ansatz mit Lösungen für die Präsentation von Berichten in Englisch, Französisch oder Spanisch. Ich habe einen kleinen Beispieldatensatz erstellt, aber bitte nehmen Sie alle Übersetzungen mit Vorsicht.
Ich behaupte nicht, dass es sich hierbei um geeignete Übersetzungen handelt, sondern dass sie das Ergebnis grundlegender Online-Übersetzungstools sind. Die Übersetzungen hier dienen lediglich der Veranschaulichung der Technik und werden ausschließlich zu Bildungszwecken präsentiert.
Datenanforderungen eines mehrsprachigen LuckyTemplates-Berichts
Wir verfügen über ein Repository mit den zu präsentierenden Daten und Übersetzungen sowie eine Excel-Arbeitsmappe mit einer Registerkarte für jeden Datentyp.
Zuerst benötigen wir eine Tabelle für die Sprachen, die wir unterstützen werden ...
… und eine weitere Registerkarte für die Übersetzungen der Beschriftungen, die im Bericht verwendet werden.
Als Nächstes benötigen wir Übersetzungen für die Spalten, die wir in unseren Visuals verwenden werden.
Und schließlich benötigen wir eine Datenquelle, in der nicht alle Zeilen unserer Faktentabelle die Dimensionsinformationen, sondern die Schlüssel zu den Dimensionen enthalten.
Und dann benötigen wir eine Reihe von Dimensionen mit Übersetzungen für alle Zeichenfolgenwerte in jeder der Sprachen, die wir unterstützen werden.
Laden der Daten in LuckyTemplates
Das war's mit den Daten. Lassen Sie uns nun unsere Daten in LuckyTemplates laden und modellieren. Wir öffnen die Power-Abfrage und sehen, dass wir für jede der Registerkarten, die sich zuvor in der Excel-Tabelle befanden, eine Tabelle haben.
Ich habe auch die aus dem LuckyTemplates-Forum geladen.
Datenmodellierung
Gehen wir zur Modellierungsansicht und schauen uns das einfache Datenmodell an, das wir haben. Hier sehen wir ein Standard-Wasserfalllayout mit Abmessungen oben , Faktentabelle in der Mitte , Maßtabellen rechts und unterstützenden Tabellen im unteren Teil .
Dann benötigen wir eine Reihe von Übersetzungsmaßen, eine für jedes Label, das wir in unserem Bericht anzeigen werden. Diese Maßnahmen berücksichtigen die in unserem Sprach-Slicer ausgewählte Sprache und geben dann den entsprechenden Wert für die ausgewählte Sprache zurück.
Hier ist ein Beispiel. Dabei handelt es sich keineswegs um einen optimierten DAX ; sondern vielmehr eine Maßnahme, die der Klarheit halber geschrieben wurde.
Diese Maßnahme bewirkt drei Dinge. Zuerst wird der Name des Labels festgelegt, das wir berechnen werden. Es sucht nach allen drei Werten für das Label und verwendet dann eine einfache Logik, um das entsprechende Label-Volumen zurückzugeben.
Erstellen eines Single-Select-Slicers für die Sprachcodes
Werfen wir einen Blick auf die Einrichtung unserer Basisseite, also der englischen Seite. Als Erstes müssen wir der Seite einen einzelnen Auswahl-Slicer für die verfügbaren Sprachcodes hinzufügen.
Sie können sehen, wie der Sprachcode aus der Tabelle „Sprachen“ stammt und wie er für eine einzelne Auswahl festgelegt wurde.
Hinzufügen der Navigationsschaltflächen
Als Nächstes fügen wir drei Navigationsschaltflächen in der oberen rechten Ecke des Berichts hinzu.
Öffnen wir den Auswahlbereich, dann die Kopfzeilengruppe und klicken Sie auf die Schaltfläche für Französisch. Wir können sehen, dass diese Schaltfläche den Aktionstyp „ Seitennavigation“ hat und ihr Ziel die französische Seite ist.
Das Gleiche gilt für Spanisch. Der Aktionstyp ist Seitennavigation und das Ziel ist die spanische Seite.
Hinzufügen des Titelfelds
Als nächstes fügen wir ein Titeltextfeld hinzu. Klicken Sie einfach auf der Registerkarte „Startseite“ auf das Feld „Text“ und geben Sie einen Wert für den Berichtstitel ein.
Dann fügen wir für den zweiten Wert den Untertitel hinzu.
Wir können jetzt sehen, dass sich die Werte geändert haben, wenn wir von einer Sprache zur anderen wechseln.
Hinzufügen einer visuellen Karte
Dann werden wir hier ein Kartenvisual hinzufügen.
Mit dieser Karte fügen wir den ausgewählten Sprachcode hinzu.
Schalten Sie dann die Kategorie aus und den Titel ein .
Für den Titeltext verwenden wir die Option zur Auswahl basierend auf einer meiner Übersetzungsmaßnahmen und haben eine Beschriftung für den Titel der Sprachkarte.
Wir können wieder sehen, dass sich der Wert abhängig von der auf dem Slicer ausgewählten Sprache ändert.
Zum Schluss fügen wir eine Tabelle für die Transaktionen hinzu. Ich habe bereits die Spalten „Transaktions-ID“ und „Datum“ hinzugefügt .
Wir werden auch die Übersetzungsmaße für Produkt, Status, Provinz, Land und Kontinent hinzufügen.
Wir haben hier auch den Titel der Transaktionstabelle verwendet.
Nachdem wir die Datenänderungen verarbeitet und unsere Basisseite für Englisch erstellt haben, duplizieren wir sie für Französisch und benennen sie in French2 um .
Anschließend ändern wir den Sprach-Slicer und können sehen, dass sich die Daten entsprechend ändern. Das bedeutet, dass die Lösung bis zu diesem Punkt dynamisch bleibt.
Aber Sie haben vielleicht bemerkt, dass die Spaltennamen in der Transaktionstabelle immer noch auf Englisch sind. Hier müssen wir einige manuelle Arbeit leisten, indem wir die Spaltennamen einzeln ändern und den Text im Feldbereich bearbeiten.
Wenn wir zu unserer Übersetzungstabelle zurückkehren, denken Sie daran, dass wir eine Registerkarte für Spalten und die Übersetzungen für die verschiedenen Spaltennamen haben.
Wir greifen auf den französischen Text zu, der der englischen Spalte entspricht, und bearbeiten dann den Namen entsprechend. Zuerst erstellen wir die Produktspalte, indem wir diesen Wert auswählen und kopieren ...
… Gehen Sie dann zurück zu LuckyTemplates und fügen Sie den Wert ein, um die Produktspalte von „Produkt“ in „Produkt“ zu ändern.
Dasselbe machen wir auch für den Status. Wir gehen zurück zur Tabelle und kopieren das französische Wort für Status in die Zwischenablage ...
… dann fügen Sie es in den Bereich „Felder“ ein.
Der gesamte Vorgang ist ein Kopier- und Einfügevorgang, den wir für die übrigen Spalten und auch für die spanische Seite wiederholen.
Veröffentlichen eines mehrsprachigen LuckyTemplates-Berichts
Um die Einrichtung der PBX abzuschließen, stellen wir sicher, dass wir nur eine sichtbare Seite auf Englisch haben, während die französische und die spanische Seite ausgeblendet sind.
Jetzt machen wir weiter und stellen den Bericht in unserem mehrsprachigen Arbeitsbereich im LuckyTemplates-Dienst bereit.
Sobald wir fertig sind, gehen wir zum LuckyTemplates-Dienst und öffnen den Bericht, den wir gerade bereitgestellt haben.
Wir haben unsere Navigationsschaltflächen oben rechts. Wenn ich auf Französisch oder Spanisch klicke, wird der Bericht entsprechend in der ausgewählten Sprache dargestellt.
Ändern des Berichts für eine einzelne Sprache
Wir haben hier also einen einzigen Bericht, den der Benutzer in seiner bevorzugten Sprache anzeigen kann. Es kann aber auch Fälle geben, in denen der Benutzer dies nicht möchte und lieber direkt einen sprachspezifischen Bericht öffnet.
In diesem Fall können wir den einzelnen Bericht, den wir bereits haben, nutzen und drei Kopien davon speichern, eine auf Englisch, eine auf Französisch und eine auf Spanisch. Anschließend können wir nacheinander jeden Bericht öffnen und die Navigationsschaltflächen löschen. Außerdem müssen wir jeden Bericht ändern, um sicherzustellen, dass nur die entsprechende Sprache sichtbar ist.
Wir können den gewünschten Bericht direkt im LuckyTemplates-Dienst öffnen.
Vor- und Nachteile jeder mehrsprachigen Berichtsmethode
Die Einzelberichtslösung nutzt einen einzelnen Bericht. Der gesamte Code befindet sich also an einem Ort und es muss nur eine PBX aktualisiert werden. Es verwendet einen einzigen Datensatz, sodass die Daten nur einmal geladen werden. Es gibt jedoch einige Einschränkungen. Es ist statisch und die Aktualisierung der Namen erfordert manuellen Aufwand. Wenn es auch zukünftige Updates gibt, muss der Benutzer nach dem Öffnen die gewünschte Sprache auswählen.
Bei der Lösung mit mehreren Berichten entsteht für den Endbenutzer weniger Arbeit und er kann den gewünschten Bericht sofort öffnen. Die Einschränkung besteht darin, dass mehrere Berichte verwendet werden, sodass der Code wiederholt wird und auch die verschiedenen Versionen nicht mehr synchron sein können.
Die Lösung mit mehreren Berichten verwendet eine Kopie des Datensatzes für jede Sprache und ist daher auch aus Sicht des Servicebereichs unerwünscht. Eine weitere Einschränkung besteht darin, dass es für den Entwickler mehr Arbeit bedeutet, da die Basisversion aktualisiert werden muss. Der vollständige Multi-Report-Bereitstellungsprozess muss bei jeder Designänderung wiederholt werden.
Persönlich bevorzuge ich die Einzelberichtsmethode, aber letztendlich ist die geeignete Lösung eine Geschäftsentscheidung und wird vom Kunden diktiert.
Abschluss
Ich hoffe, Sie haben aus dieser Problemumgehung für die Präsentation eines mehrsprachigen LuckyTemplates-Berichts etwas gelernt. Wenn Ihnen der Inhalt dieses speziellen Tutorials gefallen hat, abonnieren Sie bitte den TV-Kanal und schauen Sie sich den Rest unserer Website an, wo es zahlreiche Ressourcen gibt, mit denen Sie Ihre LuckyTemplates-Kenntnisse auf die nächste Stufe bringen können.
Gregor
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
Was ist Self in Python: Beispiele aus der Praxis
In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.
In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.
In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.
Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.
Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.
In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.
Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.
Was ist LuckyTemplates Gateway? Alles was du wissen musst