SUM(X) y RoundUp, ¿quizás?

Un usuario Pregunto ✅

perros afilados

Hola,

He estado probando todo tipo de trucos, pero parece que no puedo obtener el resultado correcto que necesito.

Estoy tratando de averiguar cuántas licencias necesita mi equipo para un producto.

La regla de la licencia es que un solo usuario puede implementar el Software en solo 2 dispositivos, si un usuario lo implementa en más dispositivos, necesita comprar licencias adicionales.

1 o 2 dispositivos = 1 licencia

3 o 4 dispositivos = 2 licencias

5 o 6 dispositivos = 3 licencias

Tomé los dispositivos e hice un Distintcount[DeviceName], luego lo pongo en una matriz al lado del nombre de usuario. Esto me dice cuántos dispositivos únicos tiene cada usuario. Luego creé un Requisito de licencia =Distintcount[DeviceName]/2. La salida está debajo.

El problema con la salida es este, necesito redondear las Licencias Requeridas al siguiente número entero. Por ejemplo, el usuario Sam Licenses Required debe leer 3, no 2.5.

El segundo problema que tengo es que cuando uso un DAX con ronda o SUMX, nunca puedo calcular el total para sumar correctamente.

Usuario Dispositivos distintos Licencias Requeridas resultado deseado
Sam 5 2.5 3
Chad 3 1.5 2
dave 2 1 1
jeff 1 0.5 1
linda 1 0.5 1
6 8

mahoneypat

Esta expresión parece funcionar con sus datos de ejemplo. Reemplace Licencias con su nombre de tabla real.

Licencias necesarias =
SUMX (
VALORES (Licencias[User] ),
CALCULATE ( ROUNDUP ( DISTINCTCOUNT ( Licencias[DeviceID] ) / 2, 0 ) )
)
o usando su medida existente
Licencias necesarias =
SUMX (
VALORES (Licencias[User] ),
REDONDEO ( [Distinct Devices] / 2, 0 ) )
)

Si esto funciona para usted, por favor márquelo como la solución. También se agradecen los elogios. Por favor, hágamelo saber si no.

Saludos,

Palmadita

mahoneypat

Esta expresión parece funcionar con sus datos de ejemplo. Reemplace Licencias con su nombre de tabla real.

Licencias necesarias =
SUMX (
VALORES (Licencias[User] ),
CALCULATE ( ROUNDUP ( DISTINCTCOUNT ( Licencias[DeviceID] ) / 2, 0 ) )
)
o usando su medida existente
Licencias necesarias =
SUMX (
VALORES (Licencias[User] ),
REDONDEO ( [Distinct Devices] / 2, 0 ) )
)

Si esto funciona para usted, por favor márquelo como la solución. También se agradecen los elogios. Por favor, hágamelo saber si no.

Saludos,

Palmadita

amichandak

@shapeddogs,

puedes usar redondo([Licenses Required],0)

Compruebe también estas dos funciones

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

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

perros afilados

En respuesta a amichandak

Utilicé la función de redondeo como notó y solo funciona para redondear correctamente el número a un número entero. También está sucediendo algo en el fondo con Matrix, ya que el Total no refleja el número real en la columna. ¿Eso cuando cansé una suma X, pero tampoco funcionó?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *