(0) exportieren Drucken
Alle erweitern

Beispiele für Planungs- und Budgetberechnungen für BI-Planungslösungen und -Szenarien

SharePoint 2010

Veröffentlicht: 27. Januar 2011

Beispiele für Planungs- und Budgetberechnungen

Cubeberechnungen

Es folgt ein Beispiel einfacher Berechnungen in MdxScript für das Personalbudgetmodell.

Basislohnberechnung

Berechnen Sie den Basislohn von auf Stundenbasis entlohnten Mitarbeitern basierend auf der Anzahl der gearbeiteten Stunden und des Stundenlohns entsprechend der Entgeltgruppe.

// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES) 
  , [Measures].[Value]
);

[Metric].[Metrics].[Base] =

CASE [Metric].[Metrics].[PayGrade]
  WHEN 1 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[1])
  WHEN 2 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[2])
  WHEN 3 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[3])
  WHEN 4 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[4])
  WHEN 5 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[5])
  WHEN 6 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[6])
  WHEN 7 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[7])
  WHEN 8 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[8])
  ELSE NULL
END;

END SCOPE;

Provisionsberechnung

Berechnung zum Bestimmen der geschätzten Provision basierend auf dem Basislohn.

// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES) 
  , [Measures].[Value]
);
// Benefit averaged out to 25% of base
[Metric].[Metrics].[Benefit] = [Metric].[Metrics].[Base] * 0.25; 

END SCOPE;

Berechnung der Gesamtvergütung

Berechnung der Gesamtvergütung basierend auf Basislohn und Provision.

// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES) 
  , [Measures].[Value]
);

// Total = base + benefits
[Metric].[Metrics].[Total] = [Metric].[Metrics].[Base] + [Metric].[Metrics].[Benefit]; 

END SCOPE;

Berechnungen gespeicherter Prozeduren

Für viele Planungslösungen ist eine Währungsumrechnungsregel erforderlich, mit deren Hilfe Finanzdaten in mehrere Währungen umgerechnet werden. Nachfolgend wird ein Beispiel einer Währungsumrechnungsregel untersucht, die über eine gespeicherte Prozedur implementiert wird. Zum Durchführen der Währungsumrechnung wird Folgendes benötigt:

  • Wechselkurstabelle mit Umrechnungskursen von einer Quell- in eine Zielwährung und einem Zeitraum.

  • Eine Faktentabelle mit allen Werten, die umgerechnet werden müssen.

Da wir mit einem Modell arbeiten, das für das Speichern von Wechselkursen entworfen wurde, kann dessen Faktentabelle als Wechselkurstabelle verwendet werden.

T-SQL für Währungsumrechnung

SELECT 
a.MemberName [Account]
,t.MemberId [Time]
,s.MemberName [Scenario]
,g.MemberName [Geography]
,c.MemberName [CurrencyType]   
,g.[Input Currency]
,g.[Reporting Currency]
  ,Fact.[Value]   
  ,ExchangeRate.Value [Exchange Rate]
  ,Fact.[Value]*ExchangeRate.Value [Calculated]
 FROM [dbo].[F_Financial Consolidation_CoreMG_Writeback] Fact
 INNER JOIN D_Account a
 ON Fact.AccountID = a.MemberId
 INNER JOIN D_Time t
 ON Fact.TimeID = t.memberid
 INNER JOIN D_Scenario s
 ON Fact.GeographyID = s.MemberId
 INNER JOIN D_Geography g
 ON Fact.ScenarioID = g.MemberId
 INNER JOIN d_currencyType c
 ON Fact.currencyTypeID = c.MemberId 
 ---
 --- Currency Join
 ---
 INNER JOIN
 (SELECT 
 sc.MemberName [Source]
 ,dc.MemberName [Destinatation] 
 ,t.MemberId [Time]
 ,[Value]
 FROM [F_Exchange Rates_CoreMG_Writeback] ef
 INNER JOIN D_SourceCurrency sc
 ON sc.MemberId = ef.SourceCurrencyID
 INNER JOIN D_DestinationCurrency dc
 ON dc.MemberId = ef.DestinationCurrencyID
 INNER JOIN D_Time t
 ON t.MemberId = ef.TimeID 
 WHERE sc.MemberId <> dc.MemberId) ExchangeRate
ON ExchangeRate.Source = g.[Input Currency]
AND ExchangeRate.Destinatation = g.[Reporting Currency]

Änderungsverlauf

Datum Beschreibung

27. Januar 2011

Erstveröffentlichung

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft