torsdag 26. mars 2015

Lage periodebegrepet som et datofelt i økonomi-marten



Slik det ligger nå er datoformatet på økonomi lagt som tall. Det er ikke helt rett frem å gjøre om dette til en tidsdimensjon siden periodebegrepet i Agresso ikke er en tidslinje, men bl.a. inneholder en periode 0 og en periode 13.

Lasse og Johan på NLSH har funnet en måte å løse dette på i økonomimartet med formelen under. Dette tvinger periodebegrepet til å bli et datofelt.

Lag en ny Calculated Item.

Tekst:
DateFromMDY(( 'Maned'n - ( 'Ar'n * 100 ) ), 1, 'Ar'n)


Husk å endre result type til Date.


onsdag 11. mars 2015

Lage filter som viser verdier for siste 12 måneder eller lignende

Oppdatering: Her er en enklere måte å sette opp dette filteret på.

'Dato'n >= TreatAs(_Date_, ( TreatAs(_Number_, DatePart(Now())) - 365 ))

Der du bytter ut Dato med feltet som inneholder tidsvariabelen din.

Neste utfordrinng blir å kunne håndtere månedsskifter på en god måte sånn at du får hele perioder inn i filteret.

________________________________________________________________________________

Jeg har i lengre tid lett etter et filter som kan vise en graf for siste 12 måneder eller lignende uten at vi trenger å gå inn og justere det.

Jeg har tidligere laget et innlegg for hvordan du kan vise hittil i fjor og hittil i år. Filteret under gjør at filteret kan settes bakover i tid uavhengig av årsskifter.

Den kan nok videreutvikles noe for å sørge å få med hele måneder i periodene bakover, men det er en god start.

Ta utgangspunkt i teksten under og bytt ut teksten "Dato" med variabelen som er periode-variabel i datasettet og 365 med antallet dager bakover i tid du ønsker å filtrere.


TreatAs(_Date_, ( TreatAs(_Number_, 'Dato'n) )) >= TreatAs(_Date_, ( ( TreatAs(_Number_, Now()) / 86400 ) - 365 ))

Hvor skriver du inn dette?

Under fanen "Filters" på høyrepanelet trykker du på advanced og legger inn teksten i fanen "Text".




Jeg plukket opp kodesnutten på https://communities.sas.com/message/222744, men har måttet endre litt på den for å få den til å fungere.