我正在为olap查找设计一个事实表。目前,我不允许用户运行olap查询,例如自定义维度或切片。我将自己创建查询以运行特定报告。
我的问题是关于这些报告的事实表。我想避免更新现有记录,只是为多个维度插入行。例如:
两个插页:
YEAR AMOUNT
2016 1
2016 1
而不是一个插入,检查是否存在year = 2016,如果存在,则进行一次更新:
YEAR AMOUNT
2016 2
答案 0 :(得分:0)
使用Upsert逻辑如下:
插入源表与目标表的内连接时,在匹配更新金额字段时插入新记录。from("activemq:queueA").throttle(10).to("direct-vm:bla")
答案 1 :(得分:0)
请参阅:
https://dba.stackexchange.com/questions/138409/fact-table-with-blank-dimensions/138515#138515
我面临的问题是试图将所有事实放在一个表格中。我学到了最好的做法是将事实分解为不同的表格,并将列限制为事实所需的最小值。
插入数据的额外工作,但在检索过程中确实得到了回报,这是数据库工作的主要部分。