矩阵中自定义双 header 的错误值

wrong values with customized double header in matrix

我为 header 使用自定义计算的 table,这是我之前问题的答案:

度量 AN 是在以下脚本中计算的: dimensionmeasure 的目标是计算 fact_an 12 个月累计的行数,其中 Fact_AN[Vitesse_Transf_Mois]<= SELECTEDVALUE(Dim_VieillissementAN[ID_Tranche])

  AN = 

VAR a = SELECTEDVALUE(Dim_DateFicheAgent[ID_DateFicheAgent])
VAR b =SELECTEDVALUE('Seniority banking'[banking seniority])
RETURN

CALCULATE(
COUNTROWS(FILTER(Fact_AN;

     (Fact_AN[banking seniority]<=b && NOT ISBLANK (Fact_AN[banking seniority]))));
         DATESBETWEEN (
        Dim_DateFicheAgent[ID_DateFicheAgent];
        NEXTDAY ( SAMEPERIODLASTYEAR (LASTDATE ( Dim_DateFicheAgent[ID_DateFicheAgent] ) ));
        LASTDATE ( Dim_DateFicheAgent[ID_DateFicheAgent] )

))

度量 DimensionMeasure returns 错误的值,矩阵中所有中间值几乎相同。

如何更正?

我使用星型模式,这意味着;我只有一个事实 table fact_an。 table 事实通过 code_produit 链接到 dim_produit。 tabledim_produit的描述:

Codeproduit Dim5Rapport   Dim6rapport

我试试

   Formules = 
VAR Top1 = SELECTEDVALUE ( EnteteRapportAgentClient[Top] )
VAR Middle = SELECTEDVALUE ( EnteteRapportAgentClient[Middle] )
VAR BottomIndex = SELECTEDVALUE ( EnteteRapportAgentClient[Index3] )
VAR Val =
    SWITCH (
        TRUE ();
        Top1 = "Nombre de leads"; [Lead]+ 0;
        Top1 = "Affaires nouvelles" && BottomIndex <> 0; [AN]+0;
        Middle = "Total AN";[AN]+ 0;
        Middle = "Taux Transfo"; DIVIDE([AN];[Lead])
    )
VAR ValF=

     IF(   Middle = "Taux Transfo";
        FORMAT ( Val; "0.0%" );
        FORMAT ( Val; "0" ))
VAR Val2=
     IF (ValF="0";"";ValF
    )RETURN Val2

但是returns总是报错。我在这里举个例子https://drive.google.com/file/d/1i5HEnpoJ5mgEl98xUZzPFo7D6S0C-_tm/view?usp=drivesdk

AN 的错误值returns到处都是相同的值

这是预期的结果:

这里的关键是您需要将 header 上下文作为过滤器上下文传递给您的度量。

例如,代替行

Top1 = "Affaires nouvelles" && BottomIndex <> 0, [AN]+0,

您需要将 [AN] 替换为

CALCULATE ( [AN], Dim_Produit[Dim5Rapport] = Middle, Dim_Produit[Dim6Rapport] = Bottom )

哪里

VAR Middle = SELECTEDVALUE ( EnteteRapportAgentClient[Middle] )
VAR Bottom = SELECTEDVALUE ( EnteteRapportAgentClient[Bottom] )

同样适用于所有不同的计算。如果 header 是基于您的实际尺寸而不是人工构造的 header.

,您需要设置您期望的过滤器上下文