Cómo calcular un recuento único basado en varios valores de columna

Un usuario Pregunto ✅

tbobolz

Hola a todos, Estoy luchando por encontrar una fórmula DAX para contar los números de cuenta «únicos» en el siguiente ejemplo si un conjunto selecto de valores DRG y / o ICD10 coinciden en las columnas relacionadas de cada fila de número de cuenta.

No estoy seguro de cómo escribir la declaración «o» para que cuente los Números de cuenta «únicos» solo una vez, incluso si tanto la columna DRG como la ICD10 cumplen la condición, o solo una de estas columnas cumple la condición. En el siguiente ejemplo, el recuento debería ser 5.

DRG para igualar = 10, 266, 621

ICD10 para coincidir = S48.23, C24, P12

Gracias por cualquier ayuda que pueda ofrecer

Terry

Número de cuenta DRG ICD10
200 10 R045
201 215 J156
202 266 J450
202 266 J450
203 248 S48.23
204 621 C24
204 621 C24
204 621 C24
205 423 G56
206 456 S12
207 542 P12
208 110 H54.321

jmalone

En respuesta a tbobolz

Puede intentar agregar una función FILTRO a su medida. El concepto es el mismo, pero la sintaxis debería permitir varias columnas en la condición.

Test 2 =
CALCULATE (
    DISTINCTCOUNT ( sj_strata_encounter_hb[FINNBR] ),
    FILTER (
        sj_strata_encounter_hb,
        OR (
            sj_strata_encounter_hb[MS DRG CODE] IN { "10", "266", "621" },
            sj_strata_encounter_hb[ADMIT ICD10 DX CODE] IN { "S48.23", "C24", "P12" }
        )
    )
)

jtownsend21

Tratando de entender. ¿Quiere el recuento de números de cuenta únicos donde el DRG está duplicado o el ICD10 está duplicado?

tbobolz

En respuesta a jtownsend21

Gracias por la respuesta,

Solo quiero contar los números de cuenta únicos Si esa fila (columnas DRG o ICD) tiene una o más de las condiciones enumeradas cumplidas.

Si DRG (10 o 266 o 621) o ICD10 (S48.23 o C24 o P12) aparece en cualquier lugar de la fila, en la columna DRG o en la columna ICD10 o en ambas columnas, contará como 1. Sin embargo, si el número de cuenta ris repetido, todavía solo se cuenta como 1

Por tanto, el número de cuenta 204 tiene DRG (621) e ICD10 (C24); sin embargo, el recuento número 204 se repite 3 veces, pero el recuento total solo sería 1

Y el número de cuenta 203 solo tiene una coincidencia de ICD10 de S48.23, por lo que se contabilizaría como uno.

Espero haberlo explicado mejor.

Gracias

Terry

jtownsend21

En respuesta a tbobolz

Comprendido. Si está intentando utilizar cortadoras, es un problema complicado. Avísame si estás intentando utilizar Slicers (o filtros).

Si no está utilizando segmentaciones, supongo que desea codificar los valores. Podría usar algo como lo siguiente:

Account Number Distinct Count = 
CALCULATE(
    DISTINCTCOUNT([Account Number]),
    OR(
        [DRG] IN { "10", "266", "621" },
        [ICD10] IN { "S48.23", "C24", "P12" }
    )
)

tbobolz

En respuesta a jtownsend21

Estoy codificando una medida.

Recibo un error que dice «La expresión contiene varias columnas, pero solo se puede usar una columna en una expresión Verdadero / Falso que se usa como expresión de filtro de tabla»

Aquí está mi medida de prueba:

Prueba 2 = CALCULAR (DISTINCTCOUNT (sj_strata_encounter_hb[FINNBR]), O (sj_strata_encounter_hb[MS DRG CODE] EN {«10», «266», «621»}, sj_strata_encounter_hb[ADMIT ICD10 DX CODE] EN {«S48.23», «C24», «P12»}))
¡¡¡De nuevo, gracias por tu ayuda!!!

jmalone

En respuesta a tbobolz

Puede intentar agregar una función FILTRO a su medida. El concepto es el mismo, pero la sintaxis debería permitir varias columnas en la condición.

Test 2 =
CALCULATE (
    DISTINCTCOUNT ( sj_strata_encounter_hb[FINNBR] ),
    FILTER (
        sj_strata_encounter_hb,
        OR (
            sj_strata_encounter_hb[MS DRG CODE] IN { "10", "266", "621" },
            sj_strata_encounter_hb[ADMIT ICD10 DX CODE] IN { "S48.23", "C24", "P12" }
        )
    )
)

tbobolz

En respuesta a jmalone

Gracias a los dos por su ayuda. Todavía estoy aprendiendo mi mundo en DAX más avanzado.

jmalone, se exceptuó la medida, sin embargo, indica que no puede cargar el visual, «MdxScript (Mdoel) (20, 180) Error de cálculo en la medida, …. Test2: La función ‘CONTAINSROW’ no admite la comparación de valores de Textwith valores de tipo Integar. Considere utilizar la función VALOR o FORMATO para convertir uno de los valores «

Estoy seguro de que solo necesito alejarme de esto y es posible que pueda ver mi problema. jajaja

Alguna idea.

tbobolz

En respuesta a tbobolz

Sí, salí a caminar y solucionó mi problema.

¡¡¡Muchas gracias a los dos !!!

jtownsend21

En respuesta a tbobolz

¿El problema fueron las cotizaciones de los valores de DRG en la función?

tbobolz

En respuesta a jtownsend21

Sí señor, DRG está en formato de número entero, ¡mientras que ICD10 es texto! ¡Un simple error, incluso para mí!

Gracias a ustedes dos, mis hijos podrían verme esta noche después de todo.

jtownsend21

En respuesta a jmalone

@jmalone Acabo de tener un momento de «Oh Duhh». Tu camino debería ser más fácil / mejor.

jmalone

En respuesta a jtownsend21

@ jtownsend21 – Tengo esos momentos todo el tiempo Smiley jajaja

Deja un comentario

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