1
3
您的速度列和值列示例通常不是要用OLAP方式查询的列类型-它们是您尝试检索的值,并且可能是作为单独的行或聚合的结果集中的值。 然而,我说 通常 . 在我们的OLAP模式中,我们有一个很好的列示例,您正在考虑:事件时间(一个日期时间字段,Granualarity为第二个)。在我们的数据中,它几乎是唯一的——在同一秒钟内不会发生两个事件,但是由于我们的表中有多年的数据,这仍然意味着有数亿个潜在的离散值,并且当我们运行我们的OLAP查询时,我们几乎总是希望根据时间范围进行约束。 解决方案是按照大卫·拉兹尼克所说的去做——你创造了一个价值的“有套”版本。因此,在我们的表中,除了“事件时间”列之外,我们还有一个“事件时间”带括号的列,它只是事件的日期,时间部分是00:00:00。这将不同值的计数从数亿减少到几千。然后,在所有约束日期的查询中,我们都约束带括号的列和实列(因为带括号的列不够精确,无法给出实际值),例如:
在这些情况下,最终用户永远不会看到事件“时间加括号”列——它只是用于查询优化。 对于您提到的浮点值,由于您希望选择一种方法,该方法将导致值的分布相对均匀,并保留连续性,所以Bucketing策略可能需要更多的考虑。例如,如果你有一个经典的钟形分布(尾部可能很长),你想定义大部分人口居住的范围(比如,平均值的1或2个标准差),将其划分为统一的桶,并为“所有较小的”和“所有较大的”再创建两个桶。 |
2
1
我发现这个链接很方便 http://www.ssas-info.com/ 查看webcasts部分,在该部分中,您将了解从什么是BI、仓储到设计多维数据集、维度、计算、聚合、关键绩效指标、透视图等各个方面。 在OLAP聚合中,有助于通过具有查询将使用的预先计算的值来减少查询响应时间。然而,存储空间的另一面是增加了,因为除了基本数据之外,存储聚合还需要更多的空间。 SQL Server Analysis Services具有基于使用情况的优化向导,该向导通过分析客户端(报告客户端,如SQL Server Reporting Services、Excel或任何其他客户端)提交的查询并相应地优化聚合设计来帮助聚合设计。 我希望这有帮助。 干杯 |
RRG · 雪花数据仓库模式中的多个公共表? 6 年前 |
Rachel · 如何使用维度中的代理项键填充事实表 6 年前 |
WhatsUp · 数据仓库设计-多个查找值 6 年前 |
user2263025 · Azure SQL数据仓库计算列错误 7 年前 |
boethius · 在包含连接的表上执行增量Sqoop? 7 年前 |
Ahmad Qasim · 如何使用talend获得这样的输出 7 年前 |
dead mah · 有人能帮我解决这个错误吗 7 年前 |