Cas dans la liste - Tableau

0

La question

Je suis en train de filtrer une quantité énorme de données, j'ai donc décidé de créer un champ calculé et à l'aide de cas si product_id dans la liste des '1' else '0' mais pour quelque raison il si une erreur de syntaxe.

c'est mon champ calculé:

CAS quand product_id dans ( '31049','31048','26166','27816','26031','28861','28864','28863','28203','28110','20641','38112','45174','20645','28404','20646','20648','26159','33287','31417','40551','41020','40550','40550','40553','40554','29804','29941','31430','33354','36730','26073','31432','31433','31431','38154','38166','26029','28341','45138','38069','42069','26060','26060','33886','33886','28392','29518','44879','20651','20655','42914','37535','28031','27588','29297','37688','37709','29551','29551','30183','29550','26187','29549','41348') ENSUITE, '1' ELSE '0' FIN

Aucune idée de qui il doit être écrit?

Merci d'avance :)

3

La meilleure réponse

2

Sur un échantillon de données, cela fonctionne:

SELECT RIDE_ID as ri,
CASE 
 WHEN ri in ('5EB0FAD625CFAEAB', '5A9314E3AF8DCC30') THEN '1'
 ELSE '0'
END AS result
FROM CITIBIKE_TRIPS LIMIT 10; 

J'obtiens: enter image description here

2021-11-18 09:26:23

oui, il fonctionne dans la base de données mais pas dans le Tableau :) je ne pouvais pas courir dans un champ calculé
Razan Aldossary

Donc l'erreur est alors sur le Tableau et non pas de Flocon de neige? Je ne suis pas familier avec la façon dont les champs calculés travail dans Tableau, malheureusement.
Sergiu
0

oui, il fonctionne dans la base de données mais pas dans le Tableau :) je ne pouvais pas courir dans un champ calculé

Peut-être l'aide LATERAL permettrait pour l'exécuter à partir de Tableau:

CREATE OR REPLACE TABLE t(ID  INT, product_id TEXT);
INSERT IGNORE INTO t VALUES (1, '31049'),(2,'31048'), (3, '100');


SELECT *
FROM t
,LATERAL (SELECT CASE WHEN t.product_id IN ( '31049','31048','26166','27816'/*...*/) 
                      THEN '1' ELSE '0' END) AS s(result);

enter image description here

2021-11-18 16:05:47
0

Une option— créer une table avec vos clés que vous souhaitez filtrer, puis utiliser une jointure de laisser la base de données de faire le travail. Pourrait être plus facile à entretenir. Probablement plus efficace

Une autre option est de créer un Tableau basé sur la product_id champ. Définir celui qui est fixé par la vérification de l'id de produit que vous souhaitez, puis placez l'ensemble du filtre en plateau de filtre pour inclure ou exclure les product_ids de votre ensemble.

2021-11-20 00:36:47

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................