Actuate Data Analyzer - Filter Not Working

delee
edited February 11, 2022 in Analytics #1
<p>I have created the html to display a Actuate data object using the Data Analyzer in our local Application.  I have a need to filter the data based on a column in thedata object called "AGENCY_CODE'". The data object displays fine using the Data Analyzer, until I reference the filter. The a blank screen.displays. The relevent code snippet is below. What am I doing wrong? Thanks in advance.</p>
<p> </p>
<p> </p>
<div>             function loadAnalyzer(){</div>
<div>                          var pathName = "/Resources/DO-715-A_B_G.data";</div>
<div>           ===>>      var agencyfilter = new actuate.xtabanalyzer.Filter("AGENCY_CODE",<br>
                                                                                     actuate.xtabanalyzer.Filter.EQ, "AB00");</div>
<div>                          dataAnalyzer = new actuate.XTabAnalyzer('xtabContainer');</div>
<div>                          dataAnalyzer.setWidth(1500);</div>
<div>                          dataAnalyzer.setHeight(900);   </div>
<div>          ==>>         dataAnalyzer.getCrosstab().setFilters(agencyfilter);   </div>
<div>                          dataAnalyzer.setDatamartFile(pathName);</div>
<div>                          dataAnalyzer.submit();</div>
<div>             }</div>

Comments

  • <p>Hi delee,</p>
    <p> </p>
    <p>If you attempt to add a filter in the data analyzer interface, the only time you can add it is after the crosstab already has data in it. It stands to reason that this would be the case when trying to attempt it via script as well.</p>
    <p> </p>
    <p>I believe the current behavior is due to the nature of the filter. When you add filters to the crosstab, it's placing it directly on the crosstab, rather than on the data. If the crosstab does not yet exist, then there is nowhere for the filter to be placed.</p>
    <p> </p>
    <p>Assuming your goal is to have a blank slate that users start from to create their own crosstabs, you may want to pre-filter the data via the datadesign, rather than filter it in the data analyzer itself.</p>
    <p> </p>
    <p>I hope that helps.</p>
    <p> </p>
    <p> </p>
    <p>Regards,</p>
    <p>Chad Montgomery</p>
    <p>Customer Support Engineer  |  Customer Support</p>
    Warning No formatter is installed for the format ipb
  • <p>Hi Chad,</p>
    <p> </p>
    <p>The data object is created and has all of the data, but when accessed through the Data Analyzer, I only want it to show a subset of the data based on a filter dynamically created through our local application.</p>
  • <blockquote class="ipsBlockquote" data-author="delee" data-cid="147268" data-time="1491218986">
    <div>
    <p>Hi Chad,</p>
    <p> </p>
    <p>The data object is created and has all of the data, but when accessed through the Data Analyzer, I only want it to show a subset of the data based on a filter dynamically created through our local application.</p>
    </div>
    </blockquote>
    <p> </p>
    <p> </p>
    <p>I don't believe this to be possible. You can definitely add filters to an existing crosstab in data analyzer, but if you want to filter out this data so that users can only see a subset of the data from the .data object when they open data analyzer, it'd have to be filtered beforehand.</p>
    <p> </p>
    <p>As for filtering beforehand, the only thing I can think of is to have another data object that filters down the original data object further, but that doesn't sound ideal based on the fact that your filter is dynamic and you'd need a datadesign for every filter combination.</p>
    <p> </p>
    <p>Based on what you're trying to do with data. You may be able to use row level security on the data object in order to limit different rows based on the user accessing it.</p>
    Warning No formatter is installed for the format ipb