mdx中的计算和显示问题 输出 负总数实际总数 营销(费用)广告12月Barlens实际24010.44 24010.44 营销(收入)折扣12月Barlens实际43380.4-43380.40 营销(收入)促销12月巴伦斯实际18.91 18.91 营销(收入)销售赞助12月Barlens实际9181.32-9181.32 营销(费用)总计12月Barlens实际24010.44 24010.44 营销(收入)总额12月Barlens实际52542.81-52542.81 /*在这里,营销(收入)被转换为+值(即-43380.40,-9181.32转换为43380.49181.32),但18.91值是+收入,所以我不想显示它。同样,营销(费用)和营销(收入)两个总数分别显示,但我想将它们显示在一行中,因此总数应为24010.44+43380.4+9181.32=76572.16*/ 具有 成员[计量][负总计]为 案例 当([Measures].[Total])

mdx中的计算和显示问题 输出 负总数实际总数 营销(费用)广告12月Barlens实际24010.44 24010.44 营销(收入)折扣12月Barlens实际43380.4-43380.40 营销(收入)促销12月巴伦斯实际18.91 18.91 营销(收入)销售赞助12月Barlens实际9181.32-9181.32 营销(费用)总计12月Barlens实际24010.44 24010.44 营销(收入)总额12月Barlens实际52542.81-52542.81 /*在这里,营销(收入)被转换为+值(即-43380.40,-9181.32转换为43380.49181.32),但18.91值是+收入,所以我不想显示它。同样,营销(费用)和营销(收入)两个总数分别显示,但我想将它们显示在一行中,因此总数应为24010.44+43380.4+9181.32=76572.16*/ 具有 成员[计量][负总计]为 案例 当([Measures].[Total]),mdx,Mdx,我在数据显示和计算方面有问题。以下MDX显示所有正总计(MEASURES.total),如果有负总计,则将其转换为+值并相应显示。然而,我的要求是在层次营销中,我有费用和收入,我想显示所有费用和收入都有负值,并从计算中排除正收入。因此,总价值将是每个交易者的所有费用+(-)收入。但目前它是单独计算的,我的意思是,例如trader(barlens)显示总共2个1用于费用,另一个用于营销收入。 你能找到解决办法吗?非常感谢您的帮助,因为过去两周我一直在努力解决这个问题。您可以使用HAVING子句 我

我在数据显示和计算方面有问题。以下MDX显示所有正总计(MEASURES.total),如果有负总计,则将其转换为+值并相应显示。然而,我的要求是在层次营销中,我有费用和收入,我想显示所有费用和收入都有负值,并从计算中排除正收入。因此,总价值将是每个交易者的所有费用+(-)收入。但目前它是单独计算的,我的意思是,例如trader(barlens)显示总共2个1用于费用,另一个用于营销收入。
你能找到解决办法吗?非常感谢您的帮助,因为过去两周我一直在努力解决这个问题。

您可以使用
HAVING
子句

我对您的代码运行感到有点惊讶-看到
currentmember
以您使用它的方式使用它有点奇怪-它是否起到了作用,或者下面给出的结果是否与您相同:

也许附加的
非空的
在您使用它的方式上也是多余的?您可以将所有“在行”部分简化为以下内容:

OUTPUT                              

                                                      Negative Total    Actual Total
Marketing (Expense) Advertising December    Barlens Actual  24010.44    24,010.44
Marketing (Income)  Discounts   December    Barlens Actual  43380.4    -43,380.40
Marketing (Income)  Sale Promot December    Barlens Actual  18.91       18.91
Marketing (Income)  Sale Sponso December    Barlens Actual  9181.32    -9,181.32
Marketing (Expense) TOTAL       December    Barlens Actual  24010.44    24,010.44
Marketing (Income)  TOTAL       December    Barlens Actual  52542.81    -52,542.81

/* Here Marketing (Income) is being converted into + value (ie -43,380.40, -9,181.32 converted to 43380.4,9181.32) but the 18.91 value is + income so i dont want to display it. Again, The two totals Marketing(Expense) and Marketing (income) are displaying separately but i want to display them in a line so the Total should be 24010.44+ 43380.4 + 9181.32=  76572.16 */




WITH 

MEMBER [Measures].[Negative Total] AS
CASE 
   WHEN ([Measures].[Total]) < 0 THEN [Measures].[Total]* -1 /* Actullay i want to display those marketing income has - value so condition should be like this WHEN ([Dim Account].[HierarchyMarketing].[Account Marketing].&[Income]&[Marketing],[Measures].[Total]) < 0 */ 
THEN [Measures].[Total]* -1

      ELSE [Measures].[Total]
END

MEMBER 
[Dim Account].[Account Activity].TOTAL AS
        [Dim Account].[Account Activity].[All]

SELECT 
  NON EMPTY 
    {[Measures].[Negative Total],[Measures].[Total]}
     ON COLUMNS
 ,
NON EMPTY 
 (
    {

        {
            [Dim Account].[HierarchyMarketing].[Account Marketing].&[Expenses]&[Marketing]
            ,
            [Dim Account].[HierarchyMarketing].[Account Marketing].&[Income]&[Marketing]
        }
        * 
            [Dim Account].[Account Activity].[Account Activity].MEMBERS
        ,
        {
            [Dim Account].[HierarchyMarketing].[Account Marketing].&[Expenses]&[Marketing]
            ,
            [Dim Account].[HierarchyMarketing].[Account Marketing].&[Income]&[Marketing]
        }
        * 
            [Dim Account].[Account Activity].TOTAL
    }
,[Dim Fiscal Year].[HierarchyFiscal].[E Month].&[2016]&[December]
    , [Dim Branch].[Trading As].&[BAR]&[Barlens Event Hire]
    , NONEMPTY([Dim Scenario].[Scenario Name].&[Actual]) 

 )
 ON ROWS
FROM [CubeProfitLoss]
与
成员[计量][负总计]为
案例
当(总和([点心账户].[账户营销].[收入].[营销],[度量值].[总计])小于0时,则[度量值].[总计]*-1
当(总和([点心账户][账户营销]、[收入]、[营销]、[计量][总计])大于0时,则为0
其他[措施][总数]
结束
,求解顺序=2
会员[Dim账户].[账户营销].[全部].[营销总费用]作为
聚合(
{
[Dim账户][账户营销]。[费用]和[营销]
,[Dim账户][账户营销]。[收入]和[营销]
}
)    
,求解_顺序=1
成员[Dim帐户][帐户活动]。总计为
[Dim账户][账户活动][全部]
挑选
非空
{[Measures].[Negative Total],[Measures].[Total]}在0上,
非空
{
[Dim账户][账户营销]。[费用]和[营销]
,[Dim账户][账户营销]。[收入]和[营销]
,[Dim账户].[账户营销].[全部].[营销总费用]
}
*[Dim帐户][帐户活动][帐户活动].成员
*[Dim财政年度][Hierarchy财政年度][E月].[2016]和[12月]
*[Dim分行].[Trading As].[BAR].[Barlens事件租用]
*[Dim场景].[Scenario Name]和[Actual]
//有[措施][负总数][措施][总数]
在1号
来自[CubeProfitLoss];

你好,苏拉瓦,为什么?你能看一下吗?有人帮我吗?谢谢你的努力,但还是没有达到预期的效果。你能看一下吗?我刚刚更新了我的答案。现在唯一的问题是错误的总数。如果我使用[Dim Account].[Account Activity].[All]而不是[Dim Account].[Account Activity].CURRENTMEMBER,则会得到相同的结果请尝试为我解决此问题。我被卡住了,请帮我解决这个问题。我被卡住了total@Shamim我有点迷路了。我的三个代码示例中,哪一个最接近您需要的第一个、第二个或第三个?让我删除另外两个,这样我就知道该处理哪一个了。我运行了你的3个代码,所有3个代码都执行相同的输出,就像我在更新的回答中所说的,如果我使用HAVING子句,它将与度量值之间具有不同符号的代码进行比较。总计和度量值。[负总计]你能看到我的最新答案吗?除了总计,差不多完成了。其他
WITH 
 MEMBER [Measures].[Negative Total] AS
   CASE 
      WHEN (SUM([Dim Account].[Account Marketing].&[Income]&[Marketing],[Measures].[Total])) < 0 THEN [Measures].[Total]* -1
      WHEN (SUM([Dim Account].[Account Marketing].&[Income]&[Marketing],[Measures].[Total]))> 0 THEN 0
      ELSE [Measures].[Total]
   END
   ,SOLVE_ORDER = 2
 MEMBER [Dim Account].[Account Marketing].[All].[Total Marketing Expense] AS
    AGGREGATE(
        {
          [Dim Account].[Account Marketing].&[Expenses]&[Marketing]   
         ,[Dim Account].[Account Marketing].&[Income]&[Marketing]
        }
     )    
    ,SOLVE_ORDER = 1   
 MEMBER [Dim Account].[Account Activity].TOTAL AS
  [Dim Account].[Account Activity].[All]
SELECT 
  NON EMPTY 
    {[Measures].[Negative Total],[Measures].[Total]} ON 0,
  NON EMPTY 
    {
       [Dim Account].[Account Marketing].&[Expenses]&[Marketing]   
      ,[Dim Account].[Account Marketing].&[Income]&[Marketing]
      ,[Dim Account].[Account Marketing].[All].[Total Marketing Expense]
    }
    *[Dim Account].[Account Activity].[Account Activity].MEMBERS
    *[Dim Fiscal Year].[HierarchyFiscal].[E Month].&[2016]&[December]
    *[Dim Branch].[Trading As].&[BAR]&[Barlens Event Hire]
    *[Dim Scenario].[Scenario Name].&[Actual]

 //HAVING [Measures].[Negative Total] <> [Measures].[Total]

 ON 1
FROM [CubeProfitLoss];