Görsel kopyalama

Görsel Kopyalama API'si, belirli bir görseli Power BI raporunun etkin sayfasına klonlar. Rapordaki herhangi bir sayfadan bir görseli etkin sayfaya kopyalayabilirsiniz. Bir görseli kopyalama, özgün görselden farklı düzenlere veya filtrelere sahip kopyalar oluşturmanıza olanak tanır.

Görseli kopyalama

VisualDescriptor sınıfı Power BI İstemcisi, yöntemini şu şekilde tanımlar:

clone(request: models.ICloneVisualRequest = {}): Promise<ICloneVisualResponse>

ICloneVisualRequest arabiriminde:

  • IFilter, kopyalanan görsele uygulanacak filtreleri açıklar.
  • IVisualLayout kopyalanan görselin boyutunu ve konumunu tanımlar.
  • autoFocus özelliği, oluşturulduktan sonra kopyalanan görsele odaklanılıp odaklanılmayacağını belirler.

ICloneVisualResponse arabirimi yeni kopyalanan görsel adını veya benzersiz tanımlayıcıyı döndürür.

interface ICloneVisualRequest {
  // The filters to apply to the new visual. Default: source visual filters.
  filters?: IFilter[];

  // The layout to apply to the new visual.
  // Default: a best effort to put the new visual in an empty space on the canvas.
  layout?: IVisualLayout;

  // Focus on the new visual after creation.
  // If autoFocus is set to false, no scrolling will occur.
  // Default: true.
  autoFocus?: boolean;
}

interface ICloneVisualResponse {
  // New visual name.
  visualName: string;
}

Rapordaki tüm görsellerin listesini almak için sınıfının Page yöntemini kullanın.

Örnekler

İlk kod örneği, varsayılan ayarlarla bir görseli klonlar. Yeni görselin konumu ve boyutu, bir görseli tuvaldeki boş bir alana yerleştirmek için en iyi çabayı gösterir. Konum ve boyut belirtmek için ikinci örneği kullanın.

    let clonedVisual = await visual.clone();
    console.log(clonedVisual.name);

İkinci örnek, belirli bir düzene sahip yeni bir görsele klonlar ve oluşturma işleminden sonra yeni görsele odaklanmaz.

    let cloneRequest = {
        layout: { 
            height: 300, 
            width: 600,
            x: 150, 
            y: 250 
        },
        autoFocus: false
    };

    let clonedVisual = await visual.clone(cloneRequest);
    console.log(clonedVisual.name);

Üçüncü kod örneği, belirli bir düzene ve yeni filtrelere sahip yeni bir görsele klonlar.

    const basicFilter = {
      $schema: "http://powerbi.com/product/schema#basic",
      target: {
        table: "Store",
        column: "Count"
      },
      operator: "In",
      values: [1, 2, 3, 4],
      filterType: models.FilterType.BasicFilter
    };

    let cloneRequest = {
        layout: { x: 150, y: 250 },
        filters: [basicFilter]
    };

    let clonedVisual = await visual.clone(cloneRequest);
    console.log(clonedVisual.name);

Dikkat edilmesi gerekenler ve sınırlamalar

Bir görseli yalnızca rapor tamamen işlendiğinde kopyalayabilirsiniz, bu nedenle Görseli Klonla API'sini çağırmadan önce rendered olayını bekleyin.