Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago

Condicional

Hola a todos, tengo una pregunta que no puedo resolver.
En esta tabla tengo una columna con IdAuthor, y otra que es Author Category.
Necesito calcular algo como esto:
Si el IdAuthor es Director, Escritor y Guionista, necesito poner "Director y Guionista".
Si el IdAuthor es Director, entonces Director
Sin embargo, cuando aplico mi fórmula con la cláusula SWITCH, no la obtengo para cuando el IdAuthor es Director, Escritor y Escritor al mismo tiempo.
Esta es mi fórmula

¿Me puedes ayudar? Gracias

afrutos_1-1640188597923.png

afrutos_0-1640188517933.png

8 Replies

  • @afrutos , una nueva columna como

    Nueva columna =
    var _1 = countx(filter(Table, [IdAuthor] =earlier([IdAuthor]) && [CategoryAuthor] en {"Director","Writer","Screenwriter"} ) ,[IdAuthor])+0
    var _2 = countx(filter(Table, [IdAuthor] =earlier([IdAuthor]) && [CategoryAuthor] en {"Director"} ) ,[IdAuthor])+0
    devolución
    switch(true(),
    _1=3, "Director y Guionista",
    _2 =1 , "Director",
    [CategoryAuthor]
    )

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hola, lo siento, pero todavía no funciona
      Porque para exaple para el primero debería tener"Director y guionista"

      afrutos_1-1640190554316.png

  • @afrutos

    el Dax que ha resaltado no funciona. Puedes probar esto

    Column = 
    VAR _d=maxx(FILTER('Table','Table'[IdAutor]=EARLIER('Table'[IdAutor])&&'Table'[CategoriaAtor]="Director"),'Table'[CategoriaAtor])
    VAR _g=maxx(FILTER('Table','Table'[IdAutor]=EARLIER('Table'[IdAutor])&&'Table'[CategoriaAtor]="Guionista"),'Table'[CategoriaAtor])
    VAR _a=maxx(FILTER('Table','Table'[IdAutor]=EARLIER('Table'[IdAutor])&&'Table'[CategoriaAtor]="Argumentista"),'Table'[CategoriaAtor])
    return if(_a<>""&&_g<>""&&_d<>"","Director and Screenwriter")

    1.PNG

  • Hay @afrutos ,

    Puede crear una columna calculada como se muestra a continuación, encuentre los detalles en el archivo adjunto.

    Category = 
    VAR _category =
        CONCATENATEX (
            FILTER (
                ALL ( 'Authors' ),
                'Authors'[IdAuthor] = EARLIER ( 'Authors'[IdAuthor] )
            ),
            [CategoryAuthor],
            ",",
            'Authors'[CategoryAuthor]
        )
    RETURN 
        IF (
            _category = "Director,Screenwriter,Writer ",
            "Director and Screenwriter",
            'Authors'[CategoryAuthor]
        )

    Saludos

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hola, gracias ¿cómo creaste la "columna" de colum?
      Necesito hacer este paso antes