A linguagem M
Conhecer a sintaxe e estrutura da linguagem M
A barra de código M
O Editor Avançado de códigoM
Colunas a partir de exemplos
Intercalar e acrescentar consultas
Técnicas avançadas de manipulação de dados com M
Trabalhar com listas
Converter listas em tabelas e vice-versa
PIVOT e UNPIVOT
Usar parâmetros
Truques e Dicas
Ligações a bases de dados SQL
Importar Dados vs DirectQuery
Query folding
Alterar origens de dados e usar parâmetros
Técnicas avançadas de visualizações
Bookmarks para gerir objetos e estados
ToolTips
Drillthrough vs Drilldown
Modelação de Dados
Modelo de Dados
Estruturação do modelo “estrela” ou “floco de neve”
Relações entre tabelas: unidirecionais e bidirecionais
Impacto de relações bidirecionais
Relações inativas e a sua utilidade
Data Analysis eXpressions - DAX
Ativar a Vista de Consultas [Query View]
Performance de Medidas x Colunas Calculadas
Contextos de Avaliação
Funções DAX para gerir relações entre tabelas
Modificar contextos de avaliação
Principais funções em DAX
Funções de Tabela
FILTER, CROSSFILTER, RELATED x RELATEDTABLE
Funções com Iteradores
CALCULATE, IF, VALUES, HASONEVALUE, SELECTEDVALUE, COUNTROWS
Análises temporais
Avaliação de Datas
MAX, MIN, LASTDATE, FIRSTDATE, VALUES, SELECTEDVALUE
Iteradores avançados
SUMX, AVERAGEX, MAXX
Funções de Inteligência de Tempo
Gerar uma tabela de Datas
TOTALYTD, DATEADD, SAMEPERIODLASTYEAR
Medidas Semi-Aditivas
LASTDATE, LASTNONBLANK
Ranking com RANKX
TOPN
Aplicações de funções DAX típicas
Calcular médias de vendas com AVERAGEX
Totais e médias móveis
Visualizações dinâmicas com várias Medidas
Clientes novos x clientes antigos
Comparação das vendas em períodos distintos
Proteção de conteúdo
Acesso seletivo de informação
RLS padrão
A importância de USERNAME()
RLS dinâmico