Invoice Date
2 つの日付とを持つファクト テーブルがありAccounting Current Date
ます。要求された収益値を取得するには、これら 2 つの日付の組み合わせを使用する必要があります。たとえば、YTD 収益が必要な場合は、次のように選択する必要があります。
(注: 私は SQL クエリに慣れているので、SQL クエリを書いています)
SELECT Revenue
FROM
Fact_Revenue
WHERE
Invoice_Date <= '2011-10-22'
and AccountingCurrent >= '2011-01'
and AccountingCurrent <= '2011-10'
このファクト テーブルには、Revenue 以外にも必要な情報が含まれていますが、この他のデータの計算には必要ありませんAccounting Current Date
。したがって、私の考えは、メインの MDX クエリで 1 つの日付 ( ) のみを使用して ( Invoice Date
1 つのクエリでできるだけ多くのデータを取得できるようにするため)、収益を計算するために計算メンバーを使用し、そこで関連付けたいと考えています。Accounting Current Date
選択しInvoice Date
た
例えば
SELECT {[Measure].[RevenueYTD],
[Measure].[RevenueMTD],
[Measure].[NumberOfInvoices],
[Measure].[NumberOfPolicies]}
ON COLUMNS,
{[People].Members} ON ROWS
FROM [Cube]
WHERE
[Invoice Date].[Date Hierarchy].[Date].&[2011-10-22]
この場合、[Measure].[RevenueYTD]
andはクエリの日付よりも低く、制限する必要があります[Measure].[RevenueMTD]
。一方、部分的な請求日 (または MTD 日付など) が必要ですが、Accounting Current Date
Invoice Date
[Measure].[NumberOfInvoices]
[Measure].[NumberOfPolicies]
Accounting Current Date
計算メンバー クエリは次のようにする必要があります (これはアルゴリズムに似ています)。
ROUND(
SUM(
YTD([Accounting Current Date].[Date Hierarchy].CurrentMember),
[Measures].[Revenue]
),
2)
WHERE [Invoice Current Date].[Date Hierarchy] < [Invoice Current Date].[Date Hierarchy].CurrentMember