Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

In deze zelfstudie wordt besproken hoe u een specifieke datum in uw LuckyTemplates-gegevensrapporten kunt kiezen of filteren . Het materiaal dat in deze tutorial wordt gebruikt, is afkomstig van het . U leert hoe u het probleem oplost en begrijpt de gebruikte methoden. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Inhoudsopgave

Het gegevensrapport in LuckyTemplates begrijpen

Dit is het voorbeeldgegevensrapport dat zal worden gebruikt. Het bestaat uit één tabelvisual en twee slicers.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Het doel is om een ​​datumselectie te hebben boven de kolom Datum op de slicer. Dit betekent dat zodra een datum in de slicer is geselecteerd, de tabelvisualisatie de voorgaande dagen toont met een interval van 7 dagen. In dit voorbeeld zijn de geselecteerde gegevens in de datumslicer 12 mei 2007.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

De tabel moet de vorige tonen met een verschil van 7 dagen tussen de datums.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

U moet ook een wat als-parameter maken om dynamisch het aantal datums weer te geven op basis van de selectie. Als u 3 selecteert , zou de tabelvisual slechts 3 datums moeten tonen.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

De tabel en visualisaties opnieuw maken

De eerste stap is het maken van een wat als -parameter . Ga in de LuckyTemplates-desktop naar het tabblad Modelleren en selecteer Nieuwe parameter .

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Voeg een naam toe aan de parameter en stel het Gegevenstype in op Geheel getal . Stel vervolgens de minimum-, maximum-, verhogings- en standaardwaarden in zoals te zien is in de onderstaande afbeelding. Voeg de slicer toe aan de pagina door het vakje aan te vinken.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Nadat u op OK hebt gedrukt, wordt een slicer gegenereerd. Converteer de slicer naar een lijst door op de vervolgkeuzeknop te klikken en Lijst te selecteren.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Het volgende dat u moet doen, is een gedupliceerde datumtabel maken die zal worden gebruikt als een niet-verbonden datumtabel. Ga naar de Power Query-editor en dupliceer Dates .

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Hernoem vervolgens de duplicaat DisDate en klik op Sluiten en toepassen.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

De datumtabellen en slicers laden in LuckyTemplates

Nadat de gedupliceerde tabel in het LuckyTemplates-model is geladen, maakt u een slicer met de datumkolom uit de ontkoppelde datumtabel. Open de DisDate-tabel en sleep Date naar het canvas.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Verander de visualisatie vervolgens in een slicer.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Wijzig daarna het formaat van de slicer in List . De visualisatie ziet er dan zo uit.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Dupliceer vervolgens de slicer en wijzig het gegevensveld met de kolom Datum uit de tabel Datums.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Als u een datum selecteert in de snijmachine Datums, wordt het aantal zichtbare rijen in de matrix van de tabel Verkoop beperkt. Als u 14 maart 2005 selecteert, toont de matrix alleen die datum.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Het resultaat en de meting zullen niet werken als je deze opstelling gebruikt. De reden is dat nog voordat de maatregel begint te werken, de toegang tot de matrix al is gefilterd. Voor die gefilterde waarden kunt u geen datums met intervallen genereren.

Maateenheden creëren voor de selectieslicers

U moet een set-up van datums maken die de matrix niet direct filtert wanneer een selectie over een slicer wordt geplaatst. De filtering van de matrix moet via de DAX-code komen en niet rechtstreeks uit de slicers. Dus als u een datum selecteert uit de DisDate-slicer, zullen er geen wijzigingen in de matrix optreden.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Dit gebeurt omdat de DisDate-tabel geen relatie heeft met de Dates-tabel. Daarom is de losgekoppelde tafel essentieel.

Verwijder de slicer met de tabel Datums en maak de eerste meting. De meting haalt de waarde op die is geselecteerd uit de slicer Datums om weer te geven. De eerste variabele die u moet maken, is ValuesToShow . Vergelijk het vervolgens met de Datums om te tonen waarde en voer RETURN in om de geselecteerde waarden te retourneren.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Sleep die maat naar de matrix. Als u 6 selecteert in de snijmachine Datums om weer te geven, levert de kolom Meetwaarde in de matrix ook 6 op.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Maak vervolgens een andere variabele aan die de in de slicer geselecteerde datum van verbroken verbinding ophaalt.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Als u klaar bent, ziet u de waarde die is geselecteerd in de DisDate-slicer die wordt weergegeven in de kolom Meten.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Een berekende tabel maken

Maak een lijst met datums met intervallen van 7 dagen vanaf de geselecteerde datum in de slicer. Zorg er vervolgens voor dat de matrix het aantal dagen genereert op basis van de selectie Datums om weer te geven. Om dit te doen, moet u eerst een berekende tabel maken .

De berekende tabel helpt u te visualiseren hoe datums worden gegenereerd in de DAX-code. Ga naar de gegevensweergave en klik op Nieuwe tabel.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Voer de variabele SelectedDate in en stel deze gelijk aan de functie DATE . Voer vervolgens een datum tussen haakjes in. Maak vervolgens een andere variabele die het aantal datums specificeert dat u in de matrix wilt weergeven. Voer DatesToShow in en stel het gelijk aan het aantal datums.

Maak daarna een andere variabele die een lijst met datums genereert met intervallen van 7 dagen. Voer DatesList in en gebruik de functie GENERATESERIES . is een functie die een lijst met getallen genereert door verschillende argumenten door te geven.

Voer voor het eerste argument SelectedDate – (DatesToShow * 7)  in als startwaarde. Voer vervolgens SelectedDate in als de eindwaarde. Voer voor het laatste argument 7 in voor de toenamewaarde of het interval tussen datums. Als u klaar bent, sluit u de functie en voert u RETURN en DateList in .

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

U ziet dan een tabel met zeven waarden vanaf 5 mei en teruggaand in stappen van zeven.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Nu zul je merken dat het te veel datums heeft gemaakt dan je nodig hebt. In het oorspronkelijke voorbeeldrapport was 31 maart de laatste datum die werd weergegeven met dezelfde datums om weer te geven en datumselecties.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Om dit op te lossen, kunt u de waarde van de DatesToShow-variabele wijzigen in 5 of 1 aftrekken van 6. In dit voorbeeld wordt 1 afgetrokken van 6.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Daarna zie je dat de waarden eindigen op 31 maart.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Datums in de filtercontext injecteren

Vervolgens moet u deze datums gebruiken en injecteren in een datumfiltercontext. U moet ook het verkoopbedrag in de filtercontext berekenen. Kopieer dus de GENERATESERIES- syntaxis en ga terug naar uw maat.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Voeg in de meting een nieuwe variabele toe en voer DatesToShow in . Stel die variabele vervolgens gelijk aan de GENERATESERIES- syntaxis. Wijzig de variabelen binnen de syntaxis van SelectedDate in DisSelectedDate en DatesToShow in ValuesToShow .

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Maak ten slotte een variabele voor het resultaat. Vergelijk het met de CALCULATE- functie over de Total Sales en DatesToShow om alle datums die zijn ontvangen van de GENERATESERIES- syntaxis in de filtercontext te injecteren. Als u klaar bent, voert u Result in de RETURN -functie in.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

U zult nu zien dat de matrix niet de datums laat zien waar de DAX-code om vraagt. Als u de Total Sales-maatstaf in de matrix brengt, ziet u dat de code zelf het Sales-bedrag retourneert.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Het probleem met de meting is dat de datum die is gemaakt in de GENERATESERIES- syntaxis een gegevenslijn heeft met de losgekoppelde datumtabel. Dit betekent dat de tabel Datum niet is gekoppeld aan de tabel Verkoop. Dat is de reden waarom de lijst met datums die werd toegepast in de filtercontext, de tabel Verkoop niet omvatte.

U moet de functie gebruiken om virtuele relaties te maken en de filtercontext toe te passen.

TREATAS gebruiken om de datum in LuckyTemplates Matrix vast te stellen

U moet de waarden die zijn ontvangen van de GENERATESERIES- syntaxis behandelen alsof ze deel uitmaken van de oorspronkelijke datumtabel. Dit is eigenlijk het bouwen van een afstamming met de Datum-kolom van de Datum-tabel die in het gegevensmodel staat.

Voer dus in de variabele Resultaat TREATAS in na de tabel Totale verkoop en geef de argumenten op. Geef voor het eerste argument de kolom of tabel op die de relatie niet heeft. In dit geval wordt de kolom DatesToShow gebruikt.

Geef voor het tweede argument de kolom op waaraan u de afstamming van de kolom in het eerste argument wilt toewijzen. In dit voorbeeld wordt de kolom Datum uit de tabel Datums gebruikt.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Maar zelfs met de correcties in de code geeft de kolom Meten in de matrix nog steeds niet de juiste waarden weer bij gebruik van de slicer. U kunt ook opmerken dat de waarden in de kolom zich herhalen.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Het probleem ligt in de manier waarop de code is geschreven. TREATAS past alle waarden toe in de filtercontext en overschrijft de bestaande filtercontext op de geselecteerde datum met alle waarden die zijn opgehaald uit de functie GENERATESERIES .

De KEEPFILTERS-functie gebruiken boven TREATAS

Om ervoor te zorgen dat het filter in het filter wordt geïnjecteerd zonder de bestaande filtercontext te overschrijven, moet u de functie KEEPFILTERS gebruiken. verandert de filtersemantiek van CALCULATE .

Voer KEEPFILTERS in voor de TREATAS- functie en bevestig de meting.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

U zult nu zien dat de waarden in de kolom Meten niet worden herhaald.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Als u de maanden mei en april uitvouwt, ziet u dat de waarden in de kolom Meting gelijk zijn aan de waarden in de kolom Totale verkoop.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Verwijder de maateenheid Totale verkoop in de matrix en selecteer een getal in de slicer Te tonen datums. U ziet dan het equivalente aantal datums dat in de matrix wordt weergegeven.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Problemen met ontbrekende datums in de LuckyTemplates-matrix oplossen

Een ander probleem met dit rapport is dat wanneer u 8 selecteert in de DatesToShow- slicer, de matrix niet verandert.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Als u 9 selecteert in de slicer, toont de matrix slechts 8 datums. U zult ook merken dat 17 maart ontbreekt in de lijst met datums.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

De reden is dat er op sommige dagen in de tabel Datum geen overeenkomende transacties in de tabel Verkoop zijn. De meting retourneert dus een spatie voor die datums. Omdat het blanco retourneert, verwijdert de code die achter de matrix loopt de lege rijen uit het resultaat.

LuckyTemplates gebruikt vervolgens het geretourneerde resultaat om de matrix te vullen. Dus aangezien sommige dagen blanco terugkeren, kunt u de verkopen en boekingen van die dagen niet zien in de matrix.

Als u iets wilt weergeven voor de dagen zonder verkoop in uw gegevens, gaat u terug naar de meting en verwijdert u de CALCULATE- syntaxis.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

DAX gebruiken om ontbrekende datum in LuckyTemplates op te lossen

Maak een gegevenslijn door TREATAS te schrijven over de DatesToShow- en Date- kolom van de Dates- tabel. Controleer vervolgens of alle datums die door de TREATAS- functie worden geretourneerd, zijn opgenomen in de filtercontext.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Splits vanaf daar de uitvoering door meerdere variabelen. Wijzig de naam van de variabele van Result in CreateDataLineage om aan te geven dat het resultaat van TREATAS wordt opgeslagen .

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Maak vervolgens een andere variabele die alle datums bevat die zichtbaar zijn in de filtercontext die uit de matrix komt. Voer VisibleDate in als de naam van de variabele en gebruik in de kolom Datum .

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Het volgende dat u moet doen, is een kolom maken over het resultaat van de TREATAS- functie die het verkoopbedrag zou bevatten. Schrijf DatesWithSales als de naam van de variabele en gebruik over de variabele CreateDataLineage .

Maak binnen de functie een nieuwe kolom en noem deze Verkoopbedrag met de maateenheid Totale verkoop in de rijcontext om de contextovergang te initiëren.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Maak daarna een variabele die zou controleren of alle datums die zijn opgeslagen in de DatesWithSales- variabele zijn opgenomen in de filtercontext. Voer IsDateInFilterContext in als de naam van de variabele en gebruik de functie .

Schrijf vanaf daar DatesWithSales als het eerste argument van de functie. Voer vervolgens Dates[Date] IN VisibleDate in als het tweede argument om te controleren of de datum in de DatesWithSales -tabel is opgenomen in de VisibleDate- variabele.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

De laatste variabele die u moet maken, is Resultaat . Gebruik de functie over de variabele IsDateInFilterContext . Schrijf [@Sales Amount] + 0 om de dagen op te nemen die voorheen niet waren opgenomen.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Daarna zie je de ontbrekende datum, 17 maart, in de matrix.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

+0 gebruiken in de oorspronkelijke maat

De vorige stappen hebben u laten zien hoe u een meting kunt bouwen om alle datums op te nemen die geen transacties hebben in de Feitentabel. Als u nu de + 0 gebruikt in de oorspronkelijke meting die u hebt gemaakt, zijn de waarden in de kolom Meting allemaal 0.

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

Kies een specifieke datum in LuckyTemplates met behulp van DAX-berekening

De reden is dat de resultaatvariabele een blanco of een verkoopbedrag bevat. Dus als u 0 toevoegt, vervangt u de lege rij door 0. Onthoud dat samengevatte kolommen de lege rijen uit de dataset verwijderen. Retourneer ze naar LuckyTemplates zodat ze alleen beperkte rijen kunnen weergeven en niet de lege velden.

Maar aangezien 0 wordt toegevoegd, wordt de samenvattingskolom gedwongen om de rijen te behouden. Vervolgens wordt een tabel geretourneerd die alle datums bevat die voorkomen in de tabel Datums en wordt nul weergegeven waar deze van toepassing is of wanneer deze leeg is.

Dit is de reden waarom u de meting zodanig moet herschrijven dat u alleen 0 hoeft toe te voegen aan de datums die zichtbaar zijn in de filtercontext en die zijn opgenomen in de DatesToShow- variabele.


Power Automate-connectoren: getal, tekst en datum Tijd
Uitgebreide datumtabel Power Query M-functie
Power Query LuckyTemplates | Maak nieuwe records op basis van datumvelden

Conclusie

Als u een gegevensrapport wilt maken waarmee u een specifieke datum in een LuckyTemplates-matrix kunt selecteren , moet u berekende tabellen en DAX-functies gebruiken . DAX-functies en -metingen moeten zo worden geschreven dat ze gemakkelijk resultaten kunnen opleveren.


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

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.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

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.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

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.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

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.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

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.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

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

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten