cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Gorilla_8
Post Prodigy
Post Prodigy

My first filter condition doesn't work

I have this giant filter from a gallery, and I have a few buttons with variables on them:

 

There are 4 buttons ( each of them contains a variable when clickable) :

Set(DemandaSituacao;"Todas")           -> "ALL"
Set(DemandaSituacao;"Rascunho")     -> "Draft"

Set(DemandaSituacao;"Registrada")    -> "Register"
Set(DemandaSituacao;"Concluída")     -> "Completed"

Here's my code:

If(
    AcessoPermissao = varUser.Email = true || AcessoPermissao = varUser.Email || AcessoPermissaoVisual = varUser.Email;
    SortByColumns(
        Filter(
            FichaDeDemanda;
            If(
                DemandaSituacao = "Registrada";
                Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Suspensa";
                ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                    Criado;
                    "[$-pt-BR]dd/mm/yyyy"
                ) in txtPesquisar.Text;
                If(
                    DemandaSituacao = "Concluída";
                    Situacao.Value = "Concluída" || Situacao.Value = "Cancelada" || Situacao.Value = "Recusada";
                    ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                        Criado;
                        "[$-pt-BR]dd/mm/yyyy"
                    ) in txtPesquisar.Text;
                    If(
                        DemandaSituacao = "Todas";
                        Situacao.Value = "Rascunho" || Situacao.Value = "Elaboração" || Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Concluída" || Situacao.Value = "Suspensa" || Situacao.Value = "Cancelada" || Situacao.Value = "Encerrada";
                        ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                            Criado;
                            "[$-pt-BR]dd/mm/yyyy"
                        ) in txtPesquisar.Text;
                        If(
                            DemandaSituacao = "Rascunho";
                            Situacao.Value = "Rascunho";
                            ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                                Criado;
                                "[$-pt-BR]dd/mm/yyyy"
                            ) in txtPesquisar.Text
                        )
                    )
                )
            )
        );
        "Created";
        If(
            FilterRule;
            Descending;
            Ascending
        )
    );
    SortByColumns(
        Filter(
            FichaDeDemanda;
            varUser.Email = 'Criado por'.Email || Patrocinador.Email = varUser.Email || Representante.Email = varUser.Email;
            If(
                DemandaSituacao = "Rascunho";
                Situacao.Value = "Rascunho";
                ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                    Criado;
                    "[$-pt-BR]dd/mm/yyyy"
                ) in txtPesquisar.Text;
                If(
                    DemandaSituacao = "Registrada";
                    Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Suspensa";
                    ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                        Criado;
                        "[$-pt-BR]dd/mm/yyyy"
                    ) in txtPesquisar.Text;
                    If(
                        DemandaSituacao = "Concluída";
                        Situacao.Value = "Concluída" || Situacao.Value = "Cancelada" || Situacao.Value = "Recusada";
                        ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                            Criado;
                            "[$-pt-BR]dd/mm/yyyy"
                        ) in txtPesquisar.Text;
                        If(
                            DemandaSituacao = "Todas";
                            Situacao.Value = "Rascunho" || Situacao.Value = "Elaboração" || Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Concluída" || Situacao.Value = "Suspensa" || Situacao.Value = "Cancelada" || Situacao.Value = "Encerrada";
                            ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(
                                Criado;
                                "[$-pt-BR]dd/mm/yyyy"
                            ) in txtPesquisar.Text
                        )
                    )
                )
            )
        );
        "Created";
        If(
            FilterRule;
            Descending;
            Ascending
        )
    )
)

 

This is very strange, why doesn't the first condition work?

1 ACCEPTED SOLUTION

Accepted Solutions
v-bofeng-msft
Community Support
Community Support

Hi @Gorilla_8 :

Sorry, your formula is too complicated. I can't confirm from your formula what the actual filter rules are. But one thing is certain is that there should be a problem with the syntax of the if() function you use.

The correct if syntax is:

If( Condition1;ThenResult1;Condition2;ThenResult2;...  ;DefaultResult  )

Maybe you could try this Filter formula:

        Filter(
            FichaDeDemanda;
            If(
                DemandaSituacao = "Registrada";
                (Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Suspensa") &&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado;"[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text);
                DemandaSituacao = "Concluída";
                (Situacao.Value = "Concluída" || Situacao.Value = "Cancelada" || Situacao.Value = "Recusada")&&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado;"[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text);
                DemandaSituacao = "Todas";
                (Situacao.Value = "Rascunho" || Situacao.Value = "Elaboração" || Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Concluída" || Situacao.Value = "Suspensa" || Situacao.Value = "Cancelada" || Situacao.Value = "Encerrada")&&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado;"[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text);
                DemandaSituacao = "Rascunho";
                (Situacao.Value = "Rascunho")&&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado; "[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text)
              )
         )

Hope this helps

Best Regards,

Bof

 

View solution in original post

1 REPLY 1
v-bofeng-msft
Community Support
Community Support

Hi @Gorilla_8 :

Sorry, your formula is too complicated. I can't confirm from your formula what the actual filter rules are. But one thing is certain is that there should be a problem with the syntax of the if() function you use.

The correct if syntax is:

If( Condition1;ThenResult1;Condition2;ThenResult2;...  ;DefaultResult  )

Maybe you could try this Filter formula:

        Filter(
            FichaDeDemanda;
            If(
                DemandaSituacao = "Registrada";
                (Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Suspensa") &&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado;"[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text);
                DemandaSituacao = "Concluída";
                (Situacao.Value = "Concluída" || Situacao.Value = "Cancelada" || Situacao.Value = "Recusada")&&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado;"[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text);
                DemandaSituacao = "Todas";
                (Situacao.Value = "Rascunho" || Situacao.Value = "Elaboração" || Situacao.Value = "Registrada" || Situacao.Value = "Análise" || Situacao.Value = "Análise técnica" || Situacao.Value = "Aprovação" || Situacao.Value = "Concluída" || Situacao.Value = "Suspensa" || Situacao.Value = "Cancelada" || Situacao.Value = "Encerrada")&&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado;"[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text);
                DemandaSituacao = "Rascunho";
                (Situacao.Value = "Rascunho")&&(ID in txtPesquisar.Text || txtPesquisar.Text in AreaDemandante.Value || txtPesquisar.Text in Descricao || Text(Criado; "[$-pt-BR]dd/mm/yyyy") in txtPesquisar.Text)
              )
         )

Hope this helps

Best Regards,

Bof

 

View solution in original post

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Power Apps June 2021

June Power Apps Community Call

Did you miss the call? Check out the recording here!

Top Solution Authors
Top Kudoed Authors
Users online (12,978)