Mark one record as active and unmark the rest automatically

En español (abajo en ingles)

Buen día comunidad, quiero consultarles si alguien sabe cómo hacer para marcar un registro como activo y desmarcar el resto automáticamente.

Tengo una lista de proyectos a los que se le van a sumar ítems mediante un comportamiento, selecciono una cantidad de elementos y estos son incorporados automáticamente a una tabla de "proyectos". Esta tabla de "proyectos" tiene todos los proyectos del usuario. De este modo habría una serie de campos referentes al proyecto, un campo para el (user Id), un campo para el nombre del proyecto activo. 

A traves de la generación de un slice puedo crear visualizaciones y reportes que solamente dejen visible el proyecto activo y el usuario, de esta forma las agregaciones no serían mezcladas.

La única dificultad que estoy teniendo (porque no se me ocurre otra idea) es que no se cómo hacer para seleccionar el proyecto activo y luego que cada behavior se aplique sobre dicha selección. 

Si tengo una lista de proyectos, solo uno pueda ser activo, de forma que antes de comenzar con la selección, tenga yo que elegir sobre cual proyecto realizar el agregado de elementos. 

Lo que yo he pensado es crear una columna virtual ya que esto debería funcionar de esta manera y no con un valor definitivo escrito en la celda. Esta columna se me ocurre debería ser tipo Yes/No y la misma debería ser Yes si el usuario la selecciona como activa y no si el usuario ha seleccionado a otra como ativa. 

La pregunta es ¿Cómo hago yo para que eso se pueda hacer? ¿Estoy en el camino correcto o es mejor cambiar la forma?

No se me ocurre otra idea. Un saludo para todos espero que les sirva en sus proyectos también. 

 

In English

Good morning community, I want to ask if anyone knows how to mark one record as active and unmark the rest automatically.

I have a list of projects to which items are going to be added through a behavior, I select a number of items and these are automatically incorporated into a "projects" table. This "projects" table has all of the user's projects. In this way there would be a series of fields referring to the project, a field for the (user Id), a field for the name of the active project.

Through the generation of a slice I can create visualizations and reports that only leave the active project and the user visible, in this way the aggregations would not be mixed.

The only difficulty I'm having (because I can't think of another idea) is that I don't know how to select the active project and then apply each behavior to that selection.

If I have a list of projects, only one can be active, so that before starting with the selection, I have to choose which project to add elements to.

What I have thought is to create a virtual column since this should work in this way and not with a definitive value written in the cell. This column occurs to me should be type Yes/No and it should be Yes if the user selects it as active and not if the user has selected another as active.

The question is how do I make this possible? Am I on the right track or is it better to change the way?

I can't think of any other idea.

 

Greetings to all, I hope it will serve you in your projects as well.

Solved Solved
0 4 71
1 ACCEPTED SOLUTION

Podrias utilizar una acción compuesta que tenga 2 acciones:

1-Una acción simple que cambie el estado de la fila que elegiste a "Activo"
2-Una acción que ejecute una acción en un grupo de filas, para esto necesitaras una acción simple que cambie el estado de una fila a "No Activo", la idea es que corras esa acción en todas las filas referentes al proyecto, por lo que el target de la misma serian todas las filas del proyecto excepto la fila desde la cual se ejecuto la acción, esto puede lograrse con una expresión como esta:

SELECT(Proyectos[Id Proyecto],[Id Proyecto]<>[_THISROW].[Id Proyecto])

View solution in original post

4 REPLIES 4

Hola @Gustavo_Eduardo, asi que en resumen, queres saber como cambiar el estado de una fila a un valor y los estados de todas las otras filas de la misma tabla a otro simultáneamente?

Mencionaste que dudabas en como aplicar tus behavior's sobre esa fila en particular que señalas como activa, pero necesitaría más detalles para saber exactamente que recomendarte al respecto.


Gracias por tu respuesta @Rafael_ANEIC-PY 

Todavía no tengo tanto detalle pero a los fines prácticos voy a describir mi idea. Supongamos una tabla cuyos campos sean:

Id Proyecto {Text - UNIQUEID()}

Nombre Proyecto {Text}

Usuario {e-mail}

Estado {Text - "Activo"/"No Activo"}

No se si esto es posible. Sin embargo he pensado en un Behavior tipo Switch Button donde uno pueda accionar el botón del proyecto activo (dentro de toda la lista) y que se active únicamente el que se seleccionó, el resto se apague.

 

 

 

 

Podrias utilizar una acción compuesta que tenga 2 acciones:

1-Una acción simple que cambie el estado de la fila que elegiste a "Activo"
2-Una acción que ejecute una acción en un grupo de filas, para esto necesitaras una acción simple que cambie el estado de una fila a "No Activo", la idea es que corras esa acción en todas las filas referentes al proyecto, por lo que el target de la misma serian todas las filas del proyecto excepto la fila desde la cual se ejecuto la acción, esto puede lograrse con una expresión como esta:

SELECT(Proyectos[Id Proyecto],[Id Proyecto]<>[_THISROW].[Id Proyecto])

Lo tomo como soución y te agradezco mucho. Saludos!!!

Top Labels in this Space