【问题标题】:order by in mdx query在 mdx 查询中排序
【发布时间】:2015-02-11 06:14:30
【问题描述】:

我只想按列中的一个元素排序,但我已经编写的代码按两个元素排序:

这是我的查询:

SELECT 
  NON EMPTY 
    {
      CrossJoin
      (
        [Data Zameldowania].[Data zameldowania].[Miesiac slownie]
       ,[Data Zameldowania].[Rok].[Rok]
      )
    } ON 0
 ,NON EMPTY 
    {[Pokoj].[Typ].[Typ]} ON 1
FROM [Hurtownia Danych]
WHERE 
  [Measures].[Rezerwacja Count];

这是我的查询的输出:

这是我尝试做的,但它不起作用:

  NON EMPTY 
    Order
    (
      {
        CrossJoin
        (
          [Data Zameldowania].[Data zameldowania].[Miesiac slownie]
         ,[Data Zameldowania].[Rok].[Rok]
        )
      }
     ,desc
    ) ON 0

只能通过“[Miesiac slownie]”订购吗?如果是这样,我能做些什么来实现这一目标?我将非常感谢您的帮助!

【问题讨论】:

  • 对不起,我没有看到任何条款的订单
  • @ercpap 在我的查询中没有 order by,但我在输出图片下添加了一部分查询 order by。
  • 那么,如果您在查询末尾添加:“ORDER BY [Miesiac slownie]”,它会起作用吗?
  • 不,不是。我收到以下错误:分析器:由于模棱两可,无法识别指令方言。
  • @ercpap 这个查询是 MDX,不是 SQL

标签: sql-server mdx analysis


【解决方案1】:

试试这个:

在查询前添加:

WITH MEMBER [MEASURES].[X] AS
    [Data Zameldowania].[Data zameldowania].[Miesiac slownie].membervalue 

然后将您的命令 sn-p 修改为:

NON EMPTY 
Order
(
    [Data Zameldowania].[Data zameldowania].[Miesiac slownie] *
    [Data Zameldowania].[Rok].[Rok],
 [MEASURES].[X]
 ,bdesc  //<< changed to break natural hier order
) ON 0

第二次尝试。请尝试使用成员名称属性。所以试试下面的

在查询前添加:

WITH MEMBER [MEASURES].[X] AS
    [Data Zameldowania].[Data zameldowania].[Miesiac slownie].CurrentMember.PROPERTIES("Name")

然后将您的命令 sn-p 修改为:

NON EMPTY 
Order
(
    [Data Zameldowania].[Data zameldowania].[Miesiac slownie] *
    [Data Zameldowania].[Rok].[Rok],
 [MEASURES].[X]
 ,bdesc  //<< changed to break natural hier order
) ON 0

【讨论】:

  • 仍然相同的结果列 [Miesiac slownie] 的顺序不正确。
  • [Miesiac slownie] 是会员吗?还是层次结构?
  • 好的 - 我已经添加了第二次尝试,它应该按照[Miesiac slownie]的成员姓名的字母顺序排列
  • 是的 miesiac slownie 是一个等级制度。我的层次结构看起来像:[Data Zameldowania].[Data zameldowania].[Rok] 或 [Miesiac slownie] 或 [dzien slownie]
  • 我编辑了一点你的提议,它对我来说非常有效!我将成员更改为 [Data Zameldowania].[Data zameldowania].CurrentMember.Name 并且为了将 bdesc 更改为 basc 。另外我有一个问题,是否有更好的选择来显示层次结构中的信息?我想显示来自 3 的 2 个元素的信息(来自层次结构 [Data Zameldowania].[Data zameldowania],所以这就是我使用交叉连接的原因?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 2014-07-07
相关资源
最近更新 更多