我设计了一个简单的 Azure 数据仓库,我想在其中定期跟踪我的产品库存。此外,我希望能够查看按月、周、日和小时分组的数据,并能够从上到下向下钻取。我定义了 3 个维度:
DimDate
DimTime
DimProduct
我还定义了一个事实表来跟踪产品库存:
FactStocks
- DateKey (20160510, 20160511, etc)
- TimeKey (0..23)
- ProductKey (Product1, Product2)
- StockValue (number, 1..9999)
我的事实样本数据如下:
20160510 20 Product1 100
20160510 20 Product2 30
20160510 21 Product1 110
20160510 21 Product2 35
20160510 22 Product1 112
20160510 22 Product2 28
20160510 23 Product1 120
20160510 23 Product2 31
20160511 00 Product1 150
20160511 00 Product2 29
20160511 01 Product1 95
20160511 01 Product2 40
我需要的是一张随时间变化的产品可用性图表,能够检查总数(其中 x 轴代表小时数),以及按特定产品过滤的能力:
Total - 130, 145, 140, 151, 179, 135
Product1 - 100, 110, 112, 120, 150, 95;
Product2 - 30, 35, 28, 31, 29, 40;
x-> 20,21,22,23,00,01
此外,我需要能够按天和产品钻取和浏览平均可用性(其中 x 轴代表通过DimDate
表格可用的天、周、月、年):
Total - 141.5, 157
Product1 - 110.5, 122.5
Product2 - 31, 34.5
x-> 20160510, 20160511
似乎Power BI
无法按日期进行分组,因为它正在尝试使用聚合函数来获取每日价值,并且无法指定将考虑产品的平均函数(按产品分组)。聚合功能在这里不起作用,Power BI 正在尝试对给定日期的所有产品的所有值求和并获得平均值(例如 20160511):
150+29+95+40 / 4 = 78.5
当我需要以下内容时:
(150+29) + (95+40) / 2 = 157
我只是想让它具有交互性,能够选择产品并轻松向上和向下钻取。请告知我应该如何修改我的仓库结构以支持我的方案。