Power BI - 使用 Switch 计算小计

问题描述 投票:0回答:1

我有一个使用 Switch 来获得不同结果的方法。 我遇到的问题是,如果我单独按 Switch 的值之一过滤对象,我将获得结果,但不会获得小计。

我告诉你:

在此输入图片描述

在第 1 点,有我选择的级别(都是费用)。 在点矩阵中,我可以单独看到它,但看不到小计(级别“I”)。

我给你展示一下措施:

Neto Analitica Unitario = IF(OR(SELECTEDVALUE(Analitica[Nivel1]) = "COSTE INDIRECTO CAMPO", SELECTEDVALUE(Analitica[Nivel1]) = "COSTE INDIRECTO SALIDAS"), CALCULATE([Neto Analitica Unitario Prev.]),SUMX(values(Articulo[FamiliaSuperior]), [Neto Analitica Unitario Prev.]))

这一措施取决于我们有开关的地方:

Neto Analitica Unitario Prev. = VAR _Calculo = SWITCH (
SELECTEDVALUE ( Analitica[Nivel1] ),
"VENTAS", DIVIDE([Total Venta Analitico], [Peso Neto Salidas]),
"COSTE DIRECTO ENTRADAS", [Coste Unitario Directo Entradas Año Natural],
"COSTE DIRECTO SALIDAS", DIVIDE( [Coste Directo Salida], [Peso Neto Salidas]),
"MARGEN BRUTO",
    ROUND(DIVIDE([Total Venta Analitico], [Peso Neto Salidas]),2)
        - ROUND([Coste Unitario Directo Entradas Año Natural],2) 
            - ROUND(DIVIDE( [Coste Directo Salida], [Peso Neto Salidas]),2),
"COSTE INDIRECTO SALIDAS", DIVIDE([Coste Indirecto Salidas] * ( -1 ), [Peso Neto Salidas]),
"COSTE INDIRECTO CAMPO", DIVIDE([Coste Indirecto Campo], [Peso Neto Salidas Proveedor Interno]) * (-1),
"COSTE DIRECTO CAMPO",[Coste Unitario Directo Campo Prev.],
"MARGEN NETO",
   ROUND(CALCULATE(ROUND(DIVIDE( [Total Venta Analitico], [Peso Neto Salidas]),2)
    - ROUND([Coste Unitario Directo Entradas Año Natural],2)
        - ROUND(DIVIDE( [Coste Directo Salida], [Peso Neto Salidas]),2)
             - ROUND(DIVIDE([Coste Indirecto Salidas] * ( -1 ), [Peso Neto Salidas]),2)
                + ROUND(DIVIDE([Coste Indirecto Campo], [Peso Neto Salidas Proveedor Interno]),2)
                    -  ROUND([Coste Unitario Directo Campo Prev.],2)),2))
        RETURN IF([Peso Neto Salidas] <> BLANK(), _Calculo, BLANK())

你知道我如何获得小计吗?会不会是表之间的关系有问题?

powerbi
1个回答
0
投票

SUMX
包裹起来,类似于:

daxNeto Analitica Unitario Prev. = 
  var _Calculo =
    SUMX(
      DISTINCT(Analitica[Nivel1]),
      (
        SWITCH( Analitica[Nivel1],
          ...
        )
      )
    )

  return IF([Peso Neto Salidas] <> BLANK(), _Calculo, BLANK())
© www.soinside.com 2019 - 2024. All rights reserved.