Skip to content

gblancop/PowerBI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

PowerBI

Apuntes en Español de Power BI _______________ DAX FORMULAS____________

=CALCULATE([EQUIV INFORM],OR(DATAALTAS[FAMILIA] = "Datos", DATAALTAS[FAMILIA] = "Voz"))

=CALCULATE([EQUIV INFORM],OR(DATAALTAS[FAMILIA] = "FIJO", DATAALTAS[FAMILIA] = "FIJOX"))

=CALCULATE([TOTAL VENTAS]; 'DETALLE VENTAS'[TRIMESTRE]="Q4")

=CALCULATE([VENTAS Q1]; ALL(PLANES[DESCRIPCION PLAN]))

=CALCULATE([PAGO TOTAL UPFRONT]; 'PAGOS UPFRONT'[TRIMESTRE]="Q4")

=SWITCH(TRUE();COUNTA(PALANCAS[Nº LINEAS TOTAL CLI]) < 9 ;"9";"otro")

Acumulados por fecha:

Saldo = CALCULATE( [Utilidad], FILTER( ALL(Finanzas) , Finanzas[Fecha] <= MAX(Finanzas[Fecha])))

____ CODIGO M______

Ultima actualización

= #table(type table[Ultima Actualización=datetime], {{DateTime.LocalNow()}})

APUNTES FORMULAS VARIAS UTILIZADAS

Atajos

Alt + Enter o Shift + Enter = Salto a un nuevo renglón

Tab = Indentación o autocompletado de código (intellisense)

// = Agregar Comentarios

Alt + ↑↓ = Mover un renglón

Shift + Alt + ↑↓ = Copiar un renglón

Alt + Click = Selecciones multiples

Ctrl + Scroll Mouse = Zoom expresión DAX

Click en paréntesis = Resalta (Highlight) donde termina función

Ctrl + F2 o Ctrl + Shift + L = Cambiar multiples veces la misma tabla/columna/medida.

Shift + ? = Lista de atajos de teclado de Power BI Desktop

Referencia     

https://docs.microsoft.com/en-us/dax/

Columnas     

Módulo: Funciones de Fecha y Tiempo

Año = YEAR(DimCalendar[DateKey])

Mes = MONTH(DimCalendar[DateKey])

Dia = DAY(DimCalendar[DateKey])

Trimestre = QUARTER(DimCalendar[DateKey])

SemanaAño = WEEKNUM(DimCalendar[DateKey],2)

Dia Semana = WEEKDAY(DimCalendar[DateKey],2)

DiasPromo = DATEDIFF(DimPromotion[StartDate], DimPromotion[EndDate], DAY)

Módulo: Funciones Condicionales y Lógicas

Cantidad Total = FactSales[SalesQuantity] - FactSales[ReturnQuantity]

Devolucion = IF(FactSales[ReturnQuantity]>0,"Si","No")

Tipo Venta = IF(FactSales[SalesQuantity]>10,"Mayoreo","Menudeo")

Tipo Devolucion = IF(FactSales[ReturnQuantity]=0,BLANK(),IF(FactSales[ReturnQuantity]=1,"Unica","Multiple"))

Fin Semana = IF( NOT DimCalendar[DiaSemana] in {1,2,3,4,5} ,"Fin de Semana", "Día Laboral")

Mala Suerte = IF((DimCalendar[CalendarDayOfWeekLabel]="Tuesday" || DimCalendar[CalendarDayOfWeekLabel]="Friday") && DimCalendar[Dia]=13,"Mala Suerte", "Día Normal")

Dcto Mayoreo = IF(FactSales[TipoVenta] = "Mayoreo" && FactSales[channelKey] = 1 && FactSales[PromotionKey] = 1,0.05,0)

Módulo: Funciones de Texto

Ubicación Completa = DimGeography[RegionCountryName] & ", " & DimGeography[ContinentName]

Trimestre = "Trimestre " & QUARTER(DimCalendar[DateKey])

Mes Corto = LEFT(DimCalendar[CalendarMonthLabel],1)

Mes Txt = FORMAT(DimCalendar[DateKey], "MMMM")

Dia Txt = FORMAT(DimCalendar[DateKey], "DDDD")

FS = UPPER(DimCalendar[Fin Semana])

FS = LOWER(DimCalendar[Fin Semana])

Tienda = SUBSTITUTE(DimStores[StoreName], "Store", BLANK())

Módulo: Función RELATED

Ubicacion Fisica = IF(DimStores[StoreType]="Store", DimStores[Ciudad] & ", " & RELATED(DimGeography[Ubicación Completa]), BLANK())

Precio Unitario = RELATED(DimProduct[UnitPrice])

Ingresos = FactSales[Precio Unitario] * FactSales[CantidadTotal]

Medidas     	

Módulo: Funciones matemáticas y estadísticas

Cantidad Ventas = SUM(FactSales[SalesQuantity])

Cantidad Devoluciones = SUM(FactSales[ReturnQuantity])

Cantidad Total = [Cantidad Ventas] - [Cantidad Devoluciones]

Ratio Devoluciones = DIVIDE([Cantidad Devoluciones],[Cantidad Ventas],0)

Ratio Devoluciones = “La cantidad de devoluciones respecto a ventas es: “ & DIVIDE([Cantidad Devoluciones],[Cantidad Ventas],0)

PU Promedio = AVERAGE(DimProduct[UnitPrice])

Cantidad Tiendas = COUNT(DimStores[StoreKey])

Cantidad Tiendas = COUNTA(DimStores[StoreKey])

Cantidad Tiendas = COUNTROWS(DimStores)

Cantidad Tiendas con Ventas = DISTINCTCOUNT(DimStores[StoreKey])

Cantidad Regiones = COUNTA(DimGeography[RegionCountryName])

Cantidad Regiones 2 = COUNTROWS(DimGeography)

Cantidad Regiones en Blanco = COUNTBLANK(DimGeography[RegionCountryName])

Cantidad Regiones Unicas = DISTINCTCOUNT(DimGeography[RegionCountryName])

Total Ordenes = COUNTROWS(FactSales)

Módulo: Función CALCULATE

Total Ordenes Devueltas = CALCULATE([Total Ordenes], FactSales[ReturnQuantity] > 0)

Total Ordenes Devueltas Multiples = CALCULATE([Total Ordenes], FactSales[ReturnQuantity] > 0, FactSales[TipoDevolucion] = "Multiple")

Módulo: Función ALL / FILTER

ALL Total Ordenes = CALCULATE([Total Ordenes],ALL(FactSales))

% Ordenes Devueltas = DIVIDE([Total Ordenes Devueltas],[ALL Total Ordenes])

PU Promedio General = CALCULATE([PU Promedio], ALL(DimProduct))

Total Ordenes Devueltas Multiples FILTER = CALCULATE([Total Ordenes], FILTER(FactSales, FactSales[ReturnQuantity] > 0), FILTER(FactSales, FactSales[TipoDevolucion] = "Multiple"))

Total Ordenes PU Alto = CALCULATE([Total Ordenes], FILTER(DimProduct, DimProduct[UnitPrice] > [PU Promedio General]))

Módulo: Función SUMX

Total Ingresos X = SUMX(FactSales, FactSales[CantidadTotal] * RELATED(DimProduct[UnitPrice]))

Módulo: Funciones de Time Intelligence

YTD Ingresos = CALCULATE([Total Ingresos], DATESYTD(DimCalendar[DateKey]))

YTD Ingresos 2 = TOTALYTD([Total Ingresos],DimCalendar[DateKey])

MTD Ingresos = TOTALMTD([Total Ingresos],DimCalendar[DateKey])

Módulo: Funciones de Variación

Total Ingresos LY = CALCULATE([Total Ingresos], SAMEPERIODLASTYEAR(DimCalendar[DateKey]))

Total Ingresos Variacion LY = [TotalIngresos] - [Total Ingresos LY]

Total Ingresos Variacion LM = CALCULATE([Total Ingresos], DATEADD(DimCalendar[DateKey],-1,MONTH))

Módulo: Modificando Medidas

Descuento = IF(FactSales[TipoVenta] = "Mayoreo" && FactSales[channelKey] = 1 && FactSales[PromotionKey] = 1,0.05,RELATED(DimPromotion[DiscountPercent]))

Total Ingresos = SUMX(FactSales, FactSales[CantidadTotal] * RELATED(DimProduct[UnitPrice]) * (1 - FactSales[Descuento]))

// Total Ingresos es la cantidad de piezas multiplicado por el precio unitario y por el descuento aplicado

Total Ingresos Sin Dcto = SUMX(FactSales, FactSales[CantidadTotal] * RELATED(DimProduct[UnitPrice]))

Módulo: Función RANKX

Rank Ingresos Tiendas = IF( ISBLANK([Total Ingresos]) , BLANK(), RANKX(ALL(DimStores), [Total Ingresos]))

Rank Ingresos Tiendas Seleccionadas = IF( ISBLANK([Total Ingresos]) , BLANK(), RANKX(ALLSELECTED(DimStores), [Total Ingresos]))

Rank Ingresos SubCatProductos = IF( ISBLANK([Total Ingresos]) , BLANK(), RANKX(ALL(DimProductSubcategory), [Total Ingresos]))

Rank Ingresos SubCatProductos Seleccionados = IF( ISBLANK([Total Ingresos]) , BLANK(), RANKX(ALLSELECTED(DimProductSubcategory), [Total Ingresos]))

Módulo: Función SWITCH

Categoria Tamaño Tienda = SWITCH( TRUE(),

DimStores[SellingAreaSize] <= 500, "Pequeña",

DimStores[SellingAreaSize] <= 800, "Mediana",

DimStores[SellingAreaSize] > 800, "Grande",

"Otro")


Rank Ingresos Tiendas Cat =

IF(HASONEVALUE(DimStores[Tienda]),

SWITCH( TRUE(),

[Rank Ingresos Tiendas] <= 10 , "Top 10",

[Rank Ingresos Tiendas] <= 25 , "Sobresaliente",

[Rank Ingresos Tiendas] <= 50 , "Bueno",

[Rank Ingresos Tiendas] <= 100 , "Regular",

"Incompetente") , BLANK()

)


Star Unichar =

VAR star = UNICHAR(9733)

VAR star0 = UNICHAR(9734)

RETURN

REPT(star, 4) & star0


Rank Ingresos Tiendas Cat Unichar =

VAR star = "⭐️"

VAR star0 = UNICHAR(9734)

RETURN

IF(HASONEVALUE(DimStores[Tienda]),

SWITCH( TRUE(),

[Rank Ingresos Tiendas] <= 10 , REPT(star,5),

[Rank Ingresos Tiendas] <= 25 , REPT(star,4) & REPT(star0,1),

[Rank Ingresos Tiendas] <= 50 , REPT(star,3) & REPT(star0,2),

[Rank Ingresos Tiendas] <= 100 , REPT(star,2) & REPT(star0,3),

REPT(star,1) & REPT(star0,4)) , BLANK()

)


Módulo: Selector con SWITCH

Total Costos = SUMX(FactSales, FactSales[Cantidad Total] * RELATED(DimProduct[UnitCost]))

Total Utilidad = [Total Ingresos] - [Total Costos]


Total Selección =

IF(ISCROSSFILTERED(Selector[Selección]),

SWITCH(TRUE(),

VALUES(Selector[Selección]) = "Total Ingresos", [Total Ingresos],

VALUES(Selector[Selección]) = "Total Costos", [Total Costos],

VALUES(Selector[Selección]) = "Total Utilidad", [Total Utilidad],

[Total Ingresos]),

[Total Ingresos])


RANKING NN = IF(ISBLANK([SNAV NN]), BLANK(), RANKX(ALL('JERARQUIA IND'[NOMBRE_DISTRIBUIDOR]),[SNAV NN],,DESC))

About

Apuntes en Español de Power BI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published