LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Bugünkü blogda, Access Analytic'in Start Stop Challenge'ına LuckyTemplates kullanılarak tarihler arası toplam çalışma saatlerinin hesaplanacağı bir yaklaşım göstereceğim . Bu eğitimin tam videosunu bu blogun alt kısmında izleyebilirsiniz .

Görev, her ay ve tarihte bir personelin toplam saat sayısını hesaplamaktır. Ayları geçebilen ve olası yazım hatalarını ele alarak durumu dikkate alan başlangıç ​​ve bitiş tarihleri ​​sundum. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

İçindekiler

LuckyTemplates Tarihler Arası Çalışma Saatleri İçin Veri Kümesi

Power Query düzenleyicisine gidelim. 

İşte bu meydan okuma için verilerimiz. Personel Adı, Başlangıç ​​Tarihi, Başlangıç ​​Saati, Bitiş Tarihi, Bitiş Saati ve Durum için sütunlar içeren bir tablomuz var.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Satırları Filtreleme

Satırları durumlarına göre seçerek başlayalım ve Sorgu düzenleyicisi bu mantıkta bize yardımcı olabilir. Durum'un yanındaki açılır oka tıklayın . Metin Filtreleri'ni seçin ve Şununla Başlamaz'ı seçin. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Açılan Filtre Satırları penceresine “e” yazın. Ardından Tamam'ı tıklayın .

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Henüz hiçbir şey olmayacak ve sorun değil çünkü verilerimizde küçük harf “e” ve büyük harf “E” ile başlayan “Hariç Tut” yazıyoruz.

Bunu düzeltmek için isteğe bağlı üçüncü Text.StartsWith parametresini kullanacağız . Formül çubuğunda, Text.StartsWith işlevinin sonuna gidin . Bir virgül ekleyin ve Comparer.OrdinalIgnoreCase dosyamıza girelim . Onay işaretini tıklayın; bu, Hariç Tut satırlarını kaldırmalıdır .

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Elbette, başında "E" olmadan yanlışlıkla "Hariç Tut" yazan birine sahip olabiliriz. Bu durumda, duruma uygun bazı ek mantıklar yaratabiliriz. 

Fonksiyonumuzu genişleterek ve Text.Contains kullanarak kelimenin "X" içerip içermediğini test edebiliriz . Bunu yapmak için veya Text.Contains ([Status], "x", Comparer.OrdinalIgnoreCase .

İlk maddeyle karşılaştırıldığında, "e"yi "x" ile değiştirdiğimize dikkat edin. Davayı görmezden gelmeye devam ediyoruz ve her iki cümlemizin etrafına bir dizi parantez sarıyoruz. Onay işaretini tıklayın ve Hariç Tut veya Hariç Tut durumunu içeren satırların olmadığı bir tablo almalıyız .

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Özel Sütun Ekleme

Şimdi bu meydan okumanın ana kısmına geçelim. Kullanıcı arayüzünü kullanarak özel bir sütun ekleyeceğiz ve ardından düzenleyiciye geçeceğiz. 

Tablonun sol üst köşesindeki mini tablo simgesiyle başlayın . Üzerine tıklayın ve açılır menüden Özel Sütun Ekle öğesini seçin . 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Bu noktada, yalnızca daha sonra ihtiyaç duyacağımız verileri getirmekle ilgileniyoruz. Birden çok alanla çalışacağımız için, köşeli parantezlerle gösterilen kayıt başlatıcıları kullanarak bir kayıt oluşturalım. 

Değişkenler oluşturalım ve mevcut sütunları atayalım. Başlangıç ​​Tarihine eşitleyeceğimiz SD yazarak başlayın . Bunu sağdaki sütunda Başlangıç ​​Tarihi'ne tıklayarak yapabiliriz .

Sırasıyla Start Time, Stop Date ve Stop Time'a atanacak ST, ED ve ET değişkenleri için de aynısını yapacağız . Ardından, bir kapanış paranteziyle kaydı kapatın. Tamam'ı tıklayın .

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Tabloya kayıtları içeren özel bir sütun eklenecektir. Record'un yanındaki beyaz alana tıklayın ve bir önizleme bölmesi açılacaktır. Bu, bu satırdaki tüm değerleri getirecektir.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

LuckyTemplates Tarihler Arası Çalışma Saatleri: Değişkenler

Daha sonra Advanced Editor penceresinden değişkenlerimizi formatlayabiliriz . Gelişmiş Düzenleyici penceresi bu şekilde görünmelidir. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Ardından, değişkenlerimizi ayrı yeni satırlara koyalım.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Artık ihtiyacımız olan mantığı genişletebiliriz. Yani burada bir kayıt yerine iç içe bir let ifadesi de kullanabiliriz. Birden çok değişkenimiz veya kendilerine atanmış değerlere sahip alan adlarımız olduğu için bunlardan herhangi birinin işe yarayacağını unutmayın.

Başlangıç ​​Tarihimiz şu anda bir metin değeri olarak yazılıyor ve bunu uygun bir tarih biçimine dönüştürmemiz gerekiyor. Bunu yapmak için Date.FromText işlevini etrafına sarın. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Yine string olarak formatlanan Start Time için onu bir sayıya çevirmemiz gerekiyor. Ardından, ondalık basamakları kaldırmak için yüze bölebilir ve yuvarlayabiliriz. 

Number.From fonksiyonunu kullanarak Start Date değerimizi 100'e bölün . Ardından, bunları bir sonraki işlev olan Number.Round içine sarın ve ondalık basamaklar olmadan yuvarlamak için sonuna  , 0 ekleyin.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Bitiş Tarihi ve Bitiş Saati için , sırasıyla Başlangıç ​​Tarihi ve Başlangıç ​​Saati'nde sahip olduğumuz işlevlerin aynılarını kopyalayacağız ve bunları uygun değişkenlerle değiştireceğiz.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Değişkenler uygun şekilde biçimlendirildikten sonra, bazı ek mantık için kaydımızda başka bir alan oluşturun. Enter tuşuna basarak yeni bir satır oluşturun . 

İlk tarihten bitiş tarihine kadar bir tarih listesi oluşturmamız gerekiyor. Bu tarihlere LD diyeceğiz ve List.Dates işlevini kullanacağız . 

Bu işlevin ilk parametresi, SD'miz olacak tarih olarak başlangıçtır . Daha sonra sayı olarak veya başlangıç ​​tarihi ile bitiş tarihi arasındaki farkı ister . Bunu, Number.From işlevini ve ardından ( ED – SD) + 1'i kullanarak alabiliriz . "+1"in sonraki ekran görüntülerinde gösterilmediğini, ancak bir +1 olması gerektiğini unutmayın .

Üçüncü parametre ise süre olarak adım olarak adlandırılıyor ve bir günlük artış istiyoruz. Bunu Duration.From (1) kullanarak elde edebiliriz . 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

İlk başlangıç ​​tarihinden bitiş tarihine kadar olan tarihleri ​​içeren bir liste oluşturduk. Bundan sonra istediğimiz şey, bununla birlikte giden zamanların bir listesini oluşturmak. 

Liste süreleri için buna LT diyelim . LT, birden fazla güne yayılmasından biraz farklı bir mantık gerektiren tek bir günlük bir gün periyoduna sahip olabilir. Yani bu, bunun için bir koşul yaratmamız gereken bir şey. 

Koşulun "eğer başlangıç ​​tarihimiz bitiş tarihimizle aynıysa, bitiş zamanı eksi başlangıç ​​zamanı" demesini istiyoruz. Sonuçlar bir format listesinde olmalıdır, bu nedenle {} ile temsil edilen liste başlatıcıyı kullanırız . 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Şimdi, birden fazla günü kapsayan bir tarih aralığımız varsa, o zaman ilk tarih 24 eksi başlangıç ​​zamanı olacaktır. Bunu else deyimi olarak durumumuza ekleyeceğiz . Yine, kıvrık parantezleri kullanarak bunu bir liste olarak biçimlendirin.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Bu noktada, diğer tüm günleri hesaba katmadık, bu nedenle birden çok listeyi eklemek için ve işaretini (&) kullanacağız. Her tam gün için, bir günde sahip olduğumuz 24 saati temsil eden 24 değerinde bir liste oluşturun. Bunun için  List.Repeat kullanacağız .

List.Repeat fonksiyonu ile 24'ü içeren bir liste oluşturun ve LD'deki gün sayısını sayarak bunu birkaç kez tekrarlayın . Bunu başarmak için, List.Count (LD) kullanın   ve ardından 2 çıkarın çünkü başlangıç ​​tarihimiz için ayrı bir listemiz var ve bitiş zamanı için başka bir liste oluşturacağız. 

Temelde bu, her gün için yalnızca 24 saatten oluşan bir liste oluşturacaktır. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Bitiş zamanı için, ve işaretini kullanarak liste olarak tekrar ekleyebiliriz, Ardından, liste başlatıcıları kullanarak, ET'yi çağıralım. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Şimdiye kadar, uzunlukları birbirine eşit olan iki büyük listemiz var - bir tarih listesi ve bir zaman listesi. Bu iki listeden tek bir tablo oluşturabiliriz. 

Yeni bir satırda, tablo için t olarak adlandıracağımız başka bir değişken oluşturun ve Table.FromColumns işlevini kullanın . Bu işlev , listeleri liste olarak gerektirir ve biz LD'mizi kullanacağız . 

LD'miz , başlangıç ​​tarihinden bitiş tarihine kadar ayrı ayrı tarihler içerir. LD'yi geçirip Date.EndOfMonth işlevini çağırarak bu tarih listesini ay sonu tarih değerine dönüştürebiliriz . Ardından bir sonraki satırda LT'mizi de  alalım .

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Başka bir satır oluşturmak için Enter tuşuna basın ve tablomuzu type table olarak ayarlayın . Tablomuzun iki sütunu olacak, ilk sütun tarih sütunu olacak. Bu nedenle, bir Tarih sütunu oluşturun ve Date.Type işlevini çağırın.

İkinci sütun Saat sütunumuz olacak ve bir tam sayı olacaktır. Böylece bir Hrs sütunu oluşturacağız ve Int8.Type'ı çağıracağız.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Kaydımızı kapatmak için kapanış parantezimiz ve Table.AddColumn işlevimizi kapatmak için bir kapanış parantezimiz var. Bitti'yi tıkladığınızda Özel sütunun altında bir kayıt listesi alırız. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Yine her bir Kayıt'ın yanındaki beyaz alana tıklayın ve ekranın alt kısmında tablo açılmalıdır. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Son satırda t Tablomuzun olduğuna dikkat edin . Kayıtlardan birini incelemeye çalışalım. İlk sonuca sağ tıklayın ve Add as New Query

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Önceki özetin aynısını alacağız ve Tablo'ya tıklarsak Tarih ve Saat değerlerimizi almalıyız .

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Ancak, öncelikle nihai çıktı tablosuyla ilgileniyoruz. Buna odaklanmak için Özel'e sağ tıklayıp Sil'i seçerek yardım sorgusunu kaldıralım . Açılır pencerede Sil'i tıklayarak onaylayın .

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Silindikten sonra, ilk sorgumuza geri dönebilir ve Kayıt'ın yanındaki beyaz alana tekrar tıklayabiliriz. Daha önce olduğu gibi aynı sonuçları gösterecektir. Ama bu sefer formül çubuğunu genişletelim ve kapanış parantezimizin yanına [t] çağıralım.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Custom sütununda, her Record'un Table olarak değiştirildiğini görebiliriz . 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

LuckyTemplates Tarihler Arası Çalışma Saatleri: Projeksiyon

Baktığımız tablodan ilgilenilen yalnızca iki sütun var: personel adı ve özel sütunumuz. Bu iki sütunu bu tablodan tek başına tutmak için projeksiyonu kullanabiliriz. 

Formül çubuğuna gidin ve kapanış parantezimizin yanında kalmasını istediğimiz alanları köşeli parantez içine alarak seçin. Ardından onay işaretine basın.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Bu sonucu almalıyız.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Custom  yanındaki ok simgelerine tıklayarak iç içe geçmiş tabloyu genişletebiliriz . Orijinal sütun adını ön ek olarak kullan seçeneğinin işaretini kaldırın ve Tamam'a tıklayın.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Tablomuz bu şekilde görünmelidir.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

LuckyTemplates Tarihler Arası Çalışma Saatleri: Toplu Değerler

Şimdi geriye kalan tek şey bu değerleri bir araya getirmek. Bunu yapmak için Personel Adı sütununu seçin ve Dönüştür'e gidin

Açılır pencerede Değerler Sütunu altında Saat'i seçin çünkü toplamak istediğimiz şey bu. Ardından, Toplam Değer İşlevi altında Toplam'ı seçin . Ardından Tamam'ı tıklayın.

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü

Son çıktımız böyle görünecek. 

LuckyTemplates Tarihler Arası Çalışma Saatleri Çözümü



LuckyTemplates'da Tarih Tablosu Oluşturma LuckyTemplates'da Standart Olmayan Tarih Tabloları İçin Olası En Hızlı Zaman Karşılaştırması
DateTime Değeri: Saniyeler Nasıl Çıkarılır

Çözüm

Bu blogda, Access Analytic'in Start Stop Challenge'ına bir yaklaşım gördünüz. Her personelin bir ayda çalıştığı toplam saat sayısını nasıl hesaplayacağınızı ve verilerinizdeki olası yazım hatalarıyla nasıl başa çıkacağınızı öğrendiniz. 

Bu teknik ve LuckyTemplates ile tarihler arası çalışma saatleri kendi kuruluşunuzda veya LuckyTemplates bilgi ve becerilerinizi derinleştirmek için bir uygulama olarak kolayca hesaplanabilir. 

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.