我有一个用尺寸定义的立方体:
措施:
每周都会推出一组精选产品(即“在售”)。我试图写的查询是,在给定的时间点,过去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,pehaps?)。
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
您可以创建一组元组 - 只要集合中的每个元组具有相同的维度:
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];