Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Voor de blog van vandaag wil ik een niet ongebruikelijke situatie bespreken met veel van mijn adviesopdrachten voor de Canadese overheid, waar mijn klanten eisen dat alle publicaties tweetalig zijn of beschikbaar zijn in beide officiële talen, Engels en Frans. Ik laat je zien hoe ik een meertalig LuckyTemplates-rapport maak voor deze zelfstudie. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Hoewel er wat extra infrastructuur en ontwikkeling nodig was, kon dit gemakkelijk worden bereikt met SSRS-rapporten. Maar er zijn enkele beperkingen als u hetzelfde probeert te doen met LuckyTemplates.
Ik wil een gedeeltelijk handmatige oplossing laten zien die ik onlangs heb gebruikt, en ik ben geïnteresseerd in hoe anderen met hetzelfde probleem zijn omgegaan, dus aarzel niet om uw ervaringen achter te laten in de opmerkingen hieronder.
Inhoudsopgave
De twee gebieden van een meertalig LuckyTemplates-rapport
Bij het ontwikkelen van meertalige rapporten zijn er twee hoofdgebieden waarvoor vertaalde waarden nodig zijn: de rapportgegevens en de rapportlabels .
Wat de gegevens betreft, als men belast is met het produceren van meertalige rapporten, kan men hopelijk toegang krijgen tot een gegevensbron die al de vertalingen van gegevenstekstwaarden bevat. Wat de labels betreft, is vaak een aparte vertaalinspanning nodig.
Het voorbeeld dat ik vandaag laat zien, gebruikt een meertalige benadering met oplossingen voor het presenteren van rapporten in het Engels, Frans of Spaans. Ik heb een kleine set met voorbeeldgegevens gemaakt, maar neem alstublieft alle vertalingen met een korreltje zout.
Ik zeg niet dat dit de juiste vertalingen zijn, maar ze zijn eerder het resultaat van eenvoudige online vertaalhulpmiddelen. De vertalingen hier zijn alleen bedoeld om de techniek te illustreren en worden gepresenteerd voor puur educatieve doeleinden.
Gegevensvereisten van een meertalig LuckyTemplates-rapport
We hebben een opslagplaats van de te presenteren gegevens en vertalingen, en een Excel-werkmap met een tabblad voor elk gegevenstype.
Eerst hebben we een tabel nodig voor de talen die we gaan ondersteunen...
… en nog een tabblad voor de vertalingen van de labels die in het rapport zullen worden gebruikt.
Vervolgens hebben we vertalingen nodig voor de kolommen die we in onze visuals gaan gebruiken.
En tot slot hebben we een gegevensbron nodig waarin niet al onze feitentabelrijen de dimensie-informatie bevatten, maar de sleutels tot de dimensies.
En dan hebben we een set dimensies nodig met vertalingen voor alle tekenreekswaarden in elk van de talen die we gaan ondersteunen.
De gegevens laden naar LuckyTemplates
Dat was het voor de gegevens. Laten we nu onze gegevens laden en modelleren in LuckyTemplates. We openen de powerquery en we kunnen zien dat we een tabel hebben voor elk van de tabbladen die eerder in de Excel-spreadsheet stonden.
Ik heb ook de van het LuckyTemplates-forum geladen.
Datamodellering
Laten we naar de modelleringsweergave gaan en kijken naar het eenvoudige gegevensmodel dat we hebben. Hier zien we een standaard watervallay-out met afmetingen bovenaan , feitentabel in het midden , meettabellen aan de rechterkant en ondersteunende tabellen aan de onderkant .
Vervolgens hebben we een reeks vertaalmaatregelen nodig, één voor elk label dat we in ons rapport gaan weergeven. Deze maatregelen houden rekening met de taal die is geselecteerd in onze taalslicer en retourneren vervolgens de juiste waarde voor de geselecteerde taal.
Hier is een voorbeeld. Dit is geenszins een geoptimaliseerde DAX ; maar eerder een maatregel geschreven voor de duidelijkheid.
Deze maatregel doet drie dingen. Eerst stelt het de naam in van het label dat we gaan berekenen. Het zoekt alle drie de waarden voor het label op en gebruikt vervolgens een eenvoudige logica om het juiste labelvolume te retourneren.
Een single-select slicer maken voor de taalcodes
Laten we eens kijken naar onze basispagina-instelling, de Engelse pagina. Het eerste dat we moeten doen, is een enkele select-slicer toevoegen aan de pagina voor de beschikbare taalcodes.
U kunt zien hoe de taalcode uit de tabel Talen komt en hoe deze is ingesteld voor een enkele selectie.
De navigatieknoppen toevoegen
Het volgende dat we gaan doen is drie navigatieknoppen toevoegen in de rechterbovenhoek van het rapport.
Laten we het selectievenster openen, vervolgens de koptekstgroep openen en op de knop voor Frans klikken. We kunnen zien dat deze knop een actietype voor paginanavigatie heeft en als bestemming de Franse pagina.
Hetzelfde geldt voor Spaans. Het actietype is paginanavigatie en de bestemming is de Spaanse pagina.
Het titelvak toevoegen
Het volgende dat we gaan doen is een titeltekstvak toevoegen. Klik gewoon op het tekstvak op het tabblad Home en voeg een waarde toe voor de titel van het rapport.
Vervolgens voegen we voor de tweede waarde de ondertitel toe.
We kunnen nu zien dat de waarden zijn veranderd als we van de ene taal naar de andere overschakelen.
Een visuele kaart toevoegen
Dan gaan we hier een kaartvisual toevoegen.
Met deze kaart gaan we de geselecteerde taalcode eraan toevoegen.
Zet dan Categorie uit , en zet Titel aan .
Voor de titeltekst gebruiken we de optie om te selecteren op basis van een van mijn vertaalmaatregelen en hebben we een label voor de titel van de taalkaart.
We kunnen opnieuw zien dat de waarde verandert afhankelijk van de taal die op de slicer is geselecteerd.
Ten slotte voegen we een tabel toe voor de transacties. Ik heb de kolommen Transactie-ID en Datum al toegevoegd .
We zullen ook de vertaalmaatregelen voor Product, Status, Provincie, Land en Continent toevoegen.
We hebben hier ook de titel Transactietabel gebruikt.
Nadat we de gegevenswijzigingen hebben verwerkt en onze basispagina voor het Engels hebben gemaakt, dupliceren we deze voor het Frans en hernoemen we deze naar French2 .
We zullen dan de taalslicer wijzigen en kunnen zien dat de gegevens op de juiste manier veranderen. Dit betekent dat de oplossing tot nu toe dynamisch blijft.
Maar het is je misschien opgevallen dat de kolomnamen in de transactietabel nog steeds in het Engels zijn. Hier moeten we wat handmatig werk doen door de kolomnamen afzonderlijk te wijzigen en de tekst in het veldvenster te bewerken.
Als we teruggaan naar onze vertaalspreadsheet, bedenk dan dat we een tabblad hebben voor kolommen en dat we de vertalingen hebben voor de verschillende kolomnamen.
We pakken de Franse tekst die overeenkomt met de Engelse kolom en bewerken de naam op de juiste manier. Eerst doen we de productkolom door die waarde te selecteren en te kopiëren...
… Ga dan terug naar LuckyTemplates en plak de waarde om de productkolom te wijzigen van Product naar Produit.
We zullen hetzelfde doen voor Status. We gaan terug naar de spreadsheet en kopiëren het Franse woord voor status naar het klembord...
... plak het dan in het deelvenster Velden.
Het hele proces is een kopieer- en plakbewerking en we herhalen dit voor de overige kolommen en ook voor de Spaanse pagina.
Een meertalig LuckyTemplates-rapport publiceren
Om de installatie van de PBX af te ronden, zorgen we ervoor dat we slechts één zichtbare pagina in het Engels hebben, terwijl de Franse en Spaanse pagina's verborgen zijn.
Nu gaan we aan de slag en implementeren we het rapport in onze meertalige werkruimte in de LuckyTemplates-service.
Als we klaar zijn, gaan we naar de LuckyTemplates-service en openen we het rapport dat we zojuist hebben geïmplementeerd.
We hebben onze navigatieknoppen in de rechterbovenhoek. Als ik op Frans of Spaans klik, wordt het rapport correct gepresenteerd in de geselecteerde taal.
Het rapport wijzigen voor één taal
Dus wat we hier hebben is een enkel rapport dat de gebruiker kan kiezen om te bekijken in zijn voorkeurstaal. Maar er kunnen ook gevallen zijn waarin de gebruiker dat niet wil en liever direct een taalspecifiek rapport opent.
In dat geval kunnen we gebruikmaken van het enkele rapport dat we al hebben en er drie exemplaren van bewaren, één in het Engels, één in het Frans en één in het Spaans. We kunnen dan elk rapport om de beurt openen en de navigatieknoppen verwijderen. We moeten ook elk rapport aanpassen om ervoor te zorgen dat alleen de juiste taal zichtbaar is.
We kunnen het betreffende rapport rechtstreeks openen in de LuckyTemplates-service.
Voors en tegens van elke meertalige rapportagemethode
De single report oplossing maakt gebruik van één rapport. Dus alle code staat op één plek en er is maar één PBX om bij te werken. Het gebruikt een enkele dataset, dus de gegevens worden maar één keer geladen. Het heeft wel een aantal beperkingen. Het is statisch en er is handmatige inspanning nodig om de namen bij te werken. Als er ook toekomstige updates zijn, moet de gebruiker na het openen de gewenste taal selecteren.
Voor de oplossing met meerdere rapporten is er minder werk voor de eindgebruiker en kunnen ze onmiddellijk het gewenste rapport openen. Aan de kant van de beperking maakt het gebruik van meerdere rapporten, zodat de code wordt herhaald en de verschillende versies ook niet synchroon kunnen lopen.
De oplossing met meerdere rapporten gebruikt een kopie van de dataset voor elke taal, dus het is ook onwenselijk vanuit het oogpunt van de serviceruimte. Een andere beperking is dat het meer werk is voor de ontwikkelaar omdat de basisversie moet worden bijgewerkt. Telkens wanneer er ontwerpwijzigingen zijn, moet het volledige implementatieproces voor meerdere rapporten worden herhaald.
Mijn persoonlijke voorkeur gaat uit naar de single report methode, maar uiteindelijk is de juiste oplossing een zakelijke beslissing en wordt deze bepaald door de klant.
Conclusie
Ik hoop dat je iets hebt geleerd van deze tijdelijke oplossing voor het presenteren van een meertalig LuckyTemplates-rapport. Als je genoten hebt van de inhoud die in deze specifieke tutorial wordt behandeld, abonneer je dan op het TV-kanaal en bekijk de rest van onze website, waar genoeg bronnen zijn om je LuckyTemplates-vaardigheden naar een hoger niveau te tillen.
Greg
Wat is zelf in Python: voorbeelden uit de echte wereld
Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.
In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.
Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.
Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.
Wat is LuckyTemplates Gateway? Alles wat u moet weten