【问题标题】:Total Sum of Calculated member is wrong计算成员的总和错误
【发布时间】:2021-09-13 08:01:53
【问题描述】:

我有桌子:

  • Artikal(英文项目)
  • Grupa(英组)
  • Potrosnja(英语消费)

Potrosnja 是我的 Measure 表,Artikal 是 Dimension。 Grupa 还包含组之间的父子关系。目前,还只是一个层次。在我创建的 Artikal 维度内

层次结构:Grupa.ParentId、Grupa.GrupaId、Artikal.Id。层次结构的名称是 PGA。

这在 Power BI 中表现良好。我还创建了一些计算成员:Cijena LY 和 Vrijednost LY。

我需要创建一个计算成员并且公式是

(Cijena - Cijena LY)* 科利奇纳

首先,我尝试像计算成员一样创建,但我发现我的总数也在像公式总数的公式一样创建。我希望我对这个成员的总数是计算成员列的总和

我尝试使用 SCOPE 执行此操作,但没有得到正确的结果。这是我的脚本:

CREATE MEMBER CURRENTCUBE.[Measures].[Suma razlike] AS null,
VISIBLE = 1;  

SCOPE([Measures].[Suma razlike],[Artikal].[PGA].members);
This =sum(
    Descendants([Artikal].[PGA].CurrentMember,,LEAVES),
    (([Measures].[Cijena]-[Measures].[Cijena LY])*[Measures].[Kolicina]));
END SCOPE;

谁能告诉我我做错了什么?我在 Microsoft 的分析服务中创建了它。

【问题讨论】:

    标签: ssas mdx olap olap-cube


    【解决方案1】:

    Alexei Stoyanovsky 在不同的博客上提供了解决方案:

    问题是创建了隐藏的子选择。我需要创建一组动态的 Artikal。这是解决方案:

    CREATE DYNAMIC SET CURRENTCUBE.[MyTestSet] AS  [Artikal].[Id].[Id].members;    
    SCOPE([Measures].[Suma razlike], [Artikal].[Id].members);    --Includes All + 
    other members
    This = case when [Artikal].[Id].currentmember.level.ordinal>0 then
    ([Measures].[Cijena]-[Measures].[Cijena LY])*[Measures].[Kolicina]
    else
    sum(existing [MyTestSet], ([Measures].[Cijena]-[Measures].[Cijena LY])* 
    [Measures].[Kolicina]) --All member is not included
    end;
    
    FORMAT_STRING([Measures].[Vrijednost - CPI])='Percent'; 
    FORMAT_STRING([Measures].[Postotak razlike])='Percent'; 
    FORMAT_STRING([Measures].[Razlika artikal - CPI])='Percent'; 
    END SCOPE;
    

    【讨论】:

      猜你喜欢
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2019-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多