比較日期/時間的列總和<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />您好,我正在嘗試確定如何添加在一定範圍內的值,我已經嘗試過 col sum 但我不知道如何比較表值,(腳本編寫新手)
我的想法是,我讓顧客在特定時間進來,停留 x 分鐘然後離開,隨著進入該區域,如果他們在特定時間範圍內在一起,佔用率(顧客數量)就會增加。
我真的很感謝指導,謝謝。
FC

回复:比較日期/時間的列總和樂意效勞。 正如我在原來的帖子中所說,您的詢問讓我調查了一些我很快就需要為我目前正在進行的項目調查的事情。
回复:比較日期/時間的列總和我成功了,謝謝 mdawson69
回复:比較日期/時間的列總和我相信這更多的是我對腳本的了解而不是腳本本身的問題! 我將閱讀更多如何實現腳本來嘗試它,一旦它起作用我會讓你知道。 再次感謝您的支持!
回复:比較日期/時間的列總和一旦您考慮了最大服務水平的約束(在本例中為可能佔用的酒店房間的最大數量),您就不再討論佔用率,因為這只是某個時間佔用的房間數。 你的第一個要點是利用率,有時t定義為,
入住率 ÷ 房間總數
因此,您將添加一個包含該公式的列。
剩下的要點屬於“定義您的要求”,這是我們與一些客戶經常遇到的問題。 我了解到,在進行此類詢問時,先確保我知道客戶的期望,然後再假設我知道他們的意思。 例如,我們的一位客戶定義等待時間(在仿真建模中稱為延遲)的方式與大多數離散事件仿真文本中定義相同指標的方式非常不同,更不用說大多數仿真軟件報告的內容了。 他們的定義並沒有錯——它非常符合上下文——但這不是延遲的標准定義。
“我如何計算每天佔用的房間數量。 ”您需要的是每日運行入住率還是每天最大入住率的摘要?
“此外,我如何計算 AgencyGroup 的入住率”與上面相同。
回复:比較日期/時間的列總和您運行腳本時遇到了哪些問題? 我的示例數據表的變量(列)比您的少,所以我知道您會遇到的一個問題是,如果您嚴格遵循我的腳本,將在整個過程中保留所有列。 這需要對代碼進行相對較小的調整,以確保在通過該過程創建新數據表時包含所有列。
回复:比較日期/時間的列總和謝謝你的反饋。
我想知道我們的入住是否有類似的解決方案,在本例中是酒店管理中的房間入住。
我有入住日期和退房日期。 當他們登記入住時,就意味著他們佔用了一個房間,房間數量限制為 516 間。
- 我如何逐行計算佔用率百分比(佔用的房間數/516)。
- 我如何計算每天佔用的房間數
- 此外,我如何計算 AgencyGroup 的入住率
提前謝謝了。

回复:比較日期/時間的列總和這很棒! 非常感謝,我能夠讓它“一步一步”工作,由於某種原因,腳本沒有按預期工作,我想我需要多學習一點。
回复:比較日期/時間的列總和您的詢問與我必須為我們的模型開發項目構建的測試一致。 您的措辭有點令人困惑,但我推測您實際上需要做的是根據每個客戶在服務地點的進入和退出事件創建一個佔用表。 任何給定時間的佔用情況都因每個顧客的退出時間的相互依賴性而變得複雜,該退出時間可能跨越多個進入事件。 這是嘗試確定利用率時的典型模擬建模問題,利用率高於您嘗試的水平。
在展示必要的腳本之前,我將引導您完成整個過程。

首先,我創建了一個與您的示例類似的數據表。 在這種形式中,數據以代理為中心,進入和退出事件記錄在同一行中。 我們需要通過堆疊事件來分離事件。

現在事件已被分開,但默認情況下它們仍然按代理分組。 我們需要按時間順序排列事件,因此需要對數據表進行排序。 在排序之前,我們還需要確保退出發生在條目之前。 後者對於您的目的可能並不重要,但我們總是處理容量有限的系統,因此具有相同時間戳的進入和退出事件需要按退出然後進入進行排序,因為代理很可能退出新特工進入之前的位置。 完成後,我們按時間和操作對數據表進行排序。

現在事件已按正確順序排列,可以添加一列來跟踪佔用情況。

佔用列有一個公式,該公式根據先前的佔用和當前行中的操作來確定每行中的佔用。 該公式還假設第一行是第一個條目(應該是),並將第一行的佔用率設置為 1。 現在我們需要拆分桌子,以便我們獲得原始桌子方向以及報告的佔用情況。

佔用率列現在顯示基於每個條目的佔用率,但也考慮了之前從服務位置退出的情況。 拆分操作將 Occupancy 列放置在 Agent ID 列之後,因此腳本會將其移動到最後一列。
這是腳本:
名稱默認為此處( 1 ) ;
dt =當前數據表() ;
dt <<堆(
列( :入口, :出口) ,
源標籤列( “行動” ) ,
堆疊數據列( “時間” )
) ;
關閉(dt, 不保存);
dt2 =當前數據表() ;
dt2 :行動<<設置屬性( “價值排序” , { “出口” , “入口” }) ;
dt2 <<種類(
經過( :時間, :行動) ,
上升,
替換錶( 1 )
) ;
dt2 <<新專欄(
“佔用” ,
公式(
如果(排() == 1 ,
1 ,
如果( :行動== “入口” ,
落後( :佔用, 1 ) + 1 ,
落後( :佔用, 1 ) - 1
)
)
)
) ;
dt2 <<分裂(
分割依據( :行動) ,
分裂( :時間) ,
團體( :代理 ID )
) ;
關閉( dt2 ,不保存) ;
dt3 =當前數據表() ;
dt3 <<移動選定的列({ “佔用” } ,到最後) ;