Dynamic item list in Azure Workbooks - azure-monitor-workbooks

Is it possible to have data driven layout in Azure Workbooks?
For each row of a Kusto query, I'd like to add a tile to the dashboard.

There's no direct way to have a single query generate many visualizations in workbooks (yet!)
There are some options:
you could use a visualization like "tiles" which creates an item for each row, and you can configure the various parts of the tile to get info from different columns.
presuming you literally mean "Azure Dashboard" here when you say dashboard:
(more manual) you could create a parameter that returns all those values, and then configure a subsequent query to reference the selected value to generate the visualization you want, and manually pick a value, pin the chart to the dashboard, repeat for each value you want pinned.
(more technical) you could create the visualization you want, and pin it to a dashboard. then download the dashboard as json, and copy+paste the pin, but modify the query/parameter values in the dashboard, then upload it as a new dashboard?

Related

Azure workbook filtering based on a selection/click in a chart

I would like to filter the data and show the raw/aggregated data in a table/grid when a selection is being done in a Bar Chart in Azure Workbook visualizations.
I have a bar graph as below. When I select on the "purple" line denoting Avg CPU to be very high, I would want a grid/table showing the CPU aggregated on x based on the query. How can this be achieved in Azure workbooks.
Yes, it can be done. see the azure docs or the github docs for full details but in general:
in the advanced settings for the visualization, choose the "when items are selected export parameters" option, and fill that out.
(note in both docs it calls out that in grids you can export any column in the grid, but in charts, you have different options for x, y, series, etc)
that will create a parameter with a value when something becomes selected
use that parameter downstream, in query text, or in conditional visibility to hide and show other steps

Surfacing key information in Azure DevOps - pivot options appear limited?

Currently trying to surface key information around the projects in our organisation. I want to show a breakdown of work items assigned, estimated time, and completed time per individual. I thought I could do this with the chart widget, and I can if I have 3 different pivots, but it seems very limited. I don't seem to be able to adjust the order of the column series (status) to what I want. I can adjust based on the values - e.g. estimates but then the next chart has that status in a completely different order because it's sorting on something different.
Is there another widget I should use, or is Azure DevOps not capable of handling this? Do I have to use Excel or PowerBI instead??
You can use “chart for work items” widget. Please select chart type as Pivot table. For example, here is my configuration of the "Chart for work items" widget:
You can see the Original Estimate assigned to each user in this widget:

Docusign: Create template to display dynamic list of text

I'm looking for a way to build a table in a docusign template where the rows could be bound dynamically using the input data. For example, in the sample below the "Selected Options" is the table and the rows are dynamic user inputs :
**Selected Options**
2 bedroom
lake facing
non-smoking
Thanks
DocuSign does not support generic "tables" in the documents, so if you want to use a table it will have to be created at the document layer then uploaded into DocuSign.
One possible option is to create a the layout for a table in your document and leave spaces where the data will eventually go, then read or otherwise designate those locations on the document where the fields are, then finally you can place DocuSign tabs at those locations and that would in turn populate your table.
As Ergin says, DocuSign doesn't support dynamic creation of tables in a Document, such that the length (size) of the table will automatically vary according to how much data (i.e., how many rows) are specified. Your Create Envelope request specifies a (static) document, and you use DocuSign tabs to overlay data on top of that static document in specific locations.
That said, few options you might consider:
Create the table in your (static) document to contain the maximum number of columns/rows that it could ever possibly contain. Then, place tabs in every cell -- but in the Create Envelope request, only populate the tabs that correspond to the data the user provides. The down side of this approach would be that you could end up with a table that has several blank/empty rows, if the user doesn't specify much data.
OR
A more complex approach would be not define the Document in the Template itself, but rather, have the Create Envelope API request dynamically specify the Document, based on how much data the user provides. For example, if the table could contain between 1-3 rows, you could create 3 static documents -- the first with a one-row table, the second with a 2-row table, and the third with a 3-row table. Then, include logic in your code to determine how much data the user provides (1 row, 2 rows, or 3 rows), and specify the appropriate Document in the Create Envelope request. (Hint: you'd need to use 'Composite Templates' structure in the API request to accomplish this -- there's lots of info about that here on StackOverflow.) Biggest upside of this approach would be that the table in the document would always be the right size to exactly accommodate the user-provided data -- but obviously this approach could be challenging to implement and maintain if your document contains multiple tables and/or a large number of max potential rows in each table.
OR
Finally, in the same spirit as option #2 above -- if there's just a small number of variations of table size (for example: the table will always contain 1, 2, or 3 rows), you could simply create 3 Templates via the DocuSign web UI -- the first Template containing a Document with a one-row table, the second Template containing a Document with a 2-row table, and the third Template containing a Document with a 3-row table. Then, include logic in your code to dynamically choose the right template to use in the Create Envelope request, based upon how much data the user provides (1 row, 2 rows, or 3 rows).

PerformancePoint analytic grid hyperlink functionality with KPI images

Within PerformancePoint I am trying to merge the functionality of an analytic grid with the imagery of a KPI scorecard. The analytic grid measures contain an action that lets the user jump to a specific edit page for that measure (based on the intersection of 2 dimensions, Line of Business and Month. That edit page is linked to a database, from which an SSIS package pulls information and processes to fill the cube. Is it possible to add a dynamic hyperlink property to the KPI, one that is based on the intersection of the 2 dimensions, or replace the measure value in the analytic grid with images (similar to a KPI indicator)? I was trying to do it using the API, but I haven't been able to see how to access those particular properties (the associated dimension member values).
Well, I had some screen shots that might have helped make things clearer, but don't have enough reputation to add images to a post, so Ill try and explain it in text.
I want to be able to use a hyperlink action expression such as the one below (which is functional in an analytic grid) on a scorecard KPI or baring that, use an image in place of the actual value in an analytic grid (to give it the appearance of a KPI).
/_layouts/GlobalDeliveryReporting/ProjectStatus.aspx?ProjectID=" + CSTR([Dim Project].[LOB].CurrentMember.PROPERTIES('Key1')) + "&Month=" + CSTR([Dim Status Month].[Months].CurrentMember.Member_Value))
In a nutshell:
I am trying to merge the functionality of the analytic grid action with the indicators of a scorecard Kpi.
I hope that made things a littler clearer.
Thank you
I was able to get this working.
With inspiration from :
http://web.archive.org/web/20080305164525/http://blogs.msdn.com/performancepoint/archive/2007/10/05/implementing-a-hyperlink-from-a-kpi-in-a-scorecard.aspx
For those that may need to do something similar, these were the key elements:
Scorecard
I added a hyperlink property, which causes a click event to fire every time you click on a cell.
Web Page Report
The url for the report points to redirect.aspx. It calls redirect.aspx with a query string parameter of EndPoint_URL which contains the dimension information of the clicked cell.
Redirect.aspx
This page is responsible for parsing values out of EndPoint_URL. Once the correct dimension level is achieved, it creates creates a new query string and redirects to the edit page, otherwise it just returns. The EndPointURL ends up looking like this:
[Level1].[Level2].[Level3].&[Level4].&[Level5].&[Level6].&[Microsoft].&[Level7].&[Level8]&[69621]; [Dim Status Month].[Months].[Status Year].&[2015].&[2015-02-01T00:00:00]
In this instance, the values that need to get passed to the edit page are [69621] and [2015-02-01T00:00:00]. The redirect page parses out the EndPoint_URL, if it reaches the correct depth and finds those values, it will send the user to the edit page, otherwise it will just return.
I put the scorecard and the web page report on a dashboard. Then connected them by passing the url and the memberuniquename of the row and column.
The downside is that it starts loading the redirect page everytime a user clicks on the scorecard, although that page is very lightweight, and once I hide the web page report web part clicking through the scorecard only causes a little blip on the screen.
Let me know if you have any questions!

Portal displaying data from two tables

I have two tables which both include a date field. Currently I have two portals, one for each table (occurrence).
Is it was possible to display the results of both of these in one portal, and sort by the date?
Technically a portal can only display records from one table. If you need to join two tables then you have to do this manually or change the design and use one table instead of two (since you want them in the same portal, then the tables are similar to some degree; maybe this similarity can go into its own table).
Sometimes developers use the so-called virtual table technique: they create a table with, say, a field with the record number and a bunch of calculated fields that pick their values from elsewhere, for example, from prefilled global variables. They create a portal to this table, set up the relationship to display the required number of records, and write the code to fill these variables. This way they can show data that isn't stored in any table, combine tables, etc. But it's an arcane technique, I would recommend it only as the last resort.

Resources