Filteren jaren uit BalanceLinesPerPeriodCostAnalysis

Naar aanleiding van: Filteren data bij laden in Azure Data Factory - #3

Als ik alle data vanaf 1 januari 2020 van de tabel XML.BalanceLinesPerPeriodCostAnalysis@eol wil hebben, moet ik dan als Query voor de OData-feed het volgende gebruiken?

$filter=COSTCENTER_COSTANALYSIS_PERIOD_PERIODS_YEAR_REPORTINGYEAR_ATTR ge 2020

Nee, alleen dit filter is niet voldoende. Gebruik hiervoor daarnaast altijd een filter op PREVYEARS (zie Filteren op Division in OData voor Power Query op Exact Online XML tabel - 2 van forums):

Aantal jaren saldi opvragen

Merk op dat standaard voor twee jaren de saldi teruggegeven worden. Meer jaren kunnen opgevraagd worden met een filter op prevyears zoals:

where  prevyears = 10

BalanceLinesPerPeriodCostAnalysis en BalanceLinesPerPeriod zijn speciale API’s; tot wel 100x sneller dan de nieuwe Exact Online REST-tabellen voor saldi en ook vele malen minder API-calls, maar ook wat onhandiger in het gebruik.

Moet de filter op PREVYEARS in dezelfde query worden gebruikt? Of moet deze op een andere plek binnen Azure Data Factory worden gebruikt?

Gebruik is zoals getoond in het SQL-statement: als additioneel filter.

Als ik deze filter in de Query van Azure Data Factory probeer toe te passen door de volgende query te runnen:

$filter=COSTCENTER_COSTANALYSIS_PERIOD_PERIODS_YEAR_REPORTINGYEAR_ATTR ge 2019 where prevyears = 4

dan geeft Data Factory een error.

Het getoonde filter is geen filter volgens de OData-specificaties. Gelieve aan de hand van de specificaties een geldig filter samen te stellen. Een aantal praktische tips hiervoor zijn te lezen op How to filter data from OData query on Azure Data Factory?.

Zelfs met deze documentatie krijg ik geen correcte filter opgesteld. Bestaat er een juiste operator die meer jaren opvraagt (net zoals prevyears)? Zo ja, waar kan ik deze vinden?

Er bestaan zowel in OData als meeste talen geen eenvoudige operatoren die een dergelijke dubbel filter implementeren. Advies is om de stappen uit de bovengenoemde documentatie te volgen of een vergelijkbaar filter in Power BI te maken en resultaat te bekijken in Bridge Online.

1 like

Ik zal de stappen in de documentatie proberen te volgen, echter heb ik het filter in Azure Data Factory nodig en niet in Power BI. Maakt dit een groot verschil?

Power BI genereert een OData verzoek. Hier kan in Bridge Online Monitoring de URL van ingezien worden. Zie ook bovenstaande documentatielink.

Een bericht is gesplitst naar een nieuw topic: Vraag prevyears

Deze vraag is automatisch gesloten na tenminste 2 weken inactiviteit nadat een mogelijk passend antwoord is gegeven. Het laatste gegeven antwoord is gemarkeerd als oplossing.

Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.