none
当列维度有多个的时候,怎么进行组内排序(使用Mdx)? RRS feed

  • 问题

  • 如下图,怎么根据第一个数据列([单价合同][上海分公司][amount])的值,对乙方维度(第三个行维度)进行排序呢?那位大侠帮我看一下,小弟拜谢了。

     

    Mdx:   

     with 
     set billstate as  {[BillStateDim].[BillState].[审批中],[BillStateDim].[BillState].[已提交]} 
     set BillType as  {[ContractBillDim].[BillType].[设备租赁合同],[ContractBillDim].[BillType].[物资租赁合同],[ContractBillDim].[BillType].[物资采购合同],[ContractBillDim].[BillType].[设备采购合同]}
     set yifang as  {[YFDim].[MatPurchaseContract].[乙方7],[YFDim].[MatPurchaseContract].[乙方4],[YFDim].[MatPurchaseContract].[乙方1]}

     SELECT {
    CROSSJOIN(
    {[ContractTypeDim].[ContractType].[单价合同],[ContractTypeDim].[ContractType].[总价合同]},
    {[DeptDim].[Dept].[广联达],[DeptDim].[Dept].[北京分公司],[DeptDim].[Dept].[海外市场]},
    {[MEASURES].[Amount]}
    )
    } ON COLUMNS, 
    // {CROSSJOIN(billstate,BillType,order(yifang,[MEASURES].[Amount],asc))} ON ROWS order的第二个参数,我试了这两种,都不对
     {CROSSJOIN(billstate,BillType,order(yifang,([ContractTypeDim].[ContractType].[单价合同],[DeptDim].[Dept].[广联达],[MEASURES].[Amount]),asc))} ON ROWS 
      FROM [ContractTheme] 

    Query Result as follow image:

    SSAS区的我的同一个问题的另外一个帖子 :

    http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/d9b39dd2-3f1c-4ca4-8ddc-c170560daad9/#d9b39dd2-3f1c-4ca4-8ddc-c170560daad9

    2012年8月7日 4:45

全部回复