我正在創建一個多維數據集,其股票值應該只能得出每個月的餘額和值的最後一天。排除SSAS多維數據集中的數據的問題(使用EOMONTH()的SSMS和SSAS中的不同輸出)
因此,我創建了一個SSMS以下查詢:
Create table #theStockTable(
Stock int,
StockValue INT,
DateKey int
)
INSERT INTO #theStockTable
VALUES(3,5, 20170211),
(3,5,20170228),
(1,4,20170331),
(1,4,20170330)
SELECT CAST(CONVERT(varchar, DateKey, 112) AS numeric(8, 0)) AS DateKey, SUM(Stock) AS [CL Stock], SUM(StockValue) AS [CL Stock Value]
FROM #theStockTable
WHERE CONVERT(date, CONVERT(varchar(10), DateKey)) = eomonth(CONVERT(date, CONVERT(varchar(10), DateKey)))
GROUP BY DateKey
在SSMS這將返回正確的值:
DateKey CL Stock CL Stock Value
20170228 3 5
20170331 1 4
然而,當我創建一個使用SSAS OLAP多維數據集,並使用上面的查詢作爲Named Query
爲我的事實表#theStockTable
和相同的查詢作爲我同一事實表的唯一分區,並部署和執行多維數據集,我有一種情況,我每個月的每一天獲得不同的值,但我只想擁有每個月的價值最後一天。
我在SSAS中使用了New Project.. -> Import from Server (multidimensional model or data mining model)
。 重要的是用戶必須能夠按照他們目前的方式瀏覽多維數據集。
已複製元數據的多維數據集包含股票表上的每一天的值。除了我在Edit named Query..
的Data Source View
中完成的查詢修改以及用我的新查詢替換分區中的舊查詢以外,是否還需要更改一些元數據?
希望有人能夠對此有所瞭解。
編輯
爲了澄清我的要求,立方體的一些用戶解釋說,這是相當慢的瀏覽例如Excel中,主要是因爲我的Stock
措施是比它需要更大是。現在,它會返回每個產品和每一天的每個StockValue
和Stock
。我只想包括月份最後一天的StockValue
和Stock
的總餘額。所有其他股票價值是多餘的。
例如,瀏覽我DimDate
維度表與測量Stock
和StockValue
應該有這樣的回報集:
DateKey Stock StockValue
20170131 0 0
,而不是整個返回集現在返回:
DateKey Stock StockValue
20170101 3 5
20170102 4 6
20170103 1 1
20170131 0 0
對不起,以便延遲迴復。不幸的是,我還沒有機會像迄今爲止一樣致力於完成這些任務。根據我的理解,使用此解決方案可以通過使用特定查詢瀏覽多維數據集來獲得預期結果。我正在尋找一種方法來瀏覽具有特定度量屬性的多維數據集。我將嘗試將您的查詢作爲計算成員實施並測試。不過,我現在有一些問題需要部署多維數據集。 – Cenderze