Fusion Operations’ı Power BI’ya Bağlama

Panolarınızı oluşturmak için Power BI’da verilerinizi nasıl alacağınızı öğrenin

David Andrade avatar
Yazar: David Andrade
Bir haftadan uzun bir süre önce güncellendi

Microsoft Power BI, öncelikli olarak iş zekâsına odaklanan etkileşimli bir veri görselleştirme yazılımıdır. Bu aracı Fusion Operations API hizmetiyle birleştirmek (belgeler burada mevcuttur), Power BI’da verilerinizi almanıza, analizler ve panolar oluşturmanıza olanak tanır.

Bu makalede, gerekli adımları gözden geçireceğiz.

Fusion Operations’tan veri alma

1. Yeni bir Power BI açın, (1) “Veri Al” ögesine ve (2) “Boş Sorgu” öğesine tıklayın.

2. Üst menüde (1) "Parametreleri Yönet" öğesini seçin ve ardından yeni bir parametre oluşturun.

Aşağıdaki parametreleri oluşturun:

2.1. apiKey, türü "Metin" olarak ayarlanmıştır ve zorunludur. Bu parametrenin değeri Autodesk Fusion Operations profilinizden (1) elde edilebilir.

2.2. apiSecret, türü "Metin" olarak ayarlanmıştır ve zorunludur. Bu parametrenin değeri de Autodesk Fusion Operations profilinizden (2) elde edilebilir.

2.3. lastNDays, türü "Ondalık Sayı" olarak ayarlanmıştır ve zorunludur. Bu parametre Fusion Operations’tan kaç günlük veri çekeceğimizi belirleyecektir. Bu sayı ne kadar büyük olursa panonun yenilenmesinin de o kadar uzun süreceğini unutmayın.

2.4. retryAfter, türü "Ondalık Sayı" olarak ayarlanmıştır ve zorunludur. Bu parametre, Fusion Operations’ın API’sına art arda yapılacak istekler arasında tampon (saniye cinsinden) olarak kullanılacaktır. 0,25 olarak ayarlayın.

Her dört parametre de ekranın sol tarafında görünecektir.

3. “Yeni Kaynak” öğesini ve ardından “Boş Sorgu” öğesini seçin.

4. Soldaki menüde sorguya (1) çift tıklayın ve sorguyu “getProductionRecords” olarak yeniden adlandırın ve (2) “Gelişmiş Düzenleyici”ye tıklayın.

5. Power BI’da bir işlev oluşturmak için aşağıdaki metni kopyalayıp Gelişmiş Düzenleyici’ye yapıştırın.

(page as number) =>let    Source = Json.Document(Web.Contents("https://fusionoperations.autodesk.com/api/authorization",        [Headers=                [#"Content-Type"="application/json",                Authorization="Basic " & Binary.ToText(Text.ToBinary(apiKey & ":" & apiSecret), 0),                #"Accept"="*/*"],            Content = Json.FromValue([scopes = {"productions_write"},                random=Number.Random()])        ])),    access_token= Record.ToTable(Source){2}[Value],    endpointUrl = "https://fusionoperations.autodesk.com/api/productions",    startTime =        Number.ToText(Date.Year(Date.AddDays(DateTime.FixedLocalNow(),-lastNDays))) & "-" &        Number.ToText(Date.Month(Date.AddDays(DateTime.FixedLocalNow(),-lastNDays))) & "-" &        Number.ToText(Date.Day(Date.AddDays(DateTime.FixedLocalNow(),-lastNDays))),    Origin = Json.Document(Web.Contents(endpointUrl,        [Query=[access_token = access_token,            #"start-time-after" = startTime,            #"worker-name" = "true",            page = Number.ToText(page)]]))in    Origin

6. 3. ve 4. adımları tekrarlayın, ancak yeni işlevi “tümÜretimKayıtları” olarak yeniden adlandırın. Üretim kayıtlarının yanı sıra API üzerinden veri almaya çalışıyorsanız sorgu adını ve “uçnoktaUrl’si” öğesini buna göre değiştirin.

7. 5. adımı tekrarlayın, ancak bunun yerine aşağıdaki içeriği kopyalayıp yapıştırın.

let    Query = List.Generate(()=>[Result = if List.IsEmpty(getProductionRecords(1)) then null else    getProductionRecords(1), page=1],each [Result]<>null,each [MidRes = Function.InvokeAfter(()=>getProductionRecords([page]+1),        #duration(0,0,0,retryAfter)),    Result = if List.IsEmpty(MidRes) then null else        MidRes,page=[page]+1],each [Result])in    Query

8. Artık hazırsın! Verileri içeren bir liste şimdi Fusion Operations tarafından temin edilmelidir.

Verilerin işlenmesi

1. Verileri işlemek için (JSON biçiminde), (1) “Tablo” öğesine tıklayın.

2. Aşağıdaki seçenekleri belirleyin ve tamam düğmesine basın.

3. Listeleri genişletmek için (1) ayırma okları simgesine ve (2) “Yeni Satırlara Genişlet” öğesine tıklayın.

4. Kayıtları genişletmek için (1) ayırma okları simgesine tekrar tıklayın, (2) Power BI’da işlenecek bilgileri seçin, (3) “Orijinal sütunu ön ek olarak kullan” seçeneğini kaldırın ve (4) Tamam öğesine tıklayın.

5. Genişletilecek ilgili sütunlar için ayırma oklarına (1) tıklayın, bu yapılacak analize bağlıdır.

Bu durumda (i) işlem, (ii) işçi, (iii) miktar, (iv) çalışma süresi, (v) başlangıç zamanı ve (vi) bitiş zamanı sütunlarını genişleteceğiz. Her sütunun ne anlama geldiğini daha iyi anlamak için “Orijinal sütunu ön ek olarak kullan” seçeneği artık etkin olmalıdır (kontrol noktası 4).

6. İlgili her sütun için başlığın sol tarafındaki (1) öğesine tıklayın ve verileri doğru türe ayarlayın.

Bu örnekte işlem.kodu ve işlem.ürün metin olarak, işçi.numarası tam sayı olarak, miktar ondalık sayı olarak, çalışma süresi metin olarak (işlememiz gerekecek) ve başlangıç zamanı ile bitiş zamanı tarih/saat/saat dilimi olarak ayarlanmalıdır.

7. Daha önce de belirtildiği gibi, Power BI “00H00m16s” değerini bir süre alanına ayrıştıramadığından süre sütununun işlenmesi gerekir. Bunun yerine bu sütundaki değerleri dakikalara dönüştüreceğiz.

7.1. (1) Sütun Ekle ve (2) Özel Sütun öğesine tıklayın.

7.2. Bu özel sütuna (1) çalışma süresi-dakika adını verin ve aşağıdaki formülü kutuya (2) yapıştırın. Formülü göndermek ve sütunu oluşturmak için (3) TAMAM ögesine tıklayın.

Number.From(Text.Start([#"work-time"],Text.Length([#"work-time"])-7))*60 +Number.From(Text.Middle([#"work-time"],Text.Length([#"work-time"])-6,2)) +Number.From(Text.Middle([#"work-time"],Text.Length([#"work-time"])-3,2))/60

7.3. “Çalışma süresi-dakika” sütununu “ondalık sayı” türüyle kaydedin.

8. Ayrıca başlangıç saati ve bitiş saati alanlarından iki yeni sütun ekleyeceğiz. Bu alanlar başlangıç günü ve bitiş günü olarak adlandırılır. Bu iki sütun, son pano için yararlı olacaktır.

8.1. (1) sütununu seçin, (2) Tarih öğesine tıklayın ve (3) Yalnızca Tarih öğesini seçin.

8.2. (1) “Başlangıç tarihi” sütununu yeniden adlandırın.

8.3. Bitiş saati sütunu için işlemi yineleyin. Son sütunu “bitiş tarihi” olarak adlandırın.

9. (1) Giriş sekmesini seçin ve (2) Kapat ve Uygula öğesine tıklayın.

Basit bir pano oluşturma

1. Aşağıdaki ekranda, (1) bir pano türünü seçin. Kümelenmiş bir çubuk grafiği seçeceğiz, ancak başka bir tür de seçilebilir. Ardından, (2) üretimKayıtlarıListesi öğesini genişletin.

2. Veri alanlarını (1) pano alanlarına sürükleyin.

3. Panoyu özelleştirmek için (1) düğmesine dokunun. Bu seçenekler, seçilen panonun türüne bağlı olacaktır.

4. Daha fazla veri ve görselleştirme ekleyip size özel üretim panoları oluşturun!

Yukarıdaki panoyu oluşturmanın, bu belgede açıklananlara kıyasla çok daha fazla sayıda adım gerektirdiğini unutmayın (bu durum görselin sağ tarafında, Veri menüsü altında görülebilir).

Hataları giderme

Veriler Fusion Operations’tan Power BI’ya alınırken bazı hatalar oluşabilir. Aşağıda bir liste bulunuyor, bunların nasıl çözüleceğini burada bulabilirsiniz:

1. Formül.Güvenlik Duvarı: “tüm ÜretimKayıtları” sorgusu, birlikte kullanılamayan gizlilik düzeylerine sahip veri kaynaklarına erişiyor. Lütfen bu veri kombinasyonunu yeniden oluşturun.

Bu hatayı düzeltmek için aşağıdaki adımları izleyin:

1.1 “Veri kaynağı ayarları” öğesine tıklayın

1.2 (1) Fusion Operations ile ilgili tüm girişleri seçin ve (2) “İzinleri Düzenle” öğesine tıklayın

1.3. Gizlilik düzeyini “Herkese Açık” olarak seçin. Değişiklikleri kaydetmeyi unutmayın!

2. Sorguda bir hata oluştu. İçerik bulunan VeriKaynağı.Hatası: Web.İçerikleri seçeneği yalnızca anonim olarak bağlanıldığında desteklenir.
Ayrıntılar:
VeriKaynağıTürü=Web
VeriKaynağıYolu=https://fusionoperations.autodesk.com/api/authorization

Bu hatayı düzeltmek için aşağıdaki adımları izleyin:

2.1 “Veri kaynağı ayarları” öğesine tıklayın

2.2 “https://fusionoperations.autodesk.com/api/authorization” öğesini seçip “İzinleri Düzenle” ögesine tıklayın

2.3 “Kimlik Bilgileri” altında “Düzenle... ”

2.4 Soldaki menüde (1) “Anonim” öğesini seçin. Değişiklikleri kaydetmeyi (2) unutmayın!

Hâlâ bazı şüpheleriniz varsa canlı sohbet özelliğimiz üzerinden bize ulaşmaktan çekinmeyin.

Yardıma mı ihtiyacınız var? Sizinle buradan iletişime geçmesi için bir Fusion Operations uzmanı talep edin.

Bu cevap sorunuzu yanıtladı mı?