Getting AggregateResult variables from Execute Anonymous Window Unicorn Meta Zoo #1: Why...

How long can a nation maintain a technological edge over the rest of the world?

Where/What are Arya's scars from?

Why I cannot instantiate a class whose constructor is private in a friend class?

What's the difference between using dependency injection with a container and using a service locator?

How do I deal with an erroneously large refund?

How would it unbalance gameplay to rule that Weapon Master allows for picking a fighting style?

Raising a bilingual kid. When should we introduce the majority language?

Could a cockatrice have parasitic embryos?

When I export an AI 300x60 art board it saves with bigger dimensions

Is there a verb for listening stealthily?

What is the ongoing value of the Kanban board to the developers as opposed to management

Why aren't road bicycle wheels tiny?

Test if all elements of a Foldable are the same

In search of the origins of term censor, I hit a dead end stuck with the greek term, to censor, λογοκρίνω

How can I wire a 9-position switch so that each position turns on one more LED than the one before?

Where to find documentation for `whois` command options?

My admission is revoked after accepting the admission offer

A journey... into the MIND

Why doesn't the university give past final exams' answers?

Why did Europeans not widely domesticate foxes?

Bright yellow or light yellow?

All ASCII characters with a given bit count

What's called a person who works as someone who puts products on shelves in stores?

false 'Security alert' from Google - every login generates mails from 'no-reply@accounts.google.com'



Getting AggregateResult variables from Execute Anonymous Window



Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar Manara
2019 Community Moderator Election ResultsRun a standard set controller extension from execute anonymousCan I return entire record set when using the Execute Anonymous Window in Dev Console?Execute anonymous - switch projectsSOQL: Execute Anonymous and Query Editor returning different resultsAutomatic re-naming of bind variable in Execute Anonymous debug log - why did/does this happen?How SOQL For Loop instead of SOQL may solve System.LimitException: Too many query rows: 50001?Execute a schedulable class from execute anonymous windowAggregateResult looping over empty query?'Expecting colon' error in SOQL query when not using a variableRunning Batch in Execute Anonymous but throwing error: method does not exist or incorrect signature void format string from the type anon





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







3















I am trying to execute a block of code using the Execute Anonymous Window that is meant to delete some duplicated data, but I am getting this weird error about a variable not existing even though my debugging says otherwise.



Here is what I have:



List<AggregateResult> ars = [SELECT YTPQuiz__c quiz FROM YTPQuestion__c GROUP BY YTPQuiz__c HAVING Count(Id) > 1];
System.debug(ars);
for (AggregateResult ar : ars) {
System.debug(ar.quiz);
}


In the for-loop you will see I simply print the quiz variable I assigned during the SOQL statement, but I get an error saying that this variable does not exist.



If I replace this debug line with System.debug(ar) the log print out a bunch of object like:



DEBUG|AggregateResult:{quiz=a1XY0000000012}
DEBUG|AggregateResult:{quiz=a1XY0000000013}
DEBUG|AggregateResult:{quiz=a1XY0000000014}
DEBUG|AggregateResult:{quiz=a1XY0000000015}


Yet, I can't access the quiz variable.



If I don't alias YTPQuiz__c as quiz then it will print out



DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000012}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000013}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000014}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000015}


Yet, I get the error that ar.YTPQuiz__c variable doesn't exist. I even tried ar.expr0 and it said that variable doesn't exist.



I've done this exact same method of accessing AggregateResults in APEX classes and it works perfectly fine, but not this Anonymous Execution Window... What could possibly be wrong?










share|improve this question























  • As far as I know you will need to use ar.get('quiz') to be able to get the data here. If you don't have aliases, then you use ar.get('expr0') and so on depending on the order of the field.

    – Jayant Das
    4 hours ago


















3















I am trying to execute a block of code using the Execute Anonymous Window that is meant to delete some duplicated data, but I am getting this weird error about a variable not existing even though my debugging says otherwise.



Here is what I have:



List<AggregateResult> ars = [SELECT YTPQuiz__c quiz FROM YTPQuestion__c GROUP BY YTPQuiz__c HAVING Count(Id) > 1];
System.debug(ars);
for (AggregateResult ar : ars) {
System.debug(ar.quiz);
}


In the for-loop you will see I simply print the quiz variable I assigned during the SOQL statement, but I get an error saying that this variable does not exist.



If I replace this debug line with System.debug(ar) the log print out a bunch of object like:



DEBUG|AggregateResult:{quiz=a1XY0000000012}
DEBUG|AggregateResult:{quiz=a1XY0000000013}
DEBUG|AggregateResult:{quiz=a1XY0000000014}
DEBUG|AggregateResult:{quiz=a1XY0000000015}


Yet, I can't access the quiz variable.



If I don't alias YTPQuiz__c as quiz then it will print out



DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000012}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000013}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000014}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000015}


Yet, I get the error that ar.YTPQuiz__c variable doesn't exist. I even tried ar.expr0 and it said that variable doesn't exist.



I've done this exact same method of accessing AggregateResults in APEX classes and it works perfectly fine, but not this Anonymous Execution Window... What could possibly be wrong?










share|improve this question























  • As far as I know you will need to use ar.get('quiz') to be able to get the data here. If you don't have aliases, then you use ar.get('expr0') and so on depending on the order of the field.

    – Jayant Das
    4 hours ago














3












3








3








I am trying to execute a block of code using the Execute Anonymous Window that is meant to delete some duplicated data, but I am getting this weird error about a variable not existing even though my debugging says otherwise.



Here is what I have:



List<AggregateResult> ars = [SELECT YTPQuiz__c quiz FROM YTPQuestion__c GROUP BY YTPQuiz__c HAVING Count(Id) > 1];
System.debug(ars);
for (AggregateResult ar : ars) {
System.debug(ar.quiz);
}


In the for-loop you will see I simply print the quiz variable I assigned during the SOQL statement, but I get an error saying that this variable does not exist.



If I replace this debug line with System.debug(ar) the log print out a bunch of object like:



DEBUG|AggregateResult:{quiz=a1XY0000000012}
DEBUG|AggregateResult:{quiz=a1XY0000000013}
DEBUG|AggregateResult:{quiz=a1XY0000000014}
DEBUG|AggregateResult:{quiz=a1XY0000000015}


Yet, I can't access the quiz variable.



If I don't alias YTPQuiz__c as quiz then it will print out



DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000012}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000013}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000014}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000015}


Yet, I get the error that ar.YTPQuiz__c variable doesn't exist. I even tried ar.expr0 and it said that variable doesn't exist.



I've done this exact same method of accessing AggregateResults in APEX classes and it works perfectly fine, but not this Anonymous Execution Window... What could possibly be wrong?










share|improve this question














I am trying to execute a block of code using the Execute Anonymous Window that is meant to delete some duplicated data, but I am getting this weird error about a variable not existing even though my debugging says otherwise.



Here is what I have:



List<AggregateResult> ars = [SELECT YTPQuiz__c quiz FROM YTPQuestion__c GROUP BY YTPQuiz__c HAVING Count(Id) > 1];
System.debug(ars);
for (AggregateResult ar : ars) {
System.debug(ar.quiz);
}


In the for-loop you will see I simply print the quiz variable I assigned during the SOQL statement, but I get an error saying that this variable does not exist.



If I replace this debug line with System.debug(ar) the log print out a bunch of object like:



DEBUG|AggregateResult:{quiz=a1XY0000000012}
DEBUG|AggregateResult:{quiz=a1XY0000000013}
DEBUG|AggregateResult:{quiz=a1XY0000000014}
DEBUG|AggregateResult:{quiz=a1XY0000000015}


Yet, I can't access the quiz variable.



If I don't alias YTPQuiz__c as quiz then it will print out



DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000012}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000013}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000014}
DEBUG|AggregateResult:{YTPQuiz__c=a1XY0000000015}


Yet, I get the error that ar.YTPQuiz__c variable doesn't exist. I even tried ar.expr0 and it said that variable doesn't exist.



I've done this exact same method of accessing AggregateResults in APEX classes and it works perfectly fine, but not this Anonymous Execution Window... What could possibly be wrong?







soql execute-anonymous aggregateresult






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 4 hours ago









BlondeSwanBlondeSwan

34110




34110













  • As far as I know you will need to use ar.get('quiz') to be able to get the data here. If you don't have aliases, then you use ar.get('expr0') and so on depending on the order of the field.

    – Jayant Das
    4 hours ago



















  • As far as I know you will need to use ar.get('quiz') to be able to get the data here. If you don't have aliases, then you use ar.get('expr0') and so on depending on the order of the field.

    – Jayant Das
    4 hours ago

















As far as I know you will need to use ar.get('quiz') to be able to get the data here. If you don't have aliases, then you use ar.get('expr0') and so on depending on the order of the field.

– Jayant Das
4 hours ago





As far as I know you will need to use ar.get('quiz') to be able to get the data here. If you don't have aliases, then you use ar.get('expr0') and so on depending on the order of the field.

– Jayant Das
4 hours ago










2 Answers
2






active

oldest

votes


















2














If you alias the field, you then call .get('alias'). In your case, you would do something like:



for (AggregateResult aggregate : [
SELECT YTPQuiz__c quiz FROM YTPQuestion__c
GROUP BY YTPQuiz__c HAVING Count(Id) > 1
]){
Id quizId = (Id)aggregate.get('quiz');
}





share|improve this answer































    2














    You will need to utilize ar.get(alias-name) here based on the Working with SOQL Aggregate Functions documentation.



    So in your case it will be:



    ar.get('quiz');


    If you didn't have any aliasing, then you would have to use expri depending on the appearance of the field in the query.






    share|improve this answer
























      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "459"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f258860%2fgetting-aggregateresult-variables-from-execute-anonymous-window%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      2














      If you alias the field, you then call .get('alias'). In your case, you would do something like:



      for (AggregateResult aggregate : [
      SELECT YTPQuiz__c quiz FROM YTPQuestion__c
      GROUP BY YTPQuiz__c HAVING Count(Id) > 1
      ]){
      Id quizId = (Id)aggregate.get('quiz');
      }





      share|improve this answer




























        2














        If you alias the field, you then call .get('alias'). In your case, you would do something like:



        for (AggregateResult aggregate : [
        SELECT YTPQuiz__c quiz FROM YTPQuestion__c
        GROUP BY YTPQuiz__c HAVING Count(Id) > 1
        ]){
        Id quizId = (Id)aggregate.get('quiz');
        }





        share|improve this answer


























          2












          2








          2







          If you alias the field, you then call .get('alias'). In your case, you would do something like:



          for (AggregateResult aggregate : [
          SELECT YTPQuiz__c quiz FROM YTPQuestion__c
          GROUP BY YTPQuiz__c HAVING Count(Id) > 1
          ]){
          Id quizId = (Id)aggregate.get('quiz');
          }





          share|improve this answer













          If you alias the field, you then call .get('alias'). In your case, you would do something like:



          for (AggregateResult aggregate : [
          SELECT YTPQuiz__c quiz FROM YTPQuestion__c
          GROUP BY YTPQuiz__c HAVING Count(Id) > 1
          ]){
          Id quizId = (Id)aggregate.get('quiz');
          }






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 4 hours ago









          Adrian LarsonAdrian Larson

          111k19121259




          111k19121259

























              2














              You will need to utilize ar.get(alias-name) here based on the Working with SOQL Aggregate Functions documentation.



              So in your case it will be:



              ar.get('quiz');


              If you didn't have any aliasing, then you would have to use expri depending on the appearance of the field in the query.






              share|improve this answer




























                2














                You will need to utilize ar.get(alias-name) here based on the Working with SOQL Aggregate Functions documentation.



                So in your case it will be:



                ar.get('quiz');


                If you didn't have any aliasing, then you would have to use expri depending on the appearance of the field in the query.






                share|improve this answer


























                  2












                  2








                  2







                  You will need to utilize ar.get(alias-name) here based on the Working with SOQL Aggregate Functions documentation.



                  So in your case it will be:



                  ar.get('quiz');


                  If you didn't have any aliasing, then you would have to use expri depending on the appearance of the field in the query.






                  share|improve this answer













                  You will need to utilize ar.get(alias-name) here based on the Working with SOQL Aggregate Functions documentation.



                  So in your case it will be:



                  ar.get('quiz');


                  If you didn't have any aliasing, then you would have to use expri depending on the appearance of the field in the query.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 4 hours ago









                  Jayant DasJayant Das

                  19k21331




                  19k21331






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Salesforce Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f258860%2fgetting-aggregateresult-variables-from-execute-anonymous-window%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Фонтен-ла-Гаярд Зміст Демографія | Економіка | Посилання |...

                      Список ссавців Італії Природоохоронні статуси | Список |...

                      Маріан Котлеба Зміст Життєпис | Політичні погляди |...