Forum Discussion
Anonymous
4 years agoNot applicable
Target measure
Hi guys, I'm having dificult to calculate a measure by area. Any one can help me?
Table: "Calendario" (calendar)
Table: "DimKPI" (KPIs)
Table: "FatoIndicadores" (fact)
Table: "FatoMetaIndicadores" (target table)
Visuals:
My measures are "Dynamic Measure Base" and "Dynamic Measure" to calculate fact and "Dynamic Measure Base Goal" and "Dynamic Measure Goal" to calculate the target
Facts Measures:
Dynamic Measure Base =
VAR selected_kpi =
MAX ( DimKPI[chave_datalake] )
VAR selected_fab_kpi =
MAX ( DimKPI[chave_fabrica_kpi] )
VAR numerador =
CONCATENATE ( selected_fab_kpi; "_numerador" )
VAR denominador =
CONCATENATE ( selected_fab_kpi; "_denominador" )
RETURN
SWITCH (
TRUE ();
MAX ( DimKPI[Formato] ) = "Decimal"
&& selected_kpi
IN {
"reclamacoes_totais_ppm";
"reclamacoes_corpos_estranhos_ppm";
"reclamacoes_sensoriais_ppm"
};
DIVIDE (
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = numerador
);
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = denominador
)
) * 1000000;
selected_kpi = "msa";
1
- DIVIDE (
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = numerador
);
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = denominador
)
);
MAX ( DimKPI[Formato] ) = "Decimal"
&& selected_kpi
IN {
"rir_indice_acidente_reportavel";
"produtividade_mo_kg_h";
"custo_total_producao";
"custo_conversao";
"vmw_custo_variavel";
"ffoh";
"custo_materia_prima";
"custo_material_embalagem";
"custo_mao_obra";
"custo_energia";
"custo_depreciacao";
"custo_manutencao";
"custo_gastos_comuns";
"custo_outros_indiretos";
"custo_outros_diretos";
"cogs";
"gastos_fixos";
"waste_by_products_em_kgs_por_ton";
"consumo_agua_em_m2_por_ton";
"green_house_gas_co2_em_kg_por_ton";
"consumo_energia_mj_por_ton";
"rendimento_egrons"
};
DIVIDE (
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = numerador
);
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = denominador
)
);
MAX ( DimKPI[Formato] ) = "Porcentagem"
&& selected_kpi <> "reclamacoes_totais_ppm";
DIVIDE (
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = numerador
);
CALCULATE (
SUM ( FatoIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoIndicadores[chave_fabrica_kpi] = denominador
)
);
selected_kpi = "volume_de_producao_atual_kg"; SUM ( FatoIndicadores[value] ) / 1000;
SUM ( FatoIndicadores[value] )
)Dynamic Measure =
var eixo_atual = max('Calendario'[EIXO]) //str
var ano_atual = max('Calendario'[Ano]) //int
var current_date = TODAY()
VAR TARGET_SELECTED_KPI = MAX('DimKPI'[chave_fabrica_kpi])
VAR chavesimples = MAX(DimKPI[chave_datalake])
VAR lastmonth = FORMAT(EDATE(current_date;-1);"yyyym")
var result =
If(
eixo_atual IN {"Jan"; "Fev"; "Mar"; "Abr"; "Mai"; "Jun"; "Jul"; "Ago"; "Set"; "Out"; "Nov"; "Dez"};
[Dynamic Measure Base];
if(
eixo_atual = format(int(max('Calendario'[Ano]))-1; "0");
calculate(
[Dynamic Measure Base];
all('Calendario');
'Calendario'[Ano] = int(max('Calendario'[Ano]))-1
);
if(
eixo_atual = format(int(max('Calendario'[Ano]))-2; "0");
calculate(
[Dynamic Measure Base];
all('Calendario');
'Calendario'[Ano] = int(max('Calendario'[Ano]))-2
);
if(
eixo_atual = "Meta YTD" && chavesimples IN {"reclamacoes_corpos_estranhos_ppm"; "reclamacoes_sensorial_ppm"; "reclamacoes_totais_ppm"; "eliminacao_modos_defeito"} ;
CALCULATE(
[Dynamic Measure Base Goal];
ALLSELECTED(Calendario);
Calendario[Eixo] = lastmonth);
IF( eixo_atual = "Meta YTD";
CALCULATE(
[Dynamic Measure Base Goal]
;ALLSELECTED(Calendario)
;'Calendario'[Date] <= current_date
);
if(
CONTAINSSTRING(eixo_atual; "Meta") && chavesimples IN {"reclamacoes_corpos_estranhos_ppm"; "reclamacoes_sensorial_ppm"; "reclamacoes_totais_ppm"; "eliminacao_modos_defeito"} ;
CALCULATE(
[Dynamic Measure Base Goal];
ALLSELECTED(Calendario);
Calendario[Mes] = 12);
IF( CONTAINSSTRING(eixo_atual; "Meta");
CALCULATE(
[Dynamic Measure Base Goal]
;ALLSELECTED(Calendario)
);
if(
eixo_atual = "Real...";
CALCULATE(
[Dynamic Measure Base];
ALLSELECTED('Calendario')
);
if(
eixo_atual = "GAP" &&
NOT(
ISBLANK(
CALCULATE(
[Dynamic Measure Base Goal];
ALLSELECTED('Calendario')
)
)
);
ABS(
CALCULATE(
[Dynamic Measure Base];
ALLSELECTED('Calendario')
)
-
CALCULATE(
[Dynamic Measure Base Goal];
ALLSELECTED('Calendario')
)
)
)
)
)
)
)
)
)))
return
if(isblank(result); 0; result)
Target Measures
Dynamic Measure Base Goal =
VAR selected_fab_kpi =
MAX ( DimKPI[chave_fabrica_kpi] )
VAR numerador =
CONCATENATE ( selected_fab_kpi; "_numerador" )
VAR denominador =
CONCATENATE ( selected_fab_kpi; "_denominador" )
VAR selected_kpi =
MAX ( DimKPI[chave_datalake] )
RETURN
SWITCH (
TRUE ();
MAX ( DimKPI[Formato] ) = "Decimal"
&& selected_kpi
IN {
"rir_indice_acidente_reportavel";
"produtividade_mo_kg_h";
"custo_total_producao";
"custo_conversao";
"vmw_custo_variavel";
"ffoh";
"custo_materia_prima";
"custo_material_embalagem";
"custo_mao_obra";
"custo_energia";
"custo_depreciacao";
"custo_manutencao";
"custo_gastos_comuns";
"custo_outros_indiretos";
"custo_outros_diretos";
"cogs";
"gastos_fixos";
"waste_by_products_em_kgs_por_ton";
"consumo_agua_em_m2_por_ton";
"green_house_gas_co2_em_kg_por_ton";
"consumo_energia_mj_por_ton";
"reclamacoes_totais_ppm";
"rendimento_egrons"
};
DIVIDE (
CALCULATE (
SUM ( FatoMetaIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoMetaIndicadores[chave_fabrica_kpi] = numerador
);
CALCULATE (
SUM ( FatoMetaIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoMetaIndicadores[chave_fabrica_kpi] = denominador
)
);
MAX ( DimKPI[Formato] ) = "Porcentagem";
DIVIDE (
CALCULATE (
SUM ( FatoMetaIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoMetaIndicadores[chave_fabrica_kpi] = numerador
);
CALCULATE (
SUM ( FatoMetaIndicadores[value] );
REMOVEFILTERS ( DimKPI );
FatoMetaIndicadores[chave_fabrica_kpi] = denominador
)
);
SUM ( FatoMetaIndicadores[value] )
)Dynamic Measure Goal =
var eixo_atual = max('Calendario'[EIXO])
return
If(
eixo_atual IN {"Jan"; "Fev"; "Mar"; "Abr"; "Mai"; "Jun"; "Jul"; "Ago"; "Set"; "Out"; "Nov"; "Dez"};
[Dynamic Measure Base Goal];BLANK())3 Replies
- AnonymousNot applicable
The relationship
- AnonymousNot applicable
You have to fix the code in "Dynamic Measure Base Goal" with "MAX(FatoMetaIndicadores[area]) = MAX(FatoIndicadores[area]);"
CALCULATE ( SUM ( FatoMetaIndicadores[value] ); REMOVEFILTERS ( DimKPI ); MAX(FatoMetaIndicadores[area]) = MAX(FatoIndicadores[area]); FatoMetaIndicadores[chave_fabrica_kpi] = numerador ); CALCULATE ( SUM ( FatoMetaIndicadores[value] ); REMOVEFILTERS ( DimKPI ); MAX(FatoMetaIndicadores[area]) = MAX(FatoIndicadores[area]); FatoMetaIndicadores[chave_fabrica_kpi] = denominador ) );- AnonymousNot applicable
I tryed this but it doesn't work