I am running into some problems while trying to implement push actions and I am
not sure that they are the appropriate way to accomplish my end goal so let me
describe what I'm trying to do first.

I have a dimension table that holds database cross references for various
databases.  Each row in this table has the accession number and the database
name as columns.  The main table is in a 1:M relationship with the dbxref_dm 
table.

What I would like to do is setup a simple text field filter that queries a
subset of this data e.g. only GenBank accessions.  What I'm trying not to do is
have a drop down list of database names and a text field for the accession.

I started out by making two filters, one a drop down list of database names and
the other a simple text input box that filters on the accession column of the
dbxref table.  Then I tried to place a push action on the text input filter so
that when it is enabled, the database filter is automatically set to whatever
database name I want for the input box.  For example, if I have a text box for
UniProt accessions it would set the database filter to UniProt when enabled.  I
tried this both via the Mart Editor gui and straight XML (see below) and both
failed.  Once this was working I was going to try to hide the database name
filter so end users only saw the UniProt input box in the MartView.

Any help is greatly appreciated.

Thanks,
Josh


<FilterGroup displayName="dbxref" internalName="dbxref">
            <FilterCollection displayName="Database" internalName="db">
                <FilterDescription displayName="Database" displayType="list"
field="db"
                    internalName="db_filter" key="id_key" legal_qualifiers="="
qualifier="=" style="menu"
                    tableConstraint="dbxref__dm" type="list">
                    <Option displayName="GenBank" internalName="GB"
isSelectable="true" value="GB" />
                    <Option displayName="UniProt" internalName="uniprot"
isSelectable="true" value="UniProt" />
                </FilterDescription>
            </FilterCollection>
            <FilterCollection displayName="UniProt" internalName="uniprot_acc">
                <FilterDescription displayName="UniProt" displayType="text"
field="accession"
                    internalName="accession_filter" key="id_key"
legal_qualifiers="=,like" qualifier="like"
                    tableConstraint="dbxref__dm" type="text">
                    <PushAction internalName="dbxref_db_push" ref="db_filter">
                        <Option displayName="UniProt" internalName="uniprot"
isSelectable="true" value="uniprot" />
                    </PushAction>
                </FilterDescription>
            </FilterCollection>
        </FilterGroup>

Reply via email to