Forum Discussion

ricardo_cvo's avatar
ricardo_cvo
Helper I
9 years ago
Solved

Using multiple AND conditions along with the filtered

Good evening everyone,

 

I am using Power BI to run a query in CRM 365, I am using the $ filtered parameter to bring the data of a certain company, however I would like to add to this same filter more companies, using the AND condition this is possible?

 

Thank you

  • Eric_Zhang's avatar
    Eric_Zhang
    9 years ago

    ricardo_cvo

    A draft demo would like below. This demo would embed a report and apply a filter. It would require some javascript skill.

    <html>
    
     <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/jquery/dist/jquery.js"></script>  
     <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/powerbi-client/dist/powerbi.js"></script>
     
    <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/es6-promise/es6-promise.js"></script>
    <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/fetch/fetch.js"></script>
         
    
    <script type="text/javascript">
    window.onload = function () {
     
    var embedConfiguration = {
        type: 'report',
        accessToken: 'a valid token',
        id: '734503cf-xxxx-xxxx-xxxx-791d62c154ad',
        embedUrl: 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=734503cf-xxxx-xxxx-xxxx-791d62c154ad' 
    }; 
    
    var $reportContainer = $('#reportContainer');
     
    var report = powerbi.embed($reportContainer.get(0), embedConfiguration);
       
    
     afilter = {
      $schema: "http://powerbi.com/product/schema#advanced",
      target: {
        table: "tablename",
        column: "columname"
      },
      logicalOperator: "Or",
      conditions: [
        {
          operator: "Contains",
          value: "somevalue1"
        },
        {
          operator: "Contains",
          value: "somevalue2"
        }
      ]
    }
    
    report.on('loaded', event => {
                        report.getFilters()
                        .then(filters => {
                            filters.push(afilter);
                            return report.setFilters(filters);
                        })
                    })
    
    }
    </script>
    
    <div id="reportContainer"></div>
    
    </html>
    

     

3 Replies

    • ricardo_cvo's avatar
      ricardo_cvo
      Helper I

      Could you please give more details or some example, power bi has had very little documentation

      • Eric_Zhang's avatar
        Eric_Zhang
        Microsoft Employee

        ricardo_cvo

        A draft demo would like below. This demo would embed a report and apply a filter. It would require some javascript skill.

        <html>
        
         <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/jquery/dist/jquery.js"></script>  
         <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/powerbi-client/dist/powerbi.js"></script>
         
        <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/es6-promise/es6-promise.js"></script>
        <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/bower_components/fetch/fetch.js"></script>
             
        
        <script type="text/javascript">
        window.onload = function () {
         
        var embedConfiguration = {
            type: 'report',
            accessToken: 'a valid token',
            id: '734503cf-xxxx-xxxx-xxxx-791d62c154ad',
            embedUrl: 'https://embedded.powerbi.com/appTokenReportEmbed?reportId=734503cf-xxxx-xxxx-xxxx-791d62c154ad' 
        }; 
        
        var $reportContainer = $('#reportContainer');
         
        var report = powerbi.embed($reportContainer.get(0), embedConfiguration);
           
        
         afilter = {
          $schema: "http://powerbi.com/product/schema#advanced",
          target: {
            table: "tablename",
            column: "columname"
          },
          logicalOperator: "Or",
          conditions: [
            {
              operator: "Contains",
              value: "somevalue1"
            },
            {
              operator: "Contains",
              value: "somevalue2"
            }
          ]
        }
        
        report.on('loaded', event => {
                            report.getFilters()
                            .then(filters => {
                                filters.push(afilter);
                                return report.setFilters(filters);
                            })
                        })
        
        }
        </script>
        
        <div id="reportContainer"></div>
        
        </html>