【问题标题】:Filter mdx query result过滤 mdx 查询结果
【发布时间】:2016-02-28 23:42:27
【问题描述】:

我有一个返回如下结果的 MDX 查询:

客户 |商店 |销售

一个 |商店_1 | 123.45

一个 |商店_2 | 234.56

B |商店_2 | 345.67

B |商店_3 | 456.78

C |商店_1 | 543.21

C |商店_3 | 654.32

查询的结果应该如何显示每个客户仅显示第一行的结果:

一个 |商店_1 | 123.45

B |商店_2 | 345.67

C |商店_1 | 543.21

更新: 实际查询

SELECT

  [Measures].[Sales] ON COLUMNS,

  NON EMPTY(
  [Customers].[User].[User], [Stores].[Store].[Store]
  ) ON ROWS

FROM SALES

【问题讨论】:

  • 请将您的 mdx 脚本添加到问题中

标签: ssas mdx


【解决方案1】:

如果我运行这个:

SELECT 
  [Measures].[Internet Sales Amount] ON 0
 ,
    [Product].[Category].[Category]
  * 
    [Customer].[Customer Geography].[Country] ON 1
FROM [Adventure Works];

我得到以下信息:

如果我只想要每个类别的 first,我需要执行以下操作:

WITH 
  SET [cats] AS 
    [Product].[Category].[Category] 
  SET [cats_country] AS 
    Generate
    (
      [cats] AS S
     ,
        S.Current
      * 
        Head(NonEmpty([Customer].[Customer Geography].[Country],S.Current))
    ) 
SELECT 
  [Measures].[Internet Sales Amount] ON 0
 ,[cats_country] ON 1
FROM [Adventure Works];

结果如下:

【讨论】:

  • 谢谢。它适用于我的目的。性能不太好,但会尝试找到改进的地方。有什么想法吗?
猜你喜欢
  • 2022-10-14
  • 1970-01-01
  • 2012-04-20
  • 2019-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多