我必须首先承认我是 Analysis Services 的新手,但现在必须使用新维度扩展现有的复杂多维数据集。因此,即使不说我什至没有计划如何开始,也很难说出我的问题出在哪里。好的,我会尝试告诉我想要实现的目标。
给定的是一个带有命名计算“返回”的数据源视图。其表达式为:
CASE WHEN fimaxActionCode IN (1, 2, 3, 4, 5, 8, 9, 12, 14, 17, 18, 20, 21, 22, 23, 24, 25, 30, 31, 32, 35) THEN
'yes'
ELSE
'no'
END
fiMaxActionCode是一个外键,'Returns' 的旧规则是,当它的 maxActionCode 是上述之一时,Claim(main measuregroup) 是一个Return 。新规则是,当其maxActioncode是上述之一但没有先前具有 fimaxActionCode IN (8, 10, 11, 13, 19, 23, 24, 26, 27, 28, 29, 30、33、34、36、37)。先前的声明是具有相同 SSN_Number 且 Repair_Completion_date < 此声明的 TOP(1) 声明。现在我的问题(希望有人明白我的意思):如何创建这个新维度?我的第一个想法是创建一个新的命名查询“PreviousClaim”:
SELECT TOP (1) claim.iddata as ClaimID,PreviousClaim.idData as prevClaimID, PreviousClaim.fimaxActionCode, Claim.Repair_Completion_Date as ClaimRepDate, PreviousClaim.Repair_Completion_Date as PrevClaimRepDate
FROM tabData AS PreviousClaim LEFT OUTER JOIN
tabData AS Claim ON PreviousClaim.idData <> Claim.idData
WHERE (PreviousClaim.fimaxActionCode IN (8, 10, 11, 13, 19, 23, 24, 26, 27, 28, 29, 30, 33, 34, 36, 37)) AND (PreviousClaim.fiClaimStatus IN (1, 4, 254, 255, 6))
AND (PreviousClaim.SSN_Number = Claim.SSN_Number) AND (PreviousClaim.Repair_Completion_Date < Claim.Repair_Completion_Date)
ORDER BY PreviousClaim.Repair_Completion_Date DESC;
然后我想在 Claim-Table-Datasourceview 中创建一个新的命名计算,检查它是否有“不规则的先前声明”。这是要走的路还是我走错了路?
编辑:另一个问题:我将如何查询这个命名查询?我可以定义参数变量fe:
AND (Claim.iddata=@ClaimID)
问候,蒂姆