-
Total de itens
1.398 -
Registro em
-
Última visita
Community Answers
-
Tiago Craici - Xperiun's post in Dica de Visualização de Dados was marked as the answer
Cliente feliz toca o barco eheeheh 👍
-
Tiago Craici - Xperiun's post in Business Case: Análises Comerciais - DAX was marked as the answer
@Bruno Diego De Almeida
Caso atendido seu objetivo, por gentileza marque a Melhor resposta para o tópico, para isso basta ir naquela que mais te ajudou e clicar nas opções conforme print:
-
Tiago Craici - Xperiun's post in Rank Fixo por Dia, Mês e Ano was marked as the answer
Olá @Miguel Costa
No visual você utilizou o campo "Cliente" da tabela fVenda, correto é da dCliente:
Veja como ficou após alteração:
-
Tiago Craici - Xperiun's post in Tabela virtual was marked as the answer
Olá @Lincoln Brant
Veja se atende:
Resultado (em amarelo estava em branco):
EVALUATE ADDCOLUMNS( SUMMARIZECOLUMNS( dim_calendario[Data], dim_unidade[Unidade], dim_hora[cod_horas] ), "Moagem", IF([Total de moagem] = BLANK(), 0, [Total de moagem]) ) -
Tiago Craici - Xperiun's post in Filtros dinamicos was marked as the answer
Olá @Gabriel Reis
Veja se atende seu objetivo...
Resultado:
Medida:
Venda grafico Dias = IF ( ISFILTERED ( dCalendario[Nome do Mês] ) = FALSE (), CALCULATE ( [Total Venda], dCalendario[Ano] = YEAR ( TODAY () ), dCalendario[Mês] = MONTH ( TODAY () ) ), [Total Venda] )
Segue pbix em anexo.
Exemplo Gabriel.pbix
-
Tiago Craici - Xperiun's post in Projeção de Vendas was marked as the answer
lembrando que essa é apenas uma das diversas técnicas...
-
Tiago Craici - Xperiun's post in Filtrar Data dentro contesto atual was marked as the answer
Olá @Jamilson
Veja se atende seu objetivo:
Resultado:
Medida:
Solucao Tiago = SWITCH(TRUE(), SELECTEDVALUE(dCalendario[Ano]) < YEAR(TODAY()), DIVIDE([Qtd. ocorrencia], [DiaMes]), SELECTEDVALUE(dCalendario[Ano]) = YEAR(TODAY()) && SELECTEDVALUE(dCalendario[Mês]) < MONTH(TODAY()), DIVIDE([Qtd. ocorrencia], [DiaMes]), SELECTEDVALUE(dCalendario[Ano]) = YEAR(TODAY()) && SELECTEDVALUE(dCalendario[Mês]) = MONTH(TODAY()), DIVIDE([Qtd. ocorrencia], DAY(TODAY())) )
-
Tiago Craici - Xperiun's post in Filtro Mes Atual was marked as the answer
Olá @Valmir Braz
Veja se atende:
Quanto selecionado "Mês atual?" = Não, ele respeita o filtro ao lado:
Quanto selecionado "Mês atual?" = Sim, ele pega o mês/ano atual (como no pbix não tinha os dados atualizado improvisei aqui):
Nova tabela:
Medida alterada:
Venda Bruta = var _selecao = SELECTEDVALUE(MesAtualV2[Value]) RETURN SWITCH(TRUE(), _selecao = "Não", SUMX(vwFactVendas, vwFactVendas[Quant]*RELATED(vwDimProduto[PrecoUnit]) ), _selecao = "Sim", CALCULATE( SUMX(vwFactVendas, vwFactVendas[Quant]*RELATED(vwDimProduto[PrecoUnit]) ), FILTER(dCalendario, dCalendario[Ano] = 2019 && // troque para: YEAR(TODAY()) dCalendario[Mês Num.] = 3 // troque para: MONTH(TODAY()) ) ) ) OBS na sua base produção altere a medida conforme mencionei acima.
Em anexo o pbix.
1-Sand Box (1).pbix
-
Tiago Craici - Xperiun's post in Não consigo criar Medidas Dax! was marked as the answer
Olá @Jonatan Souza, aparentemente está tudo normal aqui, fiz um teste abaixo e não deu erro:
Mostre a medida que deseja criar.
-
Tiago Craici - Xperiun's post in Colocar a média no Subtotal de Linha da Matriz was marked as the answer
@ALisson Murilo da Cunha
Veja se a medida abaixo te atende:
Media no final =
var _Media =
AVERAGEX(
VALUES(dCalendario[Mês]),
[Performance de Estoque]
)
var _Venda = [Performance de Estoque]
RETURN
IF( ISINSCOPE(dCalendario[Mês]), _Venda, _Media )
2º Seu total não está batendo por conta de sua medida, certamente ela está avaliando contexto de "Mês" e seu total é outro contexto diferente do mês.
-
Tiago Craici - Xperiun's post in Datas diferentes de onde se comeca was marked as the answer
... No Power Query, tabela dCalendary na coluna "Week of Year" vamos definir qual o dia que começa a semana (domingo) passando o parâmetro 0 (zero),
Altere o código M para: = Table.AddColumn(#"Inserted Day", "Week of Year", each Date.WeekOfYear([Date], 0), Int64.Type)
Dentro da função Date.WeekOfYear definimos que a semana começa no domingo corrigindo essa divergência.
-
Tiago Craici - Xperiun's post in Eixo X Customizado - Meses Selecionados VS Outros was marked as the answer
Prefeito @jsp.almeida1983, interessante a solução... Qualquer dúvida pode estar postando aqui, difícil sair uma sem solução eheeheh.
Refiz a medida DAX conforme objetivo seu. Achei bem mais simples que a apresentado pelo amigo do outro Fórum...
Segue solução:
Resultado
Medida:
Total Venda Tiago = IF ( ISFILTERED ( dCalendario[Mês Abrev Proper v1] ), SWITCH ( TRUE (), SELECTEDVALUE ( dCalendarioAUX[Mês/Ano] ) = "OUTROS", CALCULATE ( [Total Vendas], ALLEXCEPT ( dCalendario, dCalendario[Ano] ) ) - CALCULATE ( [Total Vendas], ALL ( dCalendarioAUX ) ), SELECTEDVALUE ( dCalendarioAUX[Mês/Ano] ) = "PERÍODO", CALCULATE ( [Total Vendas], ALL ( dCalendarioAUX ) ) ), [Total Vendas] )
pbix atualizado em anexo 👍
Periodo_VS_Outros.pbix
-
Tiago Craici - Xperiun's post in Calcular Diferença entre Semanas was marked as the answer
Olá @Joao Raulino e @Claudionor
Utilizando a função DAX "DATEADD" não vai atender a seu objetivo Claudionor. Primeiro que essa função passando os parâmetros -7, DAY vai retornar o total referente à 7 dias passado ao "CONTEXTO" (Em uma tabela com Data e valor de Consumo vai entender o comportamento da mesma)...
Falando em contexto... Em seu card não há contexto de data, com isso vai trazer o valor total (Consumo).
Até poderíamos utilizar a função "WEEKNUM" mas teria um problema na virada de ano (primeira semana do ano)... Com isso pensei na seguinte solução:
1º Na sua dimensão dCalendario criar uma nova coluna com a "SemanaContinua", segue medida abaixo:
SemanaContinua = IF ( dCalendario[Ano] = YEAR ( MIN ( dCalendario[Data] ) ), + WEEKNUM ( dCalendario[Data], 2 ), ( YEAR ( dCalendario[Data] ) - YEAR ( MIN ( dCalendario[Data] ) ) ) * 53 + WEEKNUM ( dCalendario[Data], 2 ) - 1 )
---> Agora vamos para o objetivo (trazer o valor de consumo da semana atual e no mesmo cartão a diferença percentual da semana anterior.)
Medida:
Semana atual x anterior = var _SemanaAtual = CALCULATE( SELECTEDVALUE(dCalendario[SemanaContinua]), dCalendario[Data] = TODAY() ) var _SemanaAnterio = _SemanaAtual -1 var _ValorSemanaAtual = CALCULATE( [Total Venda], dCalendario[SemanaContinua] = _SemanaAtual ) var _ValorSemanaAnterior = CALCULATE( [Total Venda], dCalendario[SemanaContinua] = _SemanaAnterio ) var _Diferenca = DIVIDE( _ValorSemanaAtual - _ValorSemanaAnterior, _ValorSemanaAnterior ) RETURN _Diferenca
OBS: Não se esqueça de colocar a formatação da medida em percentual. ---> altere a [Total Venda] com sua medida de Consumo.
Depois nos conte se deu certo @Claudionor 👍
-
Tiago Craici - Xperiun's post in Soma de dias sem somar os fins de semana was marked as the answer
@LGustavo favor validar a medida abaixo:
Finalização Corte =
VAR vCapacidadeTotal = [Na Fase Corte] + [Chegando Corte] //Soma da quantidade que está e vai chegar no setor
VAR vQtdDias = DIVIDE ( vCapacidadeTotal, [Capacidade Diaria Corte] ) //Quantidade de dias para acabar toda a demanda
var _Tabela = //tabela virtual desconsiderando final de semana (sáb/dom)
CALCULATETABLE(
ADDCOLUMNS(dCalendario,
"@Data", dCalendario[Data]
),
NOT WEEKDAY ( dCalendario[Data] ) IN { 1, 7 },
dCalendario[Data] >= TODAY()
)
RETURN
MINX(
INDEX(
vQtdDias, // retorna a posição do dia da tabela virtual (valor da variável vQtdDias)
_Tabela,
ORDERBY(dCalendario[Data], ASC)
),
dCalendario[Data])
-
Tiago Craici - Xperiun's post in Análise Vertical nos subníveis da DRE was marked as the answer
Olá @Tiago Soares!
Veja se é este o resultado esperado:
Se for é só incluir ( ALL('dPlano de Conta') ).
-
Tiago Craici - Xperiun's post in YoY Acumulado Meses was marked as the answer
Olá @ntatiane!
Veja se a medida te atende:
YOY Acumulado =
VAR _EsteAno =
CALCULATE ( [Total Venda], DATESYTD ( dCalendario[Data] ) )
VAR _AnoPassado =
CALCULATE (
CALCULATE (
CALCULATE ( [Total Venda], DATESYTD ( dCalendario[Data] ) ),
DATEADD ( dCalendario[Data], -1, YEAR )
),
FILTER ( dCalendario, [Total Venda] > 0 )
)
RETURN
DIVIDE ( _EsteAno - _AnoPassado, _AnoPassado )
-
Tiago Craici - Xperiun's post in Botão que habilita outro was marked as the answer
Olá @Fabricio Correa Da Costa! Da uma olhada no link abaixo, no blog da Xperiun tem um post sobre:
https://xperiun.com/blog/como-organizar-seus-dashboards-em-menus-de-navegacao/
-
Tiago Craici - Xperiun's post in Segmentação de acordo com os meses was marked as the answer
outra solução... Caso não queira adicionar nova coluna (MesAno) em sua dCalendario:
Tiago = var _tab = SUMMARIZE( dCalendar, dCalendar[Month], dCalendar[Year], "Mes", DISTINCTCOUNT(dCalendar[Month]) ) return IF( OR( ISFILTERED(dCalendar[Date].[Quarter]), ISFILTERED(dCalendar[Date].[Year]) ), COUNTROWS(_tab) ) -
Tiago Craici - Xperiun's post in Diluir Meta da Marca em Skus was marked as the answer
Fala Incomparável @Ronnie Costa!
Que desafio em aahahahah. Seguinte, conforme o ditado "Se o DAX está complexo vale apena rever o ETL"...
Observações: Desenvolvi o resultado conforme o modelo (pbix) que passou. Para ser mais assertivo seria necessário uma base atualizada, o maior objetivo é te passar a lógica que cheguei para atender o objetivo, em seguida adapte para sua realidade.
1º Criei uma nova coluna (SKU normaliza) para ser relacionado com a tabela fMeta (observado padrão de SKU, vale ver seu cenário se isso é possível).
2º medida criada:
Media Diluida = var _Vendedor = SELECTEDVALUE(dVendedor[Cod. Vendedor]) var _Meta = [Total Meta] var _Produto = LEFT(SELECTEDVALUE(dProduto[Sku]), 9) var _MediaSKU = AVERAGEX( CALCULATETABLE( 'dCalendário', DATESINPERIOD( fVendas[Data], EOMONTH(TODAY(), -1), -2, MONTH) ), [Total Venda] ) var _MediaSKUnormalizado = AVERAGEX( CALCULATETABLE( 'dCalendário', DATESINPERIOD( fVendas[Data], EOMONTH(TODAY(), -1), -2, MONTH) ), CALCULATE([Total Venda], ALL(dProduto), dProduto[SKU normalizado] = _Produto, ALL(dVendedor)) ) var _Representatividade = DIVIDE(_MediaSKU, _MediaSKUnormalizado) RETURN SWITCH(TRUE(), ISINSCOPE(dProduto[Sku]), _Meta * _Representatividade, ISINSCOPE(dVendedor[Cod. Vendedor]) && [Total Venda] >0, CALCULATE([Total Meta], fMetas[Cod. Vendedor] = _Vendedor) )
Resultado:
⚠ Considerei somente produtos que tiveram venda para o vendedor (contexto).
➡ Em anexo o pbix para entendimento.
Meta diluida por produto.pbix
-
Tiago Craici - Xperiun's post in Envio de xls para gerentes was marked as the answer
@Tiago Bocardi
Caso atendido seu objetivo, por gentileza marque a Melhor resposta para o tópico, para isso basta ir naquela que mais te ajudou e clicar nas opções conforme print:
-
Tiago Craici - Xperiun's post in RLS PARA RESTRINGIR SALARIO was marked as the answer
Olá @PauloAlmeida!
Talvez um caminho utilizando DAX seria validar qual usuário está logado no PB Service.
Tem a função "USERPRINCIPALNAME" que atenderia.
medida de salario =
if ( USERPRINCIPALNAME in {"aaaa, bbbb, cccc"}, [medidaSalario], "*" )
Pode tbm estar criando uma tabela auxiliar que determina qual usuário poder ver o salário.
Sucesso ae, espero ter dado um norte. Receita pronta não tenho no momento, seria necessário analisar seu pbix e regra de negócio.
-
Tiago Craici - Xperiun's post in FILTRANDO MEDIDA COM OUTRA MEDIDA was marked as the answer
@santomx45
Caso queira o último trimestre do ano passado ao contexto "mês/ano" avaliado pode utilizar a medida abaixo:
Procedimentos SP last 4 month =
VAR _Ano =
SELECTEDVALUE ( dCalendario[Ano] ) - 1
VAR _result =
CALCULATE (
[Qtd Procedimentos],
FILTER (
ALL ( dCalendario ),
dCalendario[Ano] = _Ano
&& dCalendario[Trimestre] = 4
)
)
RETURN
_result
OBS: Sua dCalendario deve ter a coluna com trimestre (dCalendario[Trimestre])
------------------------------------------------------------------------------------------------------------------------------------------------
Caso queira os últimos três meses em referência ao contexto pode utilizar a medida abaixo:
Procedimentos SP last 4 month =
var _dataMAX =
CALCULATE (
MAXX( dCalendario, dCalendario[Data] ),
DATEADD ( dCalendario[Data], -1, MONTH )
)
var _result =
CALCULATE(
[Qtd Procedimentos],
DATESINPERIOD(
dCalendario[Data],
_dataMAX,
-3 , MONTH
)
)
return
_result
Caso ainda não atender me avise.
-
Tiago Craici - Xperiun's post in Formatação Condicional was marked as the answer
Olá @Sandro Lima!
Clica com o botão direito do mouse sobre sua medida:
-
Tiago Craici - Xperiun's post in colocar vários dash em um painel was marked as the answer
Da uma olhada no vídeo abaixo:
-
Tiago Craici - Xperiun's post in Filtro/Parametro was marked as the answer
Olá @Diego_Flores!
Veja se atende seu objetivo, exemplo botão filtrando somente "Abaixo do Estoque de Segurança":
Agora "Acima do estoque máximo":
Primeiro criei uma nova tabela para termos os botões de filtro:
Foi alterado sua medida "FILTROS" para:
FILTROS = VAR _filtro = SELECTEDVALUE ( _TextoEstoque[filtro] ) VAR _todos = SWITCH ( TRUE (), [Acumulado saldo] = 0, "Produto com estoque zerado", [Acumulado saldo] > [estoque maximo], "Acima do estoque máximo", [Acumulado saldo] < [ponto de pedido], "Abaixo do Ponto de Pedido", [Acumulado saldo] < [estoque de segurança], "Abaixo do Estoque de Segurança", [Acumulado saldo] > [ponto de pedido], "Compra desnecessaria" ) RETURN IF ( ISFILTERED ( _TextoEstoque[filtro] ), SWITCH ( TRUE (), _filtro = "Produto com estoque zerado" && [Acumulado saldo] = 0, "Produto com estoque zerado", _filtro = "Acima do estoque máximo" && [Acumulado saldo] > [estoque maximo], "Acima do estoque máximo", _filtro = "Abaixo do Ponto de Pedido" && [Acumulado saldo] < [ponto de pedido], "Abaixo do Ponto de Pedido", _filtro = "Abaixo do Estoque de Segurança" && [Acumulado saldo] < [estoque de segurança], "Abaixo do Estoque de Segurança", _filtro = "Compra desnecessaria" && [Acumulado saldo] > [ponto de pedido], "Compra desnecessaria" ), _todos )
No filtro lateral adicionei a seguinte condição:
Em anexo o pbix.
Compras_2.pbix