I need some advice about the design on my app.
I have several screens where I need a date range to show content. One has rows of text data and others are charts. All but one need future dates (one needs dates in the past).
I have a screen where they can select the date range and a quick way to select 30 days etc.
I think I have two options. 1) allow one date range to be used though-out all screens (apart from that one chart). 2) allow a date range to be selected for each.
However, both of these have issues, I may have to correct old dates and theres that one chart. Although, making these corrections could cause confusion.
My main issue, is that I don't want to confuse my users.
Suggestions?
I recommend placing a date range selector on each screen. It makes the content super obvious and a little easier to use. For convenience, you could have previously selected date ranges persist between screens for users who want all the data for the same dates.
edit: What is the platform? If its a mobile phone I would recommend a separate screen for the date range and if it is a computer I would recommend the date range selector on each screen.
Related
I want to make it so if all of the cells in a row has data that matches, it will automatically change the row's fill color to green.
Example of the desired visual effect, including my conditional formatting work-around to achieve the look
As you can see in the image, the rows that have empty cells are not colored green.
Some other functionality I would also appreciate:
Make a row recolor to red if it contains cells that have mismatching data. (such as someone putting their name in someone else's row)
If data is added to a previously empty row, expand the Protected Range by 1 row after 30 minutes.
If a row within a Protected Range becomes empty, the Protected Range automatically sorts itself from A-Z by Column A and reduces its size by 1 row.
Context:
I've recently made a spreadsheet on Google Sheets for my guild in an MMO to track what professions and recipes everyone has, people with the link can perform edits on the sheet, but I do have protected ranges that cover older entries which have their editor access restricted to a small team so random people don't just delete all the data. None of the other officers that regularly maintain the spreadsheets we use have much experience with spreadsheets, which are pretty basic with little automation. It takes three to four of them to do my job when I'm on vacation despite teaching each of them how to maintain the spreadsheets. More automation would be nice for when I go on vacation and eventually retire from that MMO.
This is my first post on this site, I don't know computer programming, not that well-versed with spreadsheets, and trying to google this didn't help since everything I found talked about conditional formatting based on the columns, not the rows.
For now my temporary work-around is to manually add conditional formatting to a range each time I see a row has filled up to change the fill color to green if the cell contains exactly that person's name. Based on prior experience with my guild's other spreadsheets, I know the other officers would not do this themselves.
I'm not sure where to look for help with Google Sheets, but I have a family member that is a developer and I vaguely remember him mentioning this site which is why I'm giving it a shot.
try:
=SUMPRODUCT($A2:$K2<>"")=11
on range A2:K
update:
=(SUMPRODUCT($A2:$R2=$A2)=18)*(A2<>"")
on range A2:R
The rows of schedule board are white by default. I would like to apply colors alternation to them to make them look like these Excel rows on the picture. How could I do it?
How to add color change on hover? It works out of the box for cells of resources and the work order rows (see the picture), but not for the whole rows on the calendar area.
Last time when I checked with MS PG team on this topic - they expressed that it is aligned with Design principles of UCI. So no alternate row colors available in grid or calendar.
You can create an idea and based on community votes, MS may give that option in future. For now instead of manipulating DOM/CSS in any unsupported way, stay away from it. :)
one of my OS X apps deals with various dates. The user has to enter dates at many different places and most of the dates are not around the current date but somewhere in the past.
NSDatePicker (in graphical mode) offers a very limited UI: It is not possible to jump to a specific year or month for example. The arrow controls to switch between months are quite small and hard to click...
Bottom line is: Does anyone know a good graphical alternative to NSDatePicker? While there seem to bee hundreds of UIDatePicker alternatives with various different styles and settings I could not find any solution for NSDatePicker
Thanks!
This is an old question but I have encountered the same problem and that's why I answer your question.
It is very surprising, but, on a lot of points, I think that OSX's GUI is very limited unlike iOS.
I'm afraid that you have to create a component yourself from scratch.
An other solution is to use this open-source component : MLCalendarView (Calendar-OSX) available on cocoacontrols.com.
Yes, NSDatePicker hasn't had much love for a while.
If you want a better looking date picker for OS X, NMDatePicker is an MIT-licensed date picker implemented in Swift and as of late 2015, it has been receiving attention.
Note that it doesn't have the month or year selection that you have referred too - but feel free to make a commit!.
Might I suggest trying NSDatePicker in non-graphical mode? It's not as nice looking, but you can directly enter numerical quantities for any of the components, and it will not allow entry of illegitimate quantities (e.g., Mar 32 or Jun 31).
I am trying to show machine states over time. Part of this is to reproduce/automate a report that used to be done by hand. It consists of coloring 2minute 'time slices' in Excel based on what the machine is doing.
(Sorry, not enough reputation to post a picture, but it is a classic heatmap where the state drives the color. Some non DC-JS fiddle: http://jsfiddle.net/ww6Lbnc5/4/)
I was able to generate most of what I want in the following jsfiddle:
http://jsfiddle.net/hwhfxz2t/14/
See fiddle for code.
The total state duration (for selected time frame) is shown in the pieChart, followed by the individual state lines and then the heatmap that people are used to. (the ZOOM and date selection buttons do not work in the fiddle but are there to select specific data ranges or zoom in if you like).
The line charts uses the original representation of the states, which consists of a time the state is entered and a duration.
In order to make the heat map work, I had to (I think) take the original data and convert it into individual minute chunks and mark them with a state. So for instance the original data specifying:
RUN state starting 14:30 for 300 seconds
becomes:
14:30=RUN, 14:31=RUN, 14:32=RUN, 14:33=RUN and 14:34=RUN
The code in lines 233-297 loops through the original data and generates a new one that does this. In cases where there is more than one state within a given minute, the last state survives.
This works okay but it seems that this code is exactly what is normally done in group().reduce(add,remove,init). But in this case I need to add multiple timeslots depending on the duration of a state.
Also, because it is now using a different crossfilter, maps do not update each other.
Here are my questions related to this:
Can I display a heatmap without supplying information for all individual
'cells'? (i.e. straddle cells based on a value, similar to rowspan in a table)
Can I add multiple values at once inside group().reduce()?
Is there an easy way to invert the yAxis so 0 is at the top?
When clicking a row in the heatmap, it selects a column and vice-versa?
I'm not sure if this should be in the crossfilter group. If so please ignore my rambling. If someone knows how to keep the charts linked by grouping better, please let me know.
--Nico
Concerning Question 3:
DC.js heatmaps currently do not support custom order functions on axis but there is a pull request that has been merged into the developing branch and should be accessible to the public soon.
You could manually edit the dc.js file to set the sorting in heatmaps to a custom function. In the latest (2.0.0-beta10) version it is the following line:
rowValues.sort(d3.ascending);
and accordingly
colValues.sort(d3.ascending);
I have a few questions regarding his calendar view of mine
http://bl.ocks.org/mhska/5333055
data ranges from 1 to 4317 so the colours are not very "evenly" distributed. is there any way to improve it? (i mean basically everything below 100 is just one red colour)
is there a way to change the date format when you hover over the field from yyy-mm-dd to dd-mm-yyyy?
how could one change the colour of fields with no data? (generally this means weekends)
at the moment the fileds with no data and with most data (over 1000) are of the same colour.
thanks a bunch.
You can change the date format that is displayed by adapting the line
date = d3.time.format("%Y-%m-%d")
More information on the specifiers can be found in the documentation.
For changing the colour, you need to provide a different function for mapping values to colours. It looks like you're currently mapping your input values to only 40 output colours.
.range(d3.range([40]))
Increasing this number might be a good starting point. Note that you can provide an arbitrary function, in particular you could handle missing values separately in it.