POWERBI: Errores en cálculos con DAX
Estoy tratando de terminar un tablero de PowerBI, pero no puedo resolver un error en uno de los cálculos de DAX.
Estoy revalidando que la frecuencia con la que se inician los análisis de verificación de estado en ciertas computadoras es correcta.
Para hacer esto, estoy usando dos tablas:
Tabla A, en la que tengo la lista de hostnames y la frecuencia de escaneo asignada a cada uno
Tabla B, en la que también tengo la lista de hostnames, y el segmento al que pertenecen (a partir del cual se determina qué frecuencia de escaneo le corresponde a esa máquina), y si necesitan escaneo automático (1) o manual (0).
Sería algo como esto:
Table A
- Column 1: HOSTNAME
- Column 2: SCAN_FRECUENCY
Table B
- Column 1: HOSTNAME
- Column 2: H_SEGMENT
- Column 3: AUTOM_HC_REQUIRED
Creé una relación de la Tabla B (1) a la Tabla A (*) a través de las columnas HOSTNAME.
A partir de esta información, creo dos columnas calculadas en la Tabla B, con las que traduzco el nombre del segmento, por su frecuencia equivalente, distinguiendo entre escaneos automáticos y manuales:
Table B
- Column 1: HOSTNAME
- Column 2: H_SEGMENT
- Column 3: AUTOM_HC_REQUIRED
- New calculated column 4: Freq_automatic_scan
- New calculated column 5: Freq_manual_scan
dónde:
Freq_automatic_scan=
IF(LEFT([H_SEGMENT],1)="G",4,
IF(LEFT([H_SEGMENT],1)="P", 12,
IF(LEFT([H_SEGMENT],1)="N", 18,0)))
Y
Freq_manual_scan:
IF(LEFT([H_SEGMENT],1)="G",12,
IF(LEFT([H_SEGMENT],1)="P", 18,
IF(LEFT([H_SEGMENT],1)="N", 18,0)))
Y luego, creé dos páginas diferentes, para filtrar solo los nombres de host con escaneo automático en una de ellas, y solo los nombres de host con escaneo manual en el otro.
El problema aparece cuando creo otra columna calculada en la Tabla B para ver si la frecuencia asignada a la máquina, según su segmento es mayor, menor o igual a la frecuencia reportada en la Tabla A, estableciendo así si está OK, KO, o la frecuencia de exploración es demasiado alta:
Para hacer esto, creo primero una medida de ambas tablas:
Frequency = SUM(Table A [SCAN_FREQUENCY])
Y luego, llamo a esto desde la nueva columna en la Tabla B:
FREQ CHECK = IF([AUTOM_HC_REQUIRED]="1",
IF([Freq_automatic_scan]=[ Frequency], "OK",
IF([Freq_automatic_scan]<[ Frequency],"KO","TOO HIGH FREQ")),
IF([Freq_manual_scan]=[ Frequency], "OK",
IF([Freq_manual_scan]<[ Frequency],"KO","TOO HIGH FREQ")))
El resultado de esta operación es que la columna FREQ CHECK muestra algunos valores que realizan el cálculo y la comparación correctamente, y muchos otros que son incomprensiblemente incorrectos:
Por ejemplo:
No estoy viendo el problema y agradezco mucho cualquier idea que me ayude a verlo.