使用顺序切片减少多维数据集维度

时间:2018-04-30 10:31:34

标签: sql mdx dax cube ssas-tabular

我在一个立方体中有数据,分为5个轴:

  • 来源(数据提供者)
  • GEO(国家)
  • 产品(A或B)
  • 项目(销售,生产,销售国家)
  • 日期

简而言之,我为不同的Product,Item,GEO和Date提供了多个数据提供程序,即不同的多维数据集切片。 并非所有“来源”都涵盖所有日期,产品和国家/地区。有些人会有更多的最新信息,但这将是初步的。

问题的核心是综合所有消息来源所说的内容。

重要的是,多维数据集的每个“切片”的数据选择都由用户/分析师提供,并且需要如此(提供商方法,质量等的业务知识)。

我正在寻找的是一种创建包含所有计算类型的“中心字典”的方法。

这样的字典会像这样组织:

 Operation          Source      GEO Item    Product     Date_start  Date_end
Assign              Source3     ITA Sales   Product_A   01/01/2016  01/01/2017
Assign              Source1     ITA Sales   Product_A   01/01/2017  last
Assign with %delta  Source2     ITA Sales   Product_A   01/01/2018  last

这意味着:

  • 从2016年1月至2017年1月,ProdA在意大利销售,采取Source 3
  • 从1月17日到最后一次,请使用Source 1
  • 从1月18日到最后一次可用,从源2
  • 获取现有的,在时间上添加%差异

数据和计算是示例,还有其他更复杂的,但它的要点是将“源”5维立方体的切片放入“目标”4维立方体中,并使用一组顺序计算。

在SQL中,它相当于一堆过滤的SELECT + INSERT,但计算的复杂性可能会导致许多嵌套的JOINS。

该解决方案很可能是自定义功能,但我想知道是否有人知道DAX / MDX以外的语言或软件可以通过最少的自定义来实现这一目标吗?

非常感谢

0 个答案:

没有答案