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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Generación de valores aleatorios definidos por segmentaciones de página

Hola

Estoy tratando de crear un generador de valor aleatorio y tengo una tabla muy simple que representa mis datos. Básicamente, necesito mostrar una muestra de 3 usuarios aleatorios que no han sido evaluados ('Evaluado'-0). La parte difícil es que también necesito mostrar el ejemplo basado en segmentaciones de página. El usuario del informe debe poder seleccionar un 'Grupo' y la muestra aleatoria debe verse afectada por la segmentación de datos.

Capture3.PNG

He probado algunas cosas:

- He creado una tabla con sólo los usuarios que no han sido evaluados:

Capture.PNG

y luego usé RANDBETWEEN() para obtener un nombre aleatorio de esa tabla:

Capture2.PNG

Esto se mide 3 veces para obtener los 3 nombres (pueden ser los mismos de vez en cuando, pero mi conjunto de datos real es enorme por lo que esto debe ser un escenario de 1 en un millón). Esto funciona bien hasta que intento filtrar en 'Grupo'. Parece que no puedo obtener el nombre aleatorio de un posteriormente seleccionado a través de un grupo de segmentación de datos. Siempre consigo un nombre a todos los usuarios no es desatados. Necesito encontrar una manera de aplicar segmentaciones de páginas en la selección aleatoria.

- También probé SAMPLE(3,'Rand test',0), pero esto crea una tabla DAX que tampoco se puede filtrar por filtros de página y solo vuelve a calcular la actualización del informe.

Me gustaría apreciar cualquier ayuda con mi problema! Gracias de antemano!

saludos

Jagadeesh S

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Sólo quiero decir que entiendo una manera de hacerlo. Puede que no sea perfecto, pero hace exactamente lo que necesito que haga. Creé un parámetro y estoy filtrando mi tabla en ese parámetro. Cada vez que el parámetro cambia, se vuelve a calcular la función SAMPLE() y obtengo una muestra aleatoria del grupo que he seleccionado.

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Sólo quiero decir que entiendo una manera de hacerlo. Puede que no sea perfecto, pero hace exactamente lo que necesito que haga. Creé un parámetro y estoy filtrando mi tabla en ese parámetro. Cada vez que el parámetro cambia, se vuelve a calcular la función SAMPLE() y obtengo una muestra aleatoria del grupo que he seleccionado.

Syndicate_Admin
Administrator
Administrator

No se puede hacer mucho en DAX con un resultado de tabla. Al final de la medida es necesario tener un valor escalar.

Sí, en caso de que use una medida, no podré tener una tabla como salida, pero SAMPLE() me daría una tabla. Necesito una tabla porque en algunos escenarios tendría que hacer una lista aleatoria con hasta 70 personas. No quiero hacer 70 medidas y no poder extraerlas en una sola lista.

Syndicate_Admin
Administrator
Administrator

No @lbendlin,

Así que sí, voy a tratar de hacer el requisito lo más claro posible.

1. tenemos una lista de personas (cada persona pertenece a un grupo)

2. seleccione un grupo

3. seleccione cuál debe ser mi tamaño de muestra

4. tener una lista aleatoria de personas que formen parte del grupo seleccionado.

Lo que obtengo actualmente es una lista aleatoria de personas, pero falta la parte del grupo. No puedo conseguir que el filtro afecte al resultado final. Lo que también descubrí es que lo más probable es que necesite una salida de tabla, lo que probablemente hace que SAMPLE() sea una mejor opción. ¿Puedo crear un parámetro para achive paso 3?

saludos

Jagadeesh S

Syndicate_Admin
Administrator
Administrator

Observaciones

  • El recálculo depende de varios factores, incluido si el modelo está establecido en modo de recálculo manual o automático, y si los datos se han actualizado.

  • RAND y otras funciones volátiles que no tienen valores fijos no siempre se vuelven a calcular. Por ejemplo, la ejecución de una consulta o el filtrado normalmente no hará que dichas funciones se vuelvan a evaluar. Sin embargo, los resultados de estas funciones se volverán a calcular cuando se vuelva a calcular toda la columna. Estas situaciones incluyen la actualización desde un origen de datos externo o la edición manual de datos que provoca la reevaluación de las fórmulas que contienen estas funciones.

  • RAND siempre se vuelve a calcular si la función se utiliza en la definición de una medida.

Por lo tanto, supuestamente debería poder hacer esto en una medida basada en un evento de cambio de filtro. ¿Puedes eliminar un poco más la declaración del problema? Como, "Tener una lista de personas, aplicar un filtro arbitrario a la lista, y luego elegir dos elementos de la lista restante" - ¿sería correcto?

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors