How to add subquery inside yii2 grid view

I want to use below queryin one of my grid view.


select id,ad_id,sum(impression) total_impression,sum(view) total_views,sum(clicks) total_clicks,publisher_idfrom(SELECT id,ad_id,max(impression) impression,max(view) view,max(clicks) clicks,visitor_ip,publisher_idFROM ad_analyticswhere publisher_id = Yii::$app->user->identity->id GROUP BY ad_id, visitor_ip) t;

The grid view at present looks like this.


<?= GridView::widget([


        //'dataProvider' => $dataProvider,

        'dataProvider'=>new ActiveDataProvider([

          'query' => Adanalytics::find()->

                  // $subquery = select('id,ad_id,max(impression) impression,max(view) view,max(clicks) clicks,visitor_ip,publisher_id')->

                  //     from('ad_analytics'),

                //where(['publisher_id' =>  Yii::$app->user->identity->id ])->

                select('ad_id,sum(impression) total_impression,sum(view) total_views,sum(clicks) total_clicks,publisher_id')->

                from('ad_analytics'),

                //groupBy('ad_id, visitor_ip'),

        ]),

        'filterModel' => $searchModel,

        'columns' => [

            ['class' => 'yii\grid\SerialColumn'],


            //'id',

            'ad_id',

            //'advertiser_id',

            //'publisher_id',

            //'visitor_ip',

            //'type_ad',

            //'impression',

            //'view',

            //'clicks',

            'total_clicks',

            'total_views',

            'total_impression',


            //'placed_date',

            //'cpc',

            //'cpv',

            //'cpclick',

            //'cpview',

            //'totalccost',

            //'cpi',

            //'cpview',

              // [

              //     'label' => 'Totalcost',

              //     'value' => function($model){

              //         return $model->cpclick * $model->clicks;

              //     }

              // ],




            ['class' => 'yii\grid\ActionColumn'],

        ],

    ]); ?>

How can i do this?

I have solved the problem in at this way


    <?php

      $subquery = Adanalytics::find()->

                select('id,ad_id,max(impression) impression,max(view) view,max(clicks) clicks,visitor_ip,publisher_id')->

                from('ad_analytics')->

                where(['publisher_id' =>  Yii::$app->user->identity->id ])->

                groupBy('ad_id, visitor_ip');

      $query=Adanalytics::find()->

              // $subquery = select('id,ad_id,max(impression) impression,max(view) view,max(clicks) clicks,visitor_ip,publisher_id')->

              //     from('ad_analytics'),

            //where(['publisher_id' =>  Yii::$app->user->identity->id ])->

            select('ad_id,sum(impression) total_impression,sum(view) total_views,sum(clicks) total_clicks,publisher_id')->

            from(['t'=>$subquery]);

     ?>

And inside the grid view


'query' => $query,