繁体   English   中英

将维度ID连接到事实表

[英]Joining a dimension ID to a fact table

我当前正在填充事实表。 我已经填充了维度表。 我已经填充了事实表中的两列( timeabandoned ),但是我正在努力地填充整个维度的键,这就是call type键。 这样做的原因是要计算出许多属性才能得出密钥。

尺寸表适用于呼叫工作类型。 它包含三列,分别是:

 CallWorkTypeID - CallWorkTypeCode - CallWorkTypeName. 

示例值是

 1 - OutAttemp - Outbound Attempt

我遇到的问题是计算呼叫类型名称,这是计算名称的示例代码,例如,这选择了出站尝试呼叫。

SELECT * from outgoing_measure om 
WHERE om.CTICallType_ID = 3
AND om.CTIAgentCallType_ID = 1
AND om.Abandoned  = 1
AND om.AnsTime IS NULL
AND om.CallState IS NULL

像这样的19种不同场景具有相同的列,但是每种呼叫类型的值都不同。

任何人有任何想法吗? 我以为可能是CASE语句,但不确定代码在联接中如何工作。

如果您还没有映射表或规则表可以帮助您,CASE语句将对此非常有用。 如果您的维度成员已经放在维度表中,则无需进行任何联接。 您可以将它们放在箱子中。

UPDATE f
set thirddimensionforeignkey = CASE
WHEN (cticalltype = 3 and all that other stuff is true) THEN 1
WHEN (some other stuff is true) THEN 2
WHEN (rest of the stuff is true) THEN 19
--ELSE unknownmember
END
FROM yourfacttable as f

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM