2017-04-03 1 views
0

Je travaille avec une analyse qui utilise une instruction filter pour exécuter un calcul sur les données. L'utilisateur veut pouvoir changer entre deux valeurs différentes pour voir différentes combinaisons de scénarios. Je continue d'obtenir une erreur de syntaxe sur la formule et je n'arrive pas à comprendre où je me trompe. J'y suis allé encore et encore et je ne sais pas où je me trompe, toute aide serait génial.Utilisation d'une invite Variable et d'une instruction de filtre pour une valeur de colonne

Code Mise à jour:

(FILTER(IFNULL("INDRATES"."Client Site Wrap Rate",0) USING ("Scenario"."Scenario - Default" = @{Scenario_1}{"Scenario"."Scenario - Default"})))-(FILTER(IFNULL("INDRATES"."Client Site Wrap Rate",0) USING ("Scenario"."Scenario - Default" = @{Scenario_2}{"Scenario"."Scenario - Default"}))) 
+1

Salut, essayez de mettre la seule citation pour la variable comme ceci: '@ {Scenario_2} {plan} – Dewanta

+0

Je pensais que c'était que pour les chaînes, j'ai réussi à l'obtenir il n'est pas jeter une erreur de syntaxe, mais il est toujours à 0 –

+1

Cela signifie que la valeur est nulle, et votre formule transtypage la valeur nulle en 0. Vous pouvez vérifier la partie de la formule à nouveau si elle doit retourner une valeur spécifique. – Dewanta

Répondre

1

J'ai finalement résolu le problème alors je me suis dit que je posterais la réponse complète, et grâce à ceux qui ont commenté, ils comportaient des éléments de la réponse. Donc, le problème initial que nous avons rencontré était la section IN qui aurait dû être un signe = pour terminer l'expression FILTER. Deuxièmement, nous n'avons pas défini le filtre pour Scenario.Scenario - Default pour égaler une expression de variable. troisièmement, nous essayions d'entrer une valeur par défaut pour Scenario_1 et Scenario_2 dont nous n'avions pas besoin dans le tableau de bord (mais il faut le définir pour pouvoir l'afficher dans l'analyse). Enfin, comme le premier commentaire mentionné, il avait besoin d'une seule citation «autour du @ {Scenario_1} car il cherchait une valeur de texte et non une valeur numérique. La syntaxe et le code de travail corrects sont placés ci-dessous.

((FILTER(IFNULL("INDRATES"."Client Site Wrap Rate",0) USING ("Scenario"."Scenario - Default" = '@{Scenario_1}')))-(FILTER(IFNULL("INDRATES"."Client Site Wrap Rate",0) USING ("Scenario"."Scenario - Default" = '@{Scenario_2}'))))