.. _microsoft-365-license-&-activity-user-drilldown:

Microsoft 365 License & Activity - User Drilldown
-------------------------------------------------





Drilldown view of a single user: license cost and utilization, Teams activity counters, and usage over time for the selected date range and datasource.




.. raw:: latex


   \sphinxstylestrong{Counters}

   \begin{itemize}
   
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Days since last activity}}}}
    
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Monthly Cost}}}}
    
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Ad Hoc Meetings Organized}}}}
    
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Potential Monthly Savings}}}}
    
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Teams Meeting Count}}}}
    
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Teams Call Count}}}}
    
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Teams Message Count}}}}
    
    
    \item {\hyperref[\detokenize{}]{\sphinxcrossref{\DUrole{std,std-ref}{Teams Private Message Count}}}}
       
   \end{itemize}


  



   \sphinxstylestrong{Charts}
   \begin{itemize}
   
   
   \item \sphinxstylestrong{ Usage Over Time }
   \begin{itemize}
   \item \sphinxstylestrong{Description:} Trend of Teams meetings, calls, and ad hoc meetings organized for this user over the selected range.
   \item \sphinxstylestrong{Type:} chart-line 
    \item \sphinxstylestrong{Resource:} Microsoft O365 Activity Snapshot History
    
    \end{itemize}  
 
   \end{itemize}






  

   \sphinxstylestrong{Text}
   
   
     \begin{itemize}
     \item \sphinxstylestrong{ User Summary }
     \begin{itemize}
     \item \sphinxstylestrong{Resource:} Microsoft O365 Activity Summary
     \item \sphinxstylestrong{Datasource:} LXT0
     
     \item \sphinxstylestrong{Fields:}
     \begin{itemize}
       
       \item User Principal Name (user_principal_name) - Select Query
       
       \item User Id (user_id) - Select Query
       
       \item Display Name (display_name) - Select Query
       
       \item Department (department) - Select Query
       
       \item Office Location (office_location) - Select Query
       
       \item Located At (located_at) - Grouping Count
       
       \item Last Activity Date (last_activity_date) - Select Query
       
       \item Is Account Enabled (is_account_enabled) - Select Query
       
       \item Recommended Action (recommended_action) - Select Query
       
       \item Assigned Licenses (assigned_products) - Select Query
       
     \end{itemize}
     
      \item \sphinxstylestrong{Content:}
      

      .. raw:: latex

          \begin{verbatim}
        <div style="max-width:1100px;margin:0 auto;">
          \{\% set user = rows[0] if rows and rows|length > 0 else \{\} \%\}
          \{\# User pkid (Id) used for Manage User link, but not displayed \#\}
          \{\% if user['Id'] is defined \%\}
            \{\% set user\_pkid = user['Id'] \%\}
          \{\% elif user['id'] is defined \%\}
            \{\% set user\_pkid = user['id'] \%\}
          \{\% else \%\}
            \{\% set user\_pkid = '' \%\}
          \{\% endif \%\}
          \{\# Manage User URL (relative, environment-agnostic) \#\}
          \{\% set manage\_user\_url =
            '/portal/\#/admin/form/form-generic/relation\%2FWebexTeamsPlace'
            \textasciitilde{} ';originator=dashboard'
            \textasciitilde{} ';pkid=' \textasciitilde{} user\_pkid
            \textasciitilde{} ';type=relation\%2FWebexTeamsPlace'
          \%\}
          \{\% for h in headers \%\}
            \{\% set rule = h.field.ruleName if h.field is defined and h.field.ruleName is defined else '' \%\}
            \{\% set is\_id = (rule == 'id') or (h.name == 'Id') or (h.displayName == 'Id') \%\}
            \{\% set is\_user\_name = (rule == 'user\_principal\_name') \%\}
            \{\% if not is\_id \%\}
              \{\% set v = user[h.name] if user[h.name] is defined else "" \%\}
              <div style="display:flex;align-items:baseline;margin:12px 0;">
                <div style="width:220px;padding:0 30px 0 0;text-align:right;white-space:nowrap;
                            font:14px Roboto, Helvetica, sans-serif;font-weight:600;color:\#000;">
                  \{\{ h.displayName \}\}\{\% if h.required \%\}<span style="margin-left:4px;font-weight:700;">*</span>\{\% endif \%\}
                </div>
                <div style="flex:1;font:14px Roboto, Helvetica, sans-serif;color:\#000;line-height:1.4;">
                  \{\% if is\_user\_name and user\_pkid \%\}
                    <span>\{\{ v if v|string != "" else "\&nbsp;"|safe \}\}</span>
                    <a href="\{\{ manage\_user\_url \}\}"
                       style="margin-left:12px;font-size:14px;text-decoration:underline;">
                      Manage User
                    </a>
                  \{\% else \%\}
                    \{\% if h.displayName == 'Assigned Products' \%\}
                      \{\% if v is iterable and v is not string \%\}
                        \{\{ v | join(', ') \}\}
                      \{\% else \%\}
                        \{\{ v|string|replace('[', '')|replace(']', '')|replace('"', '') \}\}
                      \{\% endif \%\}
                    \{\% elif h.displayName == 'Is Account Enabled' \%\}
                      \{\{ 'Yes' if v|string == '1' else ('No' if v|string == '0' else (v if v|string != "" else "\&nbsp;"|safe)) \}\}
                    \{\% else \%\}
                      \{\{ v if v|string != "" else "\&nbsp;"|safe \}\}
                    \{\% endif \%\}
                  \{\% endif \%\}
                </div>
              </div>
            \{\% endif \%\}
          \{\% endfor \%\}
        </div>
          \end{verbatim}
     \end{itemize}
     \end{itemize}   


   

.. raw:: html


   <h3>Counters</h3>

   <table class="panel-table"><tbody>
     <tr>
     <th style="text-align:center">COUNTERS</th>
     </tr>
  
     <tr>
     
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Days since last activity</a>
     
     
     
     
     <br>Days since last activity
     
      <br>Microsoft O365 Activity Summary
      
      </p>
     </td>
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Monthly Cost</a>
     
     
     
     
     <br>Monthly Cost
     
      <br>Microsoft O365 Activity Summary
      
      </p>
     </td>
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Ad Hoc Meetings Organized</a>
     
     
     
     
     <br>Ad Hoc Meetings Organized
     
      <br>Microsoft O365 Activity Summary
      
      </p>
     </td>
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Potential Monthly Savings</a>
     
     
     
     
     <br>Potential Monthly Savings
     
      <br>Microsoft O365 Activity Summary
      
      </p>
     </td>
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Teams Meeting Count</a>
     
     
     
     
     <br>Teams Meeting Count
     
      <br>Microsoft O365 Activity Snapshot History
      
      </p>
     </td>
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Teams Call Count</a>
     
     
     
     
     <br>Teams Call Count
     
      <br>Microsoft O365 Activity Snapshot History
      
      </p>
     </td>
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Teams Message Count</a>
     
     
     
     
     <br>Teams Message Count
     
      <br>Microsoft O365 Activity Snapshot History
      
      </p>
     </td>
     
     <td>
     <p style="border-radius: 6px;background-color: #e1dbdb;">
     
     <i class="material-icons">looks_6</i>
     
     
     <a href="#">Teams Private Message Count</a>
     
     
     
     
     <br>Teams Private Message Count
     
      <br>Microsoft O365 Activity Snapshot History
      
      </p>
     </td>   
     </tr>
   </tbody></table>

  
  


  



.. raw:: html


   <h3>Charts</h3>

   <table class="panel-table">
     <thead>
     <tr>
     <th colspan=4  style="text-align:center">CHARTS</th>
     </tr>
     <tr>
     <th>Title</th><th>Type</th><th>Resource</th><th>Description</th>
     </tr>
     </thead>
     <tbody>
     <tr>
     
     
     <tr> 
          <td>Usage Over Time</td>
          <td>chart-line</td>
	  
	  <td><a href="#">Microsoft O365 Activity Snapshot History</a></td>
	  
	  
	  
           <td>Trend of Teams meetings, calls, and ad hoc meetings organized for this user over the selected range.</td>
      
     </tr>   
   </tbody></table>

  



  


.. raw:: html

   <h3>Text</h3>
     <table class="panel-table">
       <thead>
         <tr>
           <th colspan=4 style="text-align:center">TEXT</th>
         </tr>
         <tr>
           <th>Title</th><th>Resource</th><th>Datasource</th><th>Fields</th>
         </tr>
       </thead>
       <tbody>
     
     
       <tr>
         <td>User Summary</td>
         <td>Microsoft O365 Activity Summary</td>
         <td>LXT0</td>
         <td>
           
             <ul style="margin:0;padding-left:15px;">
             
               <li>User Principal Name (user_principal_name) - Select Query</li>
             
               <li>User Id (user_id) - Select Query</li>
             
               <li>Display Name (display_name) - Select Query</li>
             
               <li>Department (department) - Select Query</li>
             
               <li>Office Location (office_location) - Select Query</li>
             
               <li>Located At (located_at) - Grouping Count</li>
             
               <li>Last Activity Date (last_activity_date) - Select Query</li>
             
               <li>Is Account Enabled (is_account_enabled) - Select Query</li>
             
               <li>Recommended Action (recommended_action) - Select Query</li>
             
               <li>Assigned Licenses (assigned_products) - Select Query</li>
             
             </ul>
           
         </td>
       </tr>   
       </tbody>
     </table>

   <h4>Text Widget Content</h4>
   <table class="panel-table">
     <thead>
       <tr>
         <th style="text-align:left">Title</th>
       </tr>
     </thead>
     <tbody>
     
     
          <tr>
             <td>
                <b>User Summary</b>
                
                <pre>
               &lt;div style=&quot;max-width:1100px;margin:0 auto;&quot;&gt;
                 {% set user = rows[0] if rows and rows|length &gt; 0 else {} %}
                 {# User pkid (Id) used for Manage User link, but not displayed #}
                 {% if user[&#39;Id&#39;] is defined %}
                   {% set user_pkid = user[&#39;Id&#39;] %}
                 {% elif user[&#39;id&#39;] is defined %}
                   {% set user_pkid = user[&#39;id&#39;] %}
                 {% else %}
                   {% set user_pkid = &#39;&#39; %}
                 {% endif %}
                 {# Manage User URL (relative, environment-agnostic) #}
                 {% set manage_user_url =
                   &#39;/portal/#/admin/form/form-generic/relation%2FWebexTeamsPlace&#39;
                   ~ &#39;;originator=dashboard&#39;
                   ~ &#39;;pkid=&#39; ~ user_pkid
                   ~ &#39;;type=relation%2FWebexTeamsPlace&#39;
                 %}
                 {% for h in headers %}
                   {% set rule = h.field.ruleName if h.field is defined and h.field.ruleName is defined else &#39;&#39; %}
                   {% set is_id = (rule == &#39;id&#39;) or (h.name == &#39;Id&#39;) or (h.displayName == &#39;Id&#39;) %}
                   {% set is_user_name = (rule == &#39;user_principal_name&#39;) %}
                   {% if not is_id %}
                     {% set v = user[h.name] if user[h.name] is defined else &quot;&quot; %}
                     &lt;div style=&quot;display:flex;align-items:baseline;margin:12px 0;&quot;&gt;
                       &lt;div style=&quot;width:220px;padding:0 30px 0 0;text-align:right;white-space:nowrap;
                                   font:14px Roboto, Helvetica, sans-serif;font-weight:600;color:#000;&quot;&gt;
                         {{ h.displayName }}{% if h.required %}&lt;span style=&quot;margin-left:4px;font-weight:700;&quot;&gt;*&lt;/span&gt;{% endif %}
                       &lt;/div&gt;
                       &lt;div style=&quot;flex:1;font:14px Roboto, Helvetica, sans-serif;color:#000;line-height:1.4;&quot;&gt;
                         {% if is_user_name and user_pkid %}
                           &lt;span&gt;{{ v if v|string != &quot;&quot; else &quot;&amp;nbsp;&quot;|safe }}&lt;/span&gt;
                           &lt;a href=&quot;{{ manage_user_url }}&quot;
                              style=&quot;margin-left:12px;font-size:14px;text-decoration:underline;&quot;&gt;
                             Manage User
                           &lt;/a&gt;
                         {% else %}
                           {% if h.displayName == &#39;Assigned Products&#39; %}
                             {% if v is iterable and v is not string %}
                               {{ v | join(&#39;, &#39;) }}
                             {% else %}
                               {{ v|string|replace(&#39;[&#39;, &#39;&#39;)|replace(&#39;]&#39;, &#39;&#39;)|replace(&#39;&quot;&#39;, &#39;&#39;) }}
                             {% endif %}
                           {% elif h.displayName == &#39;Is Account Enabled&#39; %}
                             {{ &#39;Yes&#39; if v|string == &#39;1&#39; else (&#39;No&#39; if v|string == &#39;0&#39; else (v if v|string != &quot;&quot; else &quot;&amp;nbsp;&quot;|safe)) }}
                           {% else %}
                             {{ v if v|string != &quot;&quot; else &quot;&amp;nbsp;&quot;|safe }}
                           {% endif %}
                         {% endif %}
                       &lt;/div&gt;
                     &lt;/div&gt;
                   {% endif %}
                 {% endfor %}
               &lt;/div&gt;
                </pre>
             </td>
          </tr>   
     </tbody>
   </table>


