I am trying to determine a good way to accomplish the following. I want to build a small application to display tabular data similar to a airport arrival/departure board.
I want to constrain the tabular data to a single screen and periodically cycle through the data since there could potentially be more data than can fit on a single screen.
I would like each "page" of data to be displayed for a brief period without refreshing the entire page. For example if there are 60 records the application would show the first 25 rows on a single screen for a few seconds, switch to the next 25, then show the last 10, and finally return to the first 25, and on and on.
I am using MVC 5 and I plan to use SignalR to update the underlying data periodically, but am not sure the best way to go to cycle through the display.
Related
Ideally this file will take an Order number and based on certain column aspects feed it into the respective tab. (For Reference we will be taking data from a car repair shop to determine if the car being worked on has been scheduled for drop off, at the shop, or completed and left the shop.
For Example we will have an Order number for every Car we work on, this car will have a Date Started & date Completed. Based on these criteria it will take the Order Number and drop it into the correct Tab and the rest of the data will populate with xlookup (or up for something better to try). So as the life of the product is updated it flows to the appropriate tabs.
Data Tab --> Comprehensive List of all Cars(including cars not scheduled) --> Cars being worked on --> Completed Cars
I figured 90% of this can be solved using xlookup and IF statements but where I get stumped is how do I pull the specific Order Numbers into the respective tabs from the Data tab.
I am aware that I need to create a formula to check if a car has been scheduled for drop off vs it being finish so it doesn't find it's way into the complete tab but that should be easy once I am able to pull Order number's into the file.
Not Necessarily looking for an answer but some topics/videos to point me in the right direction:)
I have tried just pasting the data and xlookup the details from the Order Number but that just brings back the manual aspect of the workbook.
the way i am thinking about this is java terms would be:
If(order # = In Shop)
RO# Populates into "cars being Worked on" Tab
but for each tab
Am I going to need to use VBA/Macro to get the desired result or is there something simpler I am missing?
Not Necessarily looking for an answer but some topics/videos to point me in the right direction:)
If you don't want to build a VBA implementation, I'd look into using Power Query. I find Power Query to be a pretty low barrier tool as it has quite an intuitive UI and loads of material on the web.
This implementation would most likely have an input table on one tab and then the other tabs (WIP, Completed, etc.) would be connected to this input table.
The values and physical units (meter, seconds..) are forwarded from the Azure Event - Hub to the Azure Time Series Insights and are visible in the table for the displayed chart. Screenshot of columns "Explore Raw Events" of a TSI - chart
Nevertheless, it is not possible to select the column "unit" to be shown in the chart. Selection of columns which can be selected to be shown in TSI- chart
Therefore, only the purely numerical value without physical units is displayed in the TSI - chart.
Is there a way to include the units into the displayed values? not just as a title of an axis.
#Autishofer, the "Show/Hide Columns" is used to show or Hide the instance properties (also referred as instance field) in the well. The little tabular column under the data trend is called "Well".
In you case, even though you are sending the units as part of the events JSON payload, it is not stored as instance filed; rather its stored as another variable /time series.
In my humble opinion, it doesn't make sense to send measurement units in every event, as its not going to change between events.
If I may recommend something, Please model the units as instance fields.
I have a calculated column in SharePoint On-Premises that shows the number of days till a due date which works perfectly for a day or so then stops calculating, but if I go to the list settings and click the column and click ok then it calculates again?
Has anyone experienced an issue similar to this. I had this issue in both 2013 but within a few weeks moved to 2016 and still the same issue.
I've tried " " blank and also "" empty so not sure if that is causing the issue??
Is it a problem with the formula?
Here is the formula:
=IF(ISBLANK([Due Date])," ",
IF(ISERROR(DATEDIF(NOW(),[Due Date],"d"))," ",DATEDIF(NOW(),[Due Date],"d")))
Calculated columns cannot contain volatile functions, which includes those that depend on the current date.
The values in SharePoint columns--even in calculated columns--are stored in SharePoint's underlying SQL Server database.
The calculations in calculated columns are not performed upon page load; rather, they are recalculated only whenever an item is changed (in which case the formula is recalculated just for that specific item), or whenever the column formula is changed (in which case the formula is recalculated for all items).
If you need to show a dynamic value that changes with the passage of time, you have a few alternatives.
Client-Side Rendering
Consider using client-side rendering which lets you use JavaScript to dynamically determine how records in a list view are displayed. This JavaScript runs upon page load, so it can handle current time-dependent values much better than a calculated column.
To use client-side rendering, you create a JavaScript file that controls how the view displays. You upload that file to somewhere on SharePoint where people will have at least Read access to it, then edit the list view web part that you want to display differently and set its "JSLink" property to point to your JavaScript file.
Check out this answer for an example of using a JSLink file to spoof a dynamic date field.
Microsoft also provides some documentation here but I think they do more work than is necessary (creating an entire new list definition project in Visual Studio for their example instead of just creating a JSLink JavaScript file for an existing list).
Other Options
A few other options are mentioned in the older question linked above:
Conditional Formatting: You can apply conditional formatting to highlight records that meet certain criteria. This can be done using SharePoint Designer or HTML/JavaScript.
Filtered List views: Since views of lists are queried and generated in real time, you can use volatile values in list view filters. You can set up a list view web part that only shows items where Created is equal to [Today]. Since you can place multiple list view web parts on one page, you could have one section for today's items, and another web part for all the other items, giving you a visual separation.
A workflow, timer job, or scheduled task: You can use a repeating process to set the value of a normal (non-calculated) column on a daily basis. You need to be careful with this approach to ensure good performance; you wouldn't want it to query for and update every item in the list if the list has surpassed the list view threshold, for example.
To expand on the Filtered List Views option, you can have a view that shows only items that are due within a certain number of days. For example, you can display all the items due within 7 days by filtering where the Due Date field is less than [Today]+7 and Due Date is greater than or equal to [Today]. You could also sort the view to show the items with earlier due dates closer to the top.
I would like to premise that I am not a coder, and have limited SharePoint experience. Nonetheless, I have a task at work to create a new tool for a group at work. This tool will allow them to track things through its life-cycle. The old tool will stop being used once they hit the 49,999th record. At that point we will transition to SharePoint. The prior numbers will live with those records and we will be unable to start back at the number 1.
My goal is to have an ID field for each record that incrementally grows starting from the number 50,000.
I tried creating a new calculated formula field that does 50,000 plus the ID but it does not work effectively. There tends to be a lag. The lag can be anywhere from 5 minutes to a day or two. In turn, I need an alternative option.
With a friends coaching, I am messing with SharePoint designer to automatically create a record once one is deleted and delete one every time one is created. However, this times out occasionally. Even more so, it is extremely slow. It will take me a week or so to get to 50,000. Does anyone have any experience or expertise to assist me? It is very appreciated.
The way I did it was to create another field and used that in all my views. Update it through a SharePoint Designer workflow on create - set the field to ID+50000, for example, or whatever you need. Maybe give it a bit of a buffer and set it to ID+51000. By the time the workflow is running the ID has been created and you can use it in a workflow.
If you are going to be moving your old records to the list, you can change the workflow to only update the new field if it's blank. That way you can save the original ids.
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!