2017-10-20 19 views
0

J'ai dataset1 qui a quelque chose comme SELECT userID from table1 where ... de database1Comment définir la valeur de sélection d'un jeu de données en tant que paramètre dans d'autres ensembles de données dans BI Publisher

et j'ai dataset2 qui a une certaine SQL compliquée database2 qui doit a le paramètre ... where userID = :userID...

Alors, comment puis-je passer ce userID que je reçois en SQL de DB1 à SQL que je cours dans DB2?

+0

Vous avez un lien de base de données entre les deux bases de données? –

+0

Je n'administre pas cette base de données mais je suppose que c'est possible, cela fonctionnera-t-il dans l'éditeur BI? – HoTTab1CH

+0

Il est difficile de dire à partir de votre question, mais il me semble que vous demandez simplement comment joindre une table dans une base de données à une autre table dans une base de données différente. Et un lien de base de données fournit un moyen simple de le faire. Si vous pouvez obtenir la jointure pour travailler dans SQL, vous pouvez obtenir la jointure pour travailler dans BIP. Mais il se pourrait aussi que mon instinct de simplification m'ait fait mal lire votre question –

Répondre

0

Voici un exemple simple. Deux requêtes comme vous l'avez mentionné. J'ai un paramètre entrant pour sélectionner un ensemble de la première table (enregistrements parents). Et puis je passe l'ID utilisateur à la deuxième requête (enregistrements enfants). Je montre comment cela fonctionne dans la structure de données, comment chaque enregistrement parent peut avoir des enregistrements enfants.

<?xml version="1.0" ?> 
<dataTemplate name="DATA_DEFINITION_NAME" version="1.0" defaultPackage="DATA_DEFINITION_CODE"> 
<properties> 
<property name="ENCODING" value="windows-1252"/> 
<property name="debug_mode" value="on" /> 
<property name="scalable_mode" value="on" /> 
</properties> 
<parameters> 
<parameter name="i_parameter" dataType="NUMBER" /> 
</parameters> 
<dataQuery> 
<sqlStatement name="Q_TABLE_1"><![CDATA[select userid, username from table1 where column1 = :i_parameter ]]></sqlStatement> 
<sqlStatement name="Q_TABLE_2"><![CDATA[select ValueColumn from table2 where userid = :userid ]]></sqlStatement> 
</dataQuery> 
<dataStructure> 
<group name="users" source="Q_TABLE_1"> 
<element name="username"   value="username"   /> 
<group name="userdata" source="Q_TABLE_2"> 
<element name="ValueColumn"      value="ValueColumn"    /> 
</group> 
</group> 
</dataStructure> 
</dataTemplate>