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

Could a cockatrice have parasitic embryos?

What is the evidence that custom checks in Northern Ireland are going to result in violence?

Is there a verb for listening stealthily?

Are these square matrices always diagonalisable?

Does Prince Arnaud cause someone holding the Princess to lose?

Why did Israel vote against lifting the American embargo on Cuba?

Like totally amazing interchangeable sister outfit accessory swapping or whatever

Does a Draconic Bloodline sorcerer's doubled proficiency bonus for Charisma checks against dragons apply to all dragon types or only the chosen one?

All ASCII characters with a given bit count

/bin/ls sorts differently than just ls

What *exactly* is electrical current, voltage, and resistance?

Why do people think Winterfell crypts is the safest place for women, children & old people?

Putting Ant-Man on house arrest

Are there existing rules/lore for MTG planeswalkers?

How to keep bees out of canned beverages?

Why did Europeans not widely domesticate foxes?

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

Why isPrototypeOf() returns false?

How was Lagrange appointed professor of mathematics so early?

Will I be more secure with my own router behind my ISP's router?

Bright yellow or light yellow?

Was there ever a LEGO store in Miami International Airport?

Is it OK if I do not take the receipt in Germany?

What is /etc/mtab in Linux?



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
    5 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
    5 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 5 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
    5 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
    5 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
5 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
5 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 5 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 5 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

                      Nidaros erkebispedøme

                      Birsay

                      Was Woodrow Wilson really a Liberal?Was World War I a war of liberals against authoritarians?Founding Fathers...