Sql 根据15分钟和1小时间隔的原始数据计算公式的基本BI问题?
我是BI新手,我正在从事一个项目,我相信这个项目可以帮助我获得使用这项技术的经验。我现在研究的公式是最简单的 我们有15分钟的数据,有大量的计数器。我目前正在一个名为[Counter15MinityDataRaw]的表中存储,如下所示:Sql 根据15分钟和1小时间隔的原始数据计算公式的基本BI问题?,sql,tsql,ssas,business-intelligence,bids,Sql,Tsql,Ssas,Business Intelligence,Bids,我是BI新手,我正在从事一个项目,我相信这个项目可以帮助我获得使用这项技术的经验。我现在研究的公式是最简单的 我们有15分钟的数据,有大量的计数器。我目前正在一个名为[Counter15MinityDataRaw]的表中存储,如下所示: Id City Date Hour Minute KpiValue Counters InsertDate 108823 Miami 20140930 9 0 100.
Id City Date Hour Minute KpiValue Counters InsertDate
108823 Miami 20140930 9 0 100.00 Auto 2014-09-30 12:17:07.580
108824 NYC 20140930 9 0 0.50 Added 2014-09-30 12:17:07.580
108825 Vegas 20140930 9 0 12.00 Att 2014-09-30 12:17:07.580
108826 Miami 20140930 9 0 40.00 Man 2014-09-30 12:17:07.580
108823 Miami 20140930 9 15 100.00 Auto 2014-09-30 12:17:07.580
108824 NYC 20140930 9 15 0.50 Added 2014-09-30 12:17:07.580
108825 Vegas 20140930 9 15 12.00 Att 2014-09-30 12:17:07.580
108826 Miami 20140930 9 15 40.00 Man 2014-09-30 12:17:07.580
这是原始数据。我要研究的第一个公式是[TotalPopulation],它看起来是这样的:[TotalPopulation]=Q+Auto+Man/400。Q等于正在处理的四分之一的数量,即15分钟间隔Q=1,1小时间隔Q=4
因此,我的首要要求是创建一个报告,以15分钟和1小时的间隔显示每个城市的[总人口]
所以我已经创建了[DimDate]和[DimCity]两个表,尽管我认为它们在计算15分钟间隔和1小时间隔时不会有帮助。此外,我是否可以使用事实表的原始数据,或者我是否需要按城市和计数器将数据分组(在本例中为自动和人工)到一个新的事实表中
所以我的问题是:我需要15分钟和1小时间隔的维度表吗?我的事实表会是什么样子?我还需要Q变量的dim表吗?是的,您可以创建一个维度间隔,只包含两个值15,0。将此维度链接到Facttable分钟字段
使用维度在前端筛选结果。对日期和间隔使用单独的维度表。如果包含时间间隔,甚至15分钟的时间间隔,则日期维度将变得太大 不要聚合事实表中的数据,始终使用粒度数据以满足所有分析需求:您始终可以聚合粒度数据,但反之则不正确。然后,您可以使用聚合来提高性能,或者使用OLAP聚合 最后,我认为不应该对Q使用dim,因为Q指的是区间值的不同聚合级别,所以您将以事实表中具有不同聚合级别的行结束。在事实表中混合不同的粒度是一种非常糟糕的做法,因为报表开发人员在请求数据时容易出错,而且数据很快就会变得难以维护 这些确实是经典的BI问题,并在Kimball的书籍或论文中有深入的记录