【问题标题】:MDX query different combinations of different dimensionsMDX查询不同维度的不同组合
【发布时间】:2015-04-01 00:04:16
【问题描述】:

我有一个用维度定义的立方体:

  • 日期(年、月、周、日)
  • 产品

和措施:

  • 销售额
  • 单位

每周都会推广一组精选产品(即“特价”)。我正在尝试编写的查询是,在给定时间点,过去 n 周内所有促销商品的总销售额和销售量是多少。

我可以轻松编写一个查询来获取这些值一周 - 它看起来像这样:

SELECT
   NON EMPTY { [Measures].[Sales Amount], [Measures].[Units] } ON COLUMNS
FROM
   [Cube]
WHERE
   (
      { [Product].[Product].[Product].&[ProductA], [Product].[Product].[Product].&[ProductB] },
      [Date].[Week].[Week].[Week 8]
   )

我无法在 MDX 中表达的是,“第 8 周,给我这些产品的销售额,第 9 周给我这些其他产品的销售额”,等等。

在多维数据集中没有以任何方式对所推广产品的概念进行建模。我曾考虑过这样做,但我不确定如何实现(也许是 SCD?)。

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: ssas mdx


    【解决方案1】:

    您可以创建一组元组 - 只要该组中的每个元组具有相同的维度:

    SELECT 
      NON EMPTY 
        {
          [Measures].[Sales Amount]
         ,[Measures].[Units]
        } ON 0
     ,NON EMPTY 
        {
          (
            [Product].[Product].[Product].&[ProductA]
           ,[Date].[Week].[Week].[Week 8]
          )
         ,(
            [Product].[Product].[Product].&[ProductB]
           ,[Date].[Week].[Week].[Week 9]
          )
        } ON 1
    FROM [Cube];
    

    如果您想查看每个层次结构中所有可能的现有组合,或者只是交叉连接每个层次结构中的所有成员:

    SELECT 
      NON EMPTY 
        {
          [Measures].[Sales Amount]
         ,[Measures].[Units]
        } ON 0
     ,NON EMPTY 
        [Product].[Product].MEMBERS * [Date].[Week].MEMBERS ON 1
    FROM [Cube];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      相关资源
      最近更新 更多