Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

SIntaxis de Excel de IF y COUNTIFS a DAX: necesita ayuda para realizar cálculos con DAX

¡Hola a todos!

Estoy intentando tomar un concepto de una hoja de cálculo de Excel que tengo y recrearlo en un informe de matriz de Power BI.

La razón por la que no solo uso la hoja de cálculo como mi fuente de datos es que quiero exportar directamente. Archivos CSV de un producto con el que estoy trabajando y actualizarlo regularmente exportando la última versión del archivo . Archivo CSV.

Así que

Tengo la tabla siguiente en Excel que estoy intentando volver a crear en Power BI:

dlhtox_0-1640634525708.png

La fórmula detrás de los números en la columna "No cifrado":


=COUNTIFS(EPMTable[Método de cifrado],"0 - Ninguno",EPMTable[Dominio],A3,EPMTable[Plataforma],"Portátil")

Y luego la columna "Cifrado":

=COUNTIFS(EPMTable[Método de cifrado],"<>0 - Ninguno",EPMTable[Dominio],A3,EPMTable[Plataforma],"Laptop")

Y la columna % cifrado:

=IF(SUMA(C3+B3)=0,"Sin portátiles",SUMA(C3/(SUMA(C3+B3)))

Esto es tirar de una hoja como esta:

dlhtox_0-1640628802575.png

He exportado los datos a un archivo . Archivo CSV con el que he estado trabajando para crear algunos informes de Matrix en Power BI.

Soy bastante nuevo en Power BI, he pasado por la mayor parte de un curso, pero sigo revisando las cosas de DAX y así sucesivamente.

Sin embargo, tengo una fecha límite para un cliente que necesito cumplir hoy, así que me estoy acercando a este grupo creativo.

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

@dlhtox,

Si siempre tiene solo unos pocos valores para verificar en la condición IF, puede escribir algo como esto:

calculate(countrows(yourtable),
EPMTable[Método de cifrado]="0 - Ninguno" || EPMTable[Plataforma],"Laptop")

Si necesita reproducir lo que hizo en Excel con un valor dinámico para "A3", deberá forzar su segmentación de datos para que siempre tenga un solo valor o para usar la función firstnonblank.

Asumí que A3 era solo el nombre de dominio en el informe. En cuyo caso poner los nombres de dominio en las filas de una matriz se encargará de ese aspecto.

Esto es lo que parece hasta ahora en Power BI:

dlhtox_0-1640634208649.png

Y los campos que tengo disponibles desde mi . Importación de CSV:

dlhtox_1-1640634252241.png

Syndicate_Admin
Administrator
Administrator

La sintaxis que necesita para reemplazar sus countifs es algo en esta línea:

No Encryption = 
CALCULATE (
	COUNTROWS ( EPMTable ),
	EPMTable[Encryption Method] = "0 - None"
	)

Medidas para cada columna:

No Encryption Laptops = 
CALCULATE (
	COUNTROWS ( EPMTable ),
	EPMTable[Encryption Method] = "0 - None",
	EPMTable[Platform] = "Laptop"
	)
	
Encrypted Laptops = 
CALCULATE (
	COUNTROWS ( EPMTable ),
	EPMTable[Encryption Method] <> "0 - None",
	EPMTable[Platform] = "Laptop"
	)
	
Percentage Encrypted = 
VAR Laptops = 
	CALCULATE (
		COUNTROWS (EPMTable),
		EPMTable[Platform] = "Laptop"
		)

VAR PercEncypted = 
	DIVIDE (
		[Encrypted Laptops],
		Laptops
		)

RETURN
	PercEncypted

¡Muchas gracias! Una última pregunta:

¿Cómo puedo obtener que la columna de porcentaje concrítica y el total muestren "100%" o "48%" en lugar de solo 1.00 o .48?

¡Bien! Olvidé que puedo tratarlo como los otros campos.

Además, creo que necesito que la sintaxis sea un poco diferente.

Para los dominios que no muestran computadoras portátiles, quiero escribir "Sin computadoras portátiles" en la columna Porcentaje cifrado en lugar de omitir ese dominio por completo. Esto lo he ilustrado en mi fragmento de hoja de cálculo en la publicación original.

Vas a necesitar dos medidas para hacer el bit de texto y el formato de barra condicional de fondo.

Actualice su medida existente a:

No Encryption Laptops = 
CALCULATE (
	COUNTROWS ( EPMTable ),
	EPMTable[Encryption Method] = "0 - None",
	EPMTable[Platform] = "Laptop"
	)+0
	
Encrypted Laptops = 
CALCULATE (
	COUNTROWS ( EPMTable ),
	EPMTable[Encryption Method] <> "0 - None",
	EPMTable[Platform] = "Laptop"
	)+0
	
Percentage Encrypted = 
VAR Laptops = 
	CALCULATE (
		COUNTROWS (EPMTable),
		EPMTable[Platform] = "Laptop"
		)

VAR PercEncypted = 
	DIVIDE (
		[Encrypted Laptops],
		Laptops
		)

RETURN
	PercEncypted


A continuación, cree una nueva medida:

Percentage Encrypted Text = 
VAR PercEncrypt = [Percentage Encrypted]

RETURN	
	IF ( 
    	ISBLANK ( PercEncrypt ),
    	"No Laptops",
    	FORMAT ( PercEncrypt, "0.0%" )
	)

Agregar cero al final de la medida convertirá los espacios en blanco en 0.

Luego, una medida tiene que devolver valores del mismo tipo, así que he creado una nueva medida que lo reutrns todo como texto. Usa eso en tu visual. Sin embargo, si necesita hacer un formato condicional como su imagen, use la medida numérica subyacente.

Lamento responder de nuevo. También veo que "0" se muestra en blanco y no muestra 0%

Seleccione la medida que ha creado y luego en la parte superior puede cambiar el formato de número decimal a porcentaje.

Syndicate_Admin
Administrator
Administrator

¿Puede enviar un archivo pbix con algunos datos simulados en él?

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors