What will happen to total project cost if activity which is in progress from scheduled project is deleted in primavera? - primavera

What will happen to total project cost, if activity which is in progress (2 days complete out of 5), is deleted in primavera?

The Budgeted Total Cost for the project will no longer include the cost for that activity (assuming the deleted activity has an associated budgeted Resource cost or Budgeted Expense cost). Also, there were Actual Costs associated with the 2 days of progress, then the Total Actual Cost of the project would not include those costs as well.
Michael - Plan Academy

In the simple case where there is no baseline, then all the costs associated with the activity are removed from the calculations in Primavera. You can see this by adding the At Completion Total Cost to the WBS view, making a note of the values and then deleting the Activity.
If there is a Baseline attached to the project then the costs for the deleted activities remain inside the Baseline but they cannot be seen. This is because Primavera links from the Current Project into the Baseline Project through the Actiivity Id.
This also means the Activity and it's cost stays in the Baseline. If you want to see what I mean just create a Baseline and make it the Project Baseline. Then add the BL Project Total Cost to the WBS view. Take a note of the values. Then make a note of the Activity Id of an Activity with cost on it. Then delete or dissolve that Activity. The BL Project Total Cost and the At Completion Total Cost goes down in value.
Now create a brand new Activity and give it the same Activity Id as the one that has been deleted, but do not add any costs to it. You will see there is no change to the At Completion Total Cost, but the BL Project Total Cost has increased.
So what? Away from the technical capability of P6, it isn't a good idea to just delete Activities from a project, particularly when they have actual costs on them. It is far better to give the activity an Actual Finish date of when it was cancelled and make sure the actual costs are correct.
When there is a Baseline as well (and why shouldn't there be a baseline :-)) the activity in the baseline may need to be changed if the cancelling of the activity is a change to the scope.

Related

Get total issued coins in the Ecosystem

I am trying to get my total balance of coins that are issued by me i.e.
( Node A ) in the entire corda ecosystem/network of nodes, is there an easy method to get all coins .issue minus .exit that was generated by me? I have thought of two possibilities for workarounds but do not like the designs for both:-
take the transaction.snapshot and loop through the whole list to obtain the transactions that was self-issued ( cash.state & command.issue ) minus off the command.exit for my own vault, however I don't prefer this approach due to the number of records to go through and the looping mechanisms in place, adding on the pagination aspect to continually loop or to extend the page problem.
query all nodes for the current balance including myself and do a summation of total balance. which would be similar to link, however this would lead to misleading total balance if any other party in the network self-issued some cash of the same currency, adding on the subflow of ReceiveStateAndRefFlow have no timeout session where it would wait for a node to come alive indefinately.
Any advices/comments for this issue? Responses are greatly appreciated
One other way might be to create a balance state who's sole purpose is to keep a running count of issuances and exits - every time you issue new cash/exit cash, you would update the balance state.
This should then serve as a quick reference point as to how much cash there is.

Frustrating Formula - Help Needed with Google Sheets formula/method

I am struggling to come up with a formula that fits certain criteria and was hoping someone with a better math brain than me might be able to help. What I have is a Google Sheets based tool that determines how much a someone has purchased of a product and then calculates the amount of times a special additional offer will be redeemed based on the amount spent.
As an example, the offer has three tiers to it. Though the actual costs will be variable for different offers let's say the first tier is gained with a $10 purchase, the second with a $20 purchase and the third with a $35 purchase (the only real relationship between the prices is that they get higher for each tier but there is no specific pattern to the costing of different offers). So if the customer bought $35 worth of goods they would get three free gifts, if they bought $45 worth they would get 4 and then an additional spend of $5 (totaling $50) would then allow them to redeem 5 gifts in total. It can be considered like filling a bucket, each time you hit the red line you get a new gift, when the bucket is full it's emptied and the process begins again.
If each tier of the offer was the same cost (e.g. $5, $10 and $15) this would be a simple case of division by the total purchase amount but as there is no specific relationship between the cost of the tiers (they are based on the value of the contents) I am having trouble coming up with a simple 'bucket filling' formula or calculation method that will work for any price ranges given to it. My current solution involved taking the modulus, subtracting offer amounts from the purchase amount etc. but provides plenty of cases where it breaks . If anyone could give me a start or provide some information that might help in my quest I would be highly appreciative and let me know if my explanation is unclear.! Thanks in advance and all the best
EDIT:
The user has three tiers and then the offer wraps around to the start after the initial three are unlocked once, looping until the offer has been maxed out. Avoiding a long sheet with a dynamic column of prices would be preferable and a small, multicell formula would be ideal
What you need is a lookup table. Create a table with the tier value in the left column, and the corresponding number of gifts for that tier value in the right column. Then you can use Vlookup to match the amount spent to correct tier.
I am not quite sure about, everything into one entire formula(is there a formula for loop and building arrays?)
from my understanding the tier amounts are viable, so every time you add a new tier with a new price limit then it must be calculated with a new limit price number...wouldn't it be much easier to write such module in javascript than in a google sheet? :o
anyways here is my workaround, that may could help you to find an idea
Example Doc
https://docs.google.com/spreadsheets/d/1z6mwkxqc2NyLJsH16NFWyL01y0jGcKrNNtuYcJS5dNw/edit#gid=0
my approach :
- enter purchases value
-> filter all items based by smaller than or equal "<=" (save all item somewhere as placeholder)
-> then decrease the purchases value by amount of existing number(max value) based on filtered items
-> save the new purchases value somewhere and begin from filtering again and decreasing the purchases value
(this needs to be done as many times again, till the purchases is empty)
after that, sums up all placeholder

ChartBoost negative balance

Today we launched our first campaign on Chartboost. We added 300$ on account and started our first campaign. In less than one our we spent all the money. Then I switched campaign off but still the balance going up in negative. Can you help me why? Beacuse we didn't pay for that additional negative balance we made campaign for 290$ not 450$ ...
What can we do?
The most common reason for campaigns to go over budget is the fact that they reach their budget in the minutes before the first check that compares the spend to the budget. This can happen if you your campaign has a wide target (ie - if you are targeting the whole world for example). Campaigns that have very broad targeting (little to no usage of filtering or available targeting on the dashboard) will serve impressions very quickly and this only increases the probability of exceeding the budget.
It is also very common for CPI campaigns to continue to "Spend Money" even after the campaign has been turned off. The reason why this happens is that we attribute installs to recorded clicks up to 21 days after the click. Also, the Install is not recorded until the 1st bootup of the app. For a number of reasons this 1st bootup may not occur until a couple of days after downloading onto the device from the App Store. There is no way to "turn off installs" for clicks that have already occurred.
Hope this helps.

watchOS - Show realtime departure data on complication

I have an public transport app with realtime departure data for trains.
I would like to add a complication that shows the departure time of the next train.
Is it possible to show (or refresh) realtime data on a complication? For example, showing "3 min. to station X." The data could change every minute, based on info that comes from the public transport API.
How should I accomplish this on watchOS 2 or watchOS 3?
I know the ETA app shows travel times in a complication, but I'm not sure how they achieve that.
Are realtime updates possible?
Complications aren't designed to show realtime data. Frequent updates can affect energy efficiency and impact the battery (on both watch and phone).
To minimize power usage, ClockKit asks you to provide as much data as you have available and then caches the data and renders it when needed.
While there is no fixed number of times a complication timeline can be reloaded, the complication data source is subject to a daily execution time budget.
If your app’s data changes frequently, it might be difficult to provide enough data to display in a complication. Worse, if you refresh your complication data too frequently, you may exceed your execution time budget and your complication might not be updated until the following day.
Once the daily budget is exhausted, calls to reloadTimeline (and extendTimeline) do nothing.
If your complication has already exceeded its allotted daily budget for execution time, calls to this method do nothing. Call this method sparingly.
How can a complication display relative times?
You can use a CLKRelativeDateTextProvider to create a formatted relative time that can change on a minute-by-minute basis.
A CLKRelativeDateTextProvider object creates a formatted string that conveys the difference in time between the current date and a date that you specify. You use a relative date text provider to implement timers or other relative time values in an efficient way. Instead of using multiple timeline entries to replicate a countdown timer, create a single timeline entry with a relative date text provider. When the user views the clock face, ClockKit automatically updates the relative time value in your complication, providing up-to-date time information.
How could a complication be frequently updated?
You could use a complication push update (either from a remote server, or locally from the phone in iOS 10).
There is a limit of 50 complication push updates per day.
You could fetch data on the phone and use transferCurrentComplicationUserInfo.
In watchOS 2, this was only subject to the daily budget. In watchOS 3, this is now limited to 50 transfers per day.
See Is transferCurrentComplicationUserInfo more suitable for complication update? for more details.
In watchOS 2, you could use getNextRequestedUpdateDate to schedule the next time to update your complication.
This can't occur more often than every ten minutes.
Note that watchOS 3 apps should be upgraded to use background refresh app tasks. The main benefit is that background tasks would be able to do more than merely update your complication. They can also handle fetching data, updating your model once the data arrives, as well as updating your dock snapshot.
Finally, you can schedule a manual update. In watchOS 3, the recommended way to do this would via a background refresh app task.
The task budget permits 4 tasks per hour. See scheduleBackgroundRefresh for more details.
Note that background refresh app tasks must not use more than 10% CPU.
Recommended WWDC 2016 sessions
208 What's New in watchOS 3 introduces some of these topics.
804 Designing Great Apple Watch Experiences discusses when and why to update your watch apps.
218 Keeping Your Watch App Up to Date provides details about using background tasks to update your complication, app, and dock snapshot.
As mentioned in the talks, you should schedule your updates around the times when they would be needed.
For your use case, examples would be only when public transit is running, and only when the regularly scheduled departure times would be affected by a delay.
Apple sample code
Apple provides WatchBackgroundRefresh sample code demonstrating how to use WKRefreshBackgroundTask to update WatchKit apps in the background.
To update any active complication within a background task, you would simply add code to reload (or extend) the timeline:
let complicationServer = CLKComplicationServer.sharedInstance()
for complication in activeComplications {
complicationServer.reloadTimelineForComplication(complication)
}

Can you track subcontractor costs in MS Project?

I am looking into MS Project and before I purchase, I need to make sure it can do what I need it to do.
Lets say I have 2 roofing subcontractors that I would use for a project. Each contractor would perform 1 of a list of tasks I have established and I have a list of all prices for these tasks.
Can I store all of the following information for each vendor in MS Project?
Contractor, Tasks they would perform, price for each task.
Roof Contractor 1:
Roof Maintenance (per house) $150.00
Replace Sheathing (per sheet) $40.00
Replace Roof (per square) $180.00
Roof Contractor 2:
Roof Maintenance (per house) $160.00
Replace Sheathing (per sheet) $45.00
Replace Roof (per square) $190.00
For example: Project 1
Tasks:
Roof Replacement (20 squares): $160.00
Replace Sheathing (2 sheets): $45.00
I would pick the roofer based on best price and availability at the time, but I would like to keep a list of all roofers, their tasks, and their prices in my project template.
Is this possible in MS Project?
Thank you
The short answer is not directly, but you can make it work.
MS Project does not support fixed costs based on resource. You can have fixed costs on tasks, but they won't be dependent on which resource is assigned (aka which contractor). That said, you can work around this limitation as follows:
For labor-driven tasks, create a resource called "Contractor 1 maintenance" with a rate of $150/hour and assign this to your task with one hour of work. The key is to always make sure the work on the task is just one hour (1h). Likewise, create another resource called "Contractor 2 maintenance" with a rate of $160/hour.
For material-driven tasks, create a resource called "Contractor 1 sheathing" with a rate equal to the sheet/sqft cost and assign this to your task with the work (e.g. hours) as the number of sheets required.
For both of these scenarios, make sure the task is set to "Fixed Duration" so that adding resource work does not affect the duration of the task.

Resources