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