Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Assuntos relacionados a criação de medidas, fórmulas e funções DAX, relacionamentos etc
#66963
Olá pessoal,

Tenho uma tabela com qtd de ordens, tipo, status e colunas de datas diferentes.

Ordens Relatado em Status Inicio Previsto Inicio Efetivo Termino Efetivo Tipo
1083414 22/01/2012 COMP 01/02/2012 02/02/2012 Anomalia
1548367 23/01/2012 COMP 02/02/2012 02/02/2012 Melhoria
1574186 24/01/2012 COMP 23/03/2012 24/03/2012 24/03/2012 Preventiva
1820084 25/01/2012 COMP 24/03/2012 24/03/2012 Corretiva

Dependo do TIPO (Anomalia, melhoria, preventiva, corretiva) eu uso como base uma das datas para realizar a analise. Então eu criei uma dcalendário para padronizar, mas o problema é a que a dcalendário só bate com a data do relatado em, se eu filtro por exemplo Preventiva , a data base deveria ser Inicio Previsto, mas se eu filtro a quantidade de preventivas usando a segmentação dcalendário, o número não é o mesmo se eu filtrasse direto pelo Inicio Previsto.

Gostaria de ajuda para padronizar essas datas e o BI entender a condição que se é anomalia a data que ele se deve basear é Inicio efetivo, se estou falando de preventiva, ele precisa partir do Inicio Previsto

Lembrando que eu tenho um gráfico que preciso relatar os tipos juntos, então por isso tentei padronizar a data

Obs. Testei alterando todas as opções do relacionamento, mas a data que prevalece é sempre a coluna que usei para criar a relação, ou seja, as outras colunas datas da base perdem o real valor.
Imagem
#66987
Conforme a base do Excel, eu tenho um total de 20 ordens, 3 foram relatadas em setembro e as outras em meses anteriores, porém foram executadas em setembro. No BI a dCalendário está relacionada com a coluna relatado em, então no eixo do gráfico, eu uso a dCalendário como data e a qtd de ordens filtrando setembro, porém no gráfico só mostra as 3 que foram relatadas em setembro e eu quero mostrar o acumulado (20), porque na coluna inicio efetivo e termino efetivo tem 17 que foram executadas esse mês o que leva a um total de 20 no mês.

Eu tentei com essa dax, porém quando coloco no gráfico que possuiu um filtro de data do mês vigente (setembro), ela só mostra as 3 e na verdade preciso mostrar as 20

Teste 3 =
VAR DataMin =
MIN('D - Calendário'[Data])
VAR DataMax =
MAX('D - Calendário'[Data])
RETURN
CALCULATE([Qtd Ordem de Serviço],
'Base do Maximo'[Status] IN {"COMP"},
FILTER('Base do Maximo','Base do Maximo'[Início Efetivo] >= DataMin && 'Base do Maximo'[Término Efetivo] <= DataMax)
)
Você não está autorizado a ver ou baixar esse anexo.
#67029
Deve ter uma maneira mais facil, mas veja se dá certo.

Se o tipo for igual a Preventiva, então fazer o relacionamento da dCalendario com a Inicio Previsto e deixar desativado, em seguida crie a medida abaixo
Código: Selecionar todos
Medida1 =
CALCULATE (
    [Qtd Ordem de Serviço],
    KEEPFILTERS ( Tabela[Tipo ] = "Preventiva" ),
    KEEPFILTERS ( Tabela[Status] IN { "COMP" } ),
    USERELATIONSHIP ( dCalendario[Date], Tabela[Inicio Previsto] )
Se o tipo for diferente da Preventiva, fazer a medida abaixo. Ela vai calcular as duas situações.
Código: Selecionar todos
Medida2 =
CALCULATE (
    [Qtd Ordem de Serviçodida1],
    KEEPFILTERS ( 'Base do Maximo'[Tipo ] <> "Preventiva" ),
    KEEPFILTERS ( Tabela[Status] IN { "COMP" } ),
) + [Medida1]
Felipe07 agradeceu por isso
#67038
Obrigado pela resposta Vilmar, eu criei a relação e não ativei, porém ele só me mostra o valor de setembro com essa medida, não traz o acumulado, que no caso seria as 20. Eu tentei adaptar essa medida assim:

Teste 1=
CALCULATE(
[Qtd Ordem de Serviço],
KEEPFILTERS ('Base do Maximo'[Status] in {"COMP"}),
USERELATIONSHIP ( 'D - Calendário'[Data], 'Base do Maximo'[Término Efetivo - Copiar]),
FILTER(ALL('Base do Maximo'[Término Efetivo - Copiar]),'Base do Maximo'[Término Efetivo - Copiar]<=MAX('Base do Maximo'[Término Efetivo - Copiar]
)))


Teste 2=
CALCULATE(
[Qtd Ordem de Serviço],
KEEPFILTERS ('Base do Maximo'[Status] in {"COMP"}),
FILTER(
ALLSELECTED('Base do Maximo'),
ISONORAFTER('Base do Maximo'[Término Efetivo - Copiar], MAX('Base do Maximo'[Término Efetivo - Copiar]), DESC)))

Porém ele só entende as 3 ordens desse mês, não mostra o total (20) que inclui outros meses
#67203
Vilmar escreveu: 19 Set 2021 às 15:33 Deve ter uma maneira mais facil, mas veja se dá certo.

Se o tipo for igual a Preventiva, então fazer o relacionamento da dCalendario com a Inicio Previsto e deixar desativado, em seguida crie a medida abaixo
Código: Selecionar todos
Medida1 =
CALCULATE (
    [Qtd Ordem de Serviço],
    KEEPFILTERS ( Tabela[Tipo ] = "Preventiva" ),
    KEEPFILTERS ( Tabela[Status] IN { "COMP" } ),
    USERELATIONSHIP ( dCalendario[Date], Tabela[Inicio Previsto] )
Se o tipo for diferente da Preventiva, fazer a medida abaixo. Ela vai calcular as duas situações.
Código: Selecionar todos
Medida2 =
CALCULATE (
    [Qtd Ordem de Serviçodida1],
    KEEPFILTERS ( 'Base do Maximo'[Tipo ] <> "Preventiva" ),
    KEEPFILTERS ( Tabela[Status] IN { "COMP" } ),
) + [Medida1]
Obrigado pela resposta Vilmar, eu criei a relação e não ativei, porém ele só me mostra o valor de setembro com essa medida, não traz o acumulado, que no caso seria as 20. Eu tentei adaptar essa medida assim:

Teste 1=
CALCULATE(
[Qtd Ordem de Serviço],
KEEPFILTERS ('Base do Maximo'[Status] in {"COMP"}),
USERELATIONSHIP ( 'D - Calendário'[Data], 'Base do Maximo'[Término Efetivo - Copiar]),
FILTER(ALL('Base do Maximo'[Término Efetivo - Copiar]),'Base do Maximo'[Término Efetivo - Copiar]<=MAX('Base do Maximo'[Término Efetivo - Copiar]
)))
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord