Blog

HƯỚNG DẪN TẠO DATE TABLE BẰNG POWER QUERY VÀ M

Hi vọng sau bài viết về tạo Custom Date Dimension bằng DAX, các bạn có thể dễ dàng tạo bảng Date theo yêu cầu. Tuy nhiên, DAX không phải công cụ duy nhất để tạo các bảng Date này một cách tự động. Đôi khi, chúng ta phải tạo bảng Date này từ Power Query và sử dụng M hoặc thậm chí tạo dựa trên một khoảng thời gian cụ thể hoặc cập nhập theo ngày, parameter. Trong bài blog này, mình sẽ giới thiệu với các bạn các cách tạo Custom Date Dimension bằng Power Query.
Trong các bài viết về Power Query và M, mình sẽ hướng dẫn theo phong cách kết hợp sử dụng các thanh công cụ (User Interface Tool Bar) và thay đổi code M để giúp các bạn vừa biết các tính năng này trên thanh công cụ vừa hiểu cách có thể hoàn toàn viết M trên Query Editor hoặc Formula Bar giúp thay đổi query theo cách bạn muốn. Đồng thời việc sử dụng thanh công cụ cũng là một cách khởi đầu giúp học M dễ dàng hơn.
Các bạn có thể lấy code mẫu ở cuối bài để sử dụng ngay trong báo cáo nhé và đừng quên đọc bài blog để biết thêm chi tiết.

Bước 1: Tạo List Danh Sách Ngày

Như chúng ta đã thấy, các bảng Custom Date Table bao giờ cũng sẽ bắt đầu bằng việc tạo ra bảng có trường là các ngày chạy liên tiếp từ Start Date đến End Date được chỉ định. Trong trường hợp các bạn muốn tạo Custom DateTime Table, đó có thể thay vì là các ngày mà là từng giờ trong ngày. Vì vậy, nhiệm vụ của chúng ta đó chính là tạo một bảng danh sách các ngày.
Power Query, các bạn có thể:

  • Dùng chuột phải để tạo New Query -> Blank Query
  • Hoặc có thể từ thanh công cụ ở trên -> Home -> New Source -> Blank Query

  • Trong thanh công thức, đánh = List.Dates để tạo một function giúp tạo ra một dãy các ngày dựa trên ba giá trị đầu vào là ngày bắt đầu (start), số ngày (count), khoảng cách giữa từng ngày (step). Ở dưới các bạn có thể thấy 3 parameter được tạo sẵn và sau khi điền vào, ấn Invoke sẽ tạo ra một query trả về bảng danh sách ngày mà bạn muốn tạo.

  • Các bạn chú ý khi điền Step, nếu các bạn chỉ cần cách theo ngày, ví dụ danh sách các ngày liên tiếp (step = 1 ngày) thì các bạn có thể chỉ cần điền số ngày vào là được. Trường hợp muốn đưa step bao gồm ngày và giờ (hoặc phút, giây) thì các bạn có thể bổ sung bằng cách thêm “.” và theo sau là thời gian dạng “hh:mm:ss”. Ví dụ muốn đặt step là 1 ngày, 6 tiếng, 6 phút, 6 giây thì sẽ điền vào step: 1.6:6:6
  • Hãy thử ví dụ tạo một bảng Date gồm các ngày trong năm 2020, chúng ta sẽ bỏ parameter như sau và được bảng dưới đây:

  • Sau khi bỏ parameter và ấn Invoke, các bạn sẽ thấy Query1 được áp dụng vào trạo thành một List (các bạn để ý kí hiệu List  để nhận diện khác với table). Đồng thời trong thanh công thức, các bạn có thể thấy công thức để tạo list này chính là công thức của List.Dates nhưng chỉ khác thay vì List.Dates, nó thay bằng Query1. Như vậy có thừa không nhỉ? Có mà không, vì nó có nghĩa bạn hoàn toàn có thể bỏ Query1 và viết Blank Query để tạo ngay list này bằng công thức List.Dates dưới đây để tạo ra 1 list Date mà k cần hiện Query1.

  • Tuy nhiên sử dụng Query 1 cũng có cái hay của nó bởi vì nó tạo ra cho bạn 3 parameter giúp người dung có thể dể dàng sử dụng để thay đổi query của mình. Tuy nhiên nếu kết hợp với parameter hoặc thời gian ngày hiện tại, mình ủng hộ sử dụng ngay M để tạo 1 query cho bạn ngay bảng Date cần dùng.Một số trường hữu dụng và công thức để bổ sung

Bước 2: Biến List Thành Bảng Và Tạo Các Trường Liên Quan Cần Thiết

Sau khi có danh sách các ngày, việc tiếp theo của chúng ta đó là biến List thành bảng. Việc này vô cùng đơn giản vì ngay trên thanh công cụ List Tools, các bạn sẽ thấy ngay tính năng To Table giúp chuyển List thành bảng. Và trong trường hợp này, chúng ta chỉ có duy nhất một trường và không cần tách nó ra thành các trường khác nhau nên các bạn có thể tiếp tục ấn OK và Power BI sẽ bổ sung thêm step thứ 2 cùng công thức các bạn có thể thấy của bước này. Icon của bảng Date giờ thay đổi xác định chúng ta có bảng thay vì là list.

  • Để tạo các trường về năm, tháng, quý, tuần thời trường Date trong Power Query cũng rất đơn giản, bạn có thể tìm thấy tính năng này bằng cách tìm tab Add Column -> Date -> chọn trường bạn muốn thêm.

  • Đây cũng là một cách tự học M và các công thức tạo trường thời gian liên quan. Ví dụ, tạo tháng của Ngày đó hoặc đặc biệt hơn là ngày cuối của tháng đó chả hạn.


Figure : Bổ sung trường tháng

Figure : Bổ sung trường ngày dầu của tháng

  • Mình sẽ bổ sung các trường minh thấy phụ hợp trong code M mẫu cuối bài và tiếp theo chúng ta sẽ tìm hiểu làm sao để chỉnh Source để ta có thể tạo được một dãy ngày cập nhập theo ngày hiện tại nhé.

Bước 3: Bổ Sung Parameter Để Chỉnh Source Cập Nhập Đến Ngày Hiện Tại

Vì khi sử dụng List.Dates, chúng ta phụ thuộc vào parameter là Start_Date, CountStep vì vậy để có một bảng date luôn cập nhập đến ngày hiện tại (Today), chúng ta sẽ tạo parameter là ngày hiện tại và biến Count thay đổi theo Start_Date và Today.

  • Để tạo bước custom tiếp theo bằng thanh công cụ, các bạn có thể ấn vào biểu tượng bên cạnh thanh công thức, và sau đó một bước Custom sẽ được tạo ra hiện đang chỉ về bước cuối cùng của chúng ta chính là bước “Inserted Start of Month”. Tuy nhiên chúng ta có thể thay thế bằng công thức riêng.

  • Trong bước này, chúng ta cần tạo ra một parameter trả về ngày hiện tại và ta sẽ sử dụng công thức DateTime.LocalNow. Bạn có thể gõ bào LocalNow và sẽ thấy có 4 công thức khác nhau để trả về thời gian hiện tại trên hệ thống.

  • Chọn DateTime.LocalNow và được trả về giá trị là thời điểm hiện tại. Các bạn chú ý bổ sung () vào cuối công thức để có thể chạy ra giá trị mà không phải đưa ra parameter.

  • LocalNow() sẽ luôn trả về giá trị kèm thời gian, mà trong trường hợp này, chúng ta cần giá trị ngày thôi vì vậy ta sẽ sử dụng công thức DateTime.Date() bao ở ngoài để đổi format chỉ bao gồm ngày.

  • Nếu bạn mở Edit Query sẽ để ý thấy, tên của parameter này chính là tên Step của chúng ta. Chúng ta có thể đổi tên bước này để dễ dàng nhận biết parameter, và hãy gọi nó là Today

  • Tiếp theo, chúng ta sẽ tạo parameter là Start_Date và trong trường hợp này, start date của ta sẽ là ngày không đổi đó là 01/01/2020. Để tạo parameter này, bạn sẽ ấn vào kí hiệu để tạo custom step, và vì lần này chúng ta sử dụng một giá trị không đổi nên chúng ta sẽ không cho dấu “=” vào trong thanh công thức mà chỉ cẩn đánh đúng ngày cần là được.
  • Sau khi đã có StartDate và Today, chúng ta sẽ tạo parameter là số ngày giữa 2 ngày này để đưa vào giá trị Step ở công thức Source tạo list date. Bằng cánh dùng Duration.Days( Today – StartDate), Power BI sẽ trả về giá trị là số ngày và chúng ta có thể gọi Parameter này là Step.

  • Sau khi có đầy đủ các parameter là StartDate và Steps để thay đổi trong Source. Chúng ta sẽ ấn vào bước Source trong PowerQuery và thay các giá trị tương ứng với parameter như dưới đây và chúng ta sẽ có một bảng Date tự cập nhập các ngày từ đầu năm 2020 đến thời điểm hiện tại.

Code M Mẫu Có Thể Copy Và Sử Dụng Ngay Lập Tức

Vậy là các bạn đã có thể sử dụng phương pháp trên để tự tạo cho minh một bảng Date có thể tự cập nhập trong Power Query. Và dưới đây là đoạn code bằng M mẫu với đầy đủ note các bạn có thể Copy và Paste vào Blank Query để sử dụng. Trong code mẫu này, mình tạo Fiscal Year theo tháng cuối năm là tháng 6 và mọi người có thể dễ dàng chỉnh trong công thức.

// Create parameter
Today = DateTime.Date(DateTime.LocalNow()),
StartDate = #date(2020, 1, 1),
Step = Duration.Days(Today – StartDate),
// Create the List of date
Source = List.Dates(StartDate,Step, #duration(1,0,0,0)),
#”Converted to Table” = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
// Create additional columns
#”Inserted Year” = Table.AddColumn(#”Converted to Table”, “Year”, each Date.Year([Column1]), Int64.Type),
#”Inserted Quarter” = Table.AddColumn(#”Inserted Year”, “Quarter”, each “Q” & Text.From(Date.QuarterOfYear([Column1]))),
#”Inserted Month” = Table.AddColumn(#”Inserted Quarter”, “Month”, each Date.Month([Column1]), Int64.Type),
#”Inserted Month Name” = Table.AddColumn(#”Inserted Month”, “Month Name”, each Text.Start(Date.MonthName([Column1]),3), type text),
#”Inserted Week of Year” = Table.AddColumn(#”Inserted Month Name”, “Week of Year”, each Date.WeekOfYear([Column1]), Int64.Type),
#”Inserted Day of Week” = Table.AddColumn(#”Inserted Week of Year”, “Day of Week”, each Date.DayOfWeek([Column1]), Int64.Type),
#”Inserted Day Name” = Table.AddColumn(#”Inserted Day of Week”, “Day Name”, each Text.Start(Date.DayOfWeekName([Column1]),3), type text),
// Add Fiscal Year based on month-end is June
#”Inserted Fiscal Year” = Table.AddColumn(#”Inserted Day Name”, “Fiscal Year”, each if [Month] = 6 then [Year] else [Year]+1),
// Add Month Sort for fiscal year
#”Inserted Month Fiscal Sort” = Table.AddColumn(#”Inserted Fiscal Year”, “Month Fiscal Sort”, each if [Month] = 6 then [Month] +6 else [Month] – 6),
// Add working date
#”Inserted Working Date” = Table.AddColumn(#”Inserted Month Fiscal Sort”, “Working Date”, each if [Day Name] = “Sun” then “No” else “Yes”),
// Rename and Change Type
#”Renamed Columns” = Table.RenameColumns(#”Inserted Working Date”,{{“Column1”, “Date”}}),
#”Changed Type” = Table.TransformColumnTypes(#”Renamed Columns”,{{“Date”, type date}})
in
#”Changed Type”
[/code]

Nguồn: KPIM

Bài viết được sưu tầm trên mạng với mục đích chia sẻ kiến thức tới mọi người

Leave a Reply

Your email address will not be published. Required fields are marked *

suarairama pestanada beritabandar rumahjurnal podiumnews dailyinfo wikiberita zonamusiktop musicpromote bengkelpintar liburanyuk jelajahhijau carimobilindonesia jalanjalan-indonesia otomotifmotorindo ngobrol olahraga mabar dapurkuliner radarbandung indosiar radarjawa medianews infowarkop kalbarnews ketapangnews beritabumi kabarsantai outfit faktagosip beritagram lagupopuler seputardigital updatecepat marihidupsehat baliutama hotviralnews cctvjalanan beritajalan beritapembangunan pontianaknews monitorberita koronovirus museros iklanjualbeli festajunina capoeiravadiacao georgegordonfirstnation 1reservoir revisednews

Memantau Mahjong Wins 3 Sebagai Petunjuk Kemenangan Ritme Pola Baccarat Online Mengamati Mega Sicbo Membuka Jalur Dadu Sebagai Acuan Nilai Baccarat yang Akurat Pemahaman Baru Mahjong Ways Dengan RTP Harian Mempertahankan Kemenangan Baccarat Cara Koi Gate Merubah Pasang Arus Virtual Menuju Angka Digital Baccarat Kritikal Memahami Kinerja Bonanza Mengatur Putaran Kristal Sebagai Referensi Pola Harian Baccarat Sugar Rush Menggeser Arah Pembacaan RTP Ke Skema Angka Baccarat Yang Lebih Stabil Teknik Mega Sicbo Menyatukan Pola Simbol Dengan Energi Digital Dalam Pergerakan Nilai Baccarat Analisis Mahjong Wins 3 Membaca Simbol Pemain Saat Pola Kartu Baccarat Bergerak Cepat Evaluasi Aztec Gems Sebagai Fondasi Perhitungan Ekonomi dengan Angka Kejayaan Casino Baccarat Membuka Pusaran Koi Gate Murni dengan Melunakkan Garis Pembacaan Pola Baccarat Elektrik Mahjong Wins 3 Menyalakan Radar Simbol Miniatur Mengitari Meja Baccarat Berlapis Cahaya Mega Sicbo Menggulung Dadu Kosmis Menghasilkan Spektrum Angka Sempurna Pada Baccarat Sugar Rush Membentuk Badai Neon Mikro Yang Membungkus Susunan Baccarat Dalam Bias Baru Aztec Gems Membangkitkan Cahaya Prismatik Menjadi Peta Getaran Baru Pada Aturan Baccarat Koi Gate Mencetak Pola Emas Dalam Putaran Lambat Yang Menempel Pada Gerakan Kartu Baccarat Cara Tepat Mengelola Mahjong Ways Melalui Kombinasi Cerdas Pilihan Kartu Baccarat Mendeteksi Otomatis Mahjong Wins 3 Pada Pola Rantai Membuka Jalur Baccarat Digital Menyusun Aturan RTP Koi Gate Menjadi Peta Navigasi Strategi Angka Baccarat Digital Pelajari Rotasi Mega Sicbo Menjadi Diagram Sempurna Menyusun Angka Baccarat Online Lucky Neko, Wild Bandito dan Baccarat Menyatukan Pola Harbanero Membentuk Kejayaan Sempurna Mega Sicbo Membuka Jaringan Dadu Magnetik yang Mengalirkan Ritme Baru di Arena Baccarat Sugar Rush Memantulkan Cahaya Kristal yang Menata Jejak Strategi Rahasia Baccarat Mahjong Wins 3 Menyulam Jaring Elektron yang Mengarahkan Frekuensi Keberuntungan Baccarat Lucky Neko dan Wild Bandito Menyatukan Ritme Habanero Dalam Lanskap Kemenangan Baccarat Aztec Gems Membangunkan Prisma Kuno yang Mengurai Arah Probabilitas Meja Baccarat Mahjong Ways Mengarahkan Pintu Taktis yang Menyatukan Pilihan Kartu Baccarat Terstruktur Koi Gate Menjadi Peta Gelombang Air yang Mengeja Kode RTP Baru untuk Baccarat Digital Mega Sicbo Membentuk Skema Rotasi Dadu yang Meluruskan Pola Angka Baccarat Aztec Gems Menyulut Cahaya Arkeo–Prisma yang Menafsir Arah Distribusi Kartu Baccarat Lucky Neko Memantulkan Keberuntungan Lunar yang Menyatukan Pola Wild Bandito di Meja Baccarat Aztec Gems Membangunkan Kilau Batu Purba Menggiring Irama Variasi Baccarat Sugar Rush Memadatkan Partikel Gula Elektrik Menjadi Jejak RTP Pada Panel Baccarat Bonanza Menyalakan Ledakan Mineral Kristal Mengisi Ruang Probabilitas Baccarat Mega Sicbo Menggeser Orbit Dadu Menjadi Akselerasi Simbol Angka Dalam Peta Baccarat Mahjong Wins 3 Menarik Garis Aura Tembaga Membelah Dimensi Pembacaan Baccarat Koi Gate Mengurai Aliran Energi Biru yang Menyusup ke Diagram Perjalanan Kartu Baccarat Bonanza Melepas Semburan Emas Cair Ke Dalam Grafik Frekuensi Baccarat Mahjong Wins 3 Menutup Celah Waktu Sambil Memetakan Simbol Siluman di Dalam Pola Baccarat Sugar Rush Menerangi Lintasan Scatter Menjadi Siluet Stabilitas Ritme Baccarat Mega Sicbo Mengumpulkan Angka Magnetik Menjadi Peta Sumbu Hitung Baccarat Sugar Rush Mengembangkan Kristal Stroberi Elektrik Menjadi Radar Pembacaan Baccarat Mega Sicbo Mengaktifkan Mode Putaran Numerik Membuka Jalan Baru Logika Baccarat Bonanza Memunculkan Kilatan Batu Lava Mengatur Tekanan Ritme Pembacaan Baccarat Mahjong Wins 3 Menjahit Garis Simbolik Menjadi Analogi Alternatif Bagi Alur Baccarat Koi Gate Meneteskan Partikel Air Murni Menghaluskan Lintasan Keputusan Baccarat Cara Mahjong Ways Menggambar Jembatan Serenitas Menuju Pola Silang Meja Baccarat Koi Gate Melepas Ombak Keberuntungan Yang Menarik Hasil Tabel Baccarat Orbit Baru Mahjong Wins 3 Mengurai Jejak Simbol Kuno Menjadi Variasi Aliran Pola Intuitif Baccarat Mega Sicbo Memanggil Putaran Nada Geometris Membentuk Harmoni Pergerakan Baccarat Aztec Gems Memantulkan Prisma Cahaya Menyulam Arus Baru Dalam Taktik Kartu Baccarat Mengenali Konsep Koi Gate Membuka Spiral Energi Menjadi Aliran Kartu Baccarat Online Ajaib Mengenali Mahjong Wins 3 Memutar Kondisi Portal Kristal Menuju Fokus Kejayaan Baccarat Praktik Disiplin Bonanza Mengguncang Kemenangan Pada Peta Baccarat Mengikuti Irama Digital Cara Mengamati Mega Sicbo Menembus Kabut Angka Hingga Ritme Meja Baccarat Tersingkap Jelas Mengatur Putaran Mahjong Ways Mengubah Pola Zen Menjadi Sirkuit Strategi Baccarat Digital Pelajari Mega Sicbo Memutar Dadu Berlapis Magnet Yang Mengatur Harmoni Mekanise Baccarat Online Sugar Rush Mengirim Balon Pola Rahasia Membuka Taktik Terstruktur Pada Probabilitas Baccarat Teknik Mahjong Ways Memutar Portal Geometris Melewati Lintasan Taktik Indah Kartu Baccarat Mahjong Wins 3 Membangun Kubah Polygon Yang Mengalihkan Arus Logika Menuju Kartu Inti Baccarat Memahami Aztec Gems Menghidupkan Sandi Prisma Tersembunyi Yang Menyelam Ke Dalam Pola Baccarat Mengatur Tempo Majong Ways Hingga Membentuk Pola Simetris Dalam Pondasi Meja Baccarat Mengelola Aliran Air Koi Gate Menyusun Pola Angka Casino Digital Baccarat Baru Mengenali Irama Mega Sicbo Yang Memunculkan Titik Kemenangan Dalam Baccarat Digital Membaca Fraktal Simbol Mahjong Wins 3 Berputar Dalam Meja Baccarat Digital Kosmik Membaca Neon Sugar Rush Menyebarkan Pola Baru Pada Mesin Baccarat Online Mendalami Kalkulasi Mega Sicbo Menjadi Rantai Prediksi Pergerakan Angka Baru Baccarat Palajari Bonanza Mengirimkan Hujan Kristal ke Setiap Meja Baccarat Hingga Pola Terbaca Rahasia Aztec Gems Menghidupkan Patung Batu Purba Yang Menari Mengelilingi Meja Baccarat Koi Gate Membuka Portal Air Biru Hingga Angka Baccarat Melayang Dalam Dimensi Misterius Mahjong Wins 3 Memutar Jam Pasir Raksasa Kepada Meja Baccarat Menjadi Sumbu Alternatif Ketika Sugar Rush Mengaktifkan Mode Hemat Sebagai Pemanis Struktur Baccarat Berpola Aneh Mega Sicbo Melompati Jaringan Batangan Numerik Membentuk Mode Perhitungan Baru Pada Baccarat Pantulan Mahjong Wins 3 Menciptakan Distorsi Perubahan Waktu RTP Dengan Metode Analisis Baccarat Cara Bonanza Menjatuhkan Meteorit Mineral Transparan Pada Ruang Angka Baccarat Berfrekuensi Tinggi Gerbang Koi Gate Menyusun Riak Berpola Lembut Merambat Seluruh Struktur Pola Casino Baccarat Kompas Mahjong Wins 3 Membuka Lintasan Simbol dan Pola Transparan Pada Layar Pemain Baccarat Koi Gate Menyalakan RTP Eteris Menarik Pola Agresif Kartu Dalam Permukaan Baccarat Gelombang Aztec Gems Menggeser Peta Mitologi Menjadi Denyut Taktikal Pada Proyektor Baccarat Sugar Rush Menciptakan RTP Menggunakan Partikel Neon Hasil Multiplier Casino Baccarat Baru Mega Sicbo Mengangkat Dadu Magnetik Yang Memetakan Ulang Jalur Simbol Matriks Baccarat Pendalaman Metode Sugar Rush Sebagai Evolusi Black Scatter dan Baccarat Melampaui Batas Imajinasi Rahasia Sugar Rush Mengarahkan RTP Pada Gerak Membentuk Pola Digital Baccarat Konsisten Teknik Mengemas Koi Gate Pada Aturan Bermain Lurus Melewati Susunan Kartu Baccarat Mahjong Wins 3: Pelajari Pola Kecil Dalam Pembacaan Metaforis Kartu Baccarat Online Mengenali Faktor Aztec Gems Menjadi Asumsi Positif Dengan Dinamika Pola Baccarat Asli Energi Mahjong Wins 3 Mengalirkan Pola Rahasia Sebagai Penanda Hasil Mutlak Kartu Baccarat Kemunculan Scatter Kristal Bonanza Memperkuat RTP Pada Garis Takdir Menembus Baccarat Baru Mengulas Pola Sugar Rush Membawa Partikel Energi Manis Menuju Jalur Perubahan Besar Casino Baccarat Cara Batu Aztec Gems Bergetar Menciptakan Lorong Emas Misterius Menuju Pusat Kejayaan Baccarat Dadu Mega Sicbo Berputar Liar Membelah Kartu Mempengaruhi Kalkulasi Rumit Permainan Baccarat Ketika Sugar Rush Mengenali Pondasi Kokoh Ahli Baccarat Membuka Jalur Baru Menuju kemenangan Lancar Mega Sicbo Memecah Ruang Angka Membimbing Pemain Melalui Orbit Strategi Baccarat Online Memaknai Mahjong Wins 3 Secara Filosofis Menyusun Kartu Dunia Baccarat Dengan Proses Analitis Pelajari Aztec Gems Memutar Roda Tua Menguak Simbol Ajaib Yang Muncul Pada Meja Baccarat Cara Koi Gate Menyapu Air Kristal Membentuk Pola Rahasia Menuju Pusat Strategi Baccarat Mengatur Mahjong Wins 3 Menggantung Waktu Pada Putaran Meja Baccarat Kosmik Digital Pelajari Cara Mega Sicbo Membentuk Pola Kubus Dengan Putaran Kartu Baccarat Sempurna Pilar Aztec Gems Menyebar Era Digital Seperti Aura Emas Game Online Casino Baccarat Sugar Rush Memberikan Tetesan Spin Manis Yang Mengubah Aliran Kejayaan Angka Kartu Baccarat Gemuruh Bonanza Membuka Jalur Rahasia Menuju Kemenangan Pagi, Siang dan Malam Casino Baccarat Sugar Rush: Jejak Kristal Aroma yang Mengubah Nada Mesin Membaca Karakter Kartu Baccarat Digital Ketika Bonanza Menjatuhkan Scatter Holografik ke Atas Struktur Baccarat Berbasis Orbit Cahaya Mahjong Wins 3 Mengubah Pusaran Pola Menjadi Bisikan Kemenangan Pemain di Meja Baccarat Ketika Aztec Gems Bergetar, Energi Kuartza Memutar Kode Bayangan Casino Baccarat Menjadi Elemen Baru Cara Membaca Pola Mega Sicbo Menjadi Simbol Kejayaan Dalam Gemuruh Matrix Baccarat Online Taruhan Santai Pada Penggunakan Pola Mahjong Paling Efektif Untuk Menahan Modal Agar Tetap Stabil Pendalaman Pada Sebuah Pola Mahjong Menjadikan Privilege Adam Dalam Bermain Mahjong Ways 2 Yang Bernilai Tinggi Jackpot Pola Terbaru Panduan Memilih Teknik Perputaran Mahjong Pada Tabel PgSoft Yang Menjadikan Hasil Akurat Oleh Husman Menjadi Sorotan Panas Selama 1 Minggu, Misa Suhubet Membocorkan Panduan Mahjong Secara Live Dan Selalu Turun Scatter Pendahuluan Algoritma Terbaru Mahjong Dengan Hadirkan Pengalaman Ritme RTP PgSoft Paling Akurat Di Suhubet Cara Terbaik Paling Ampuh Bermain Mahjong Ways 2 Dengan Putaran Hati Hati Dan Emosi Yang Tenang Grafik Chart Mahjong Hasil Riset Data Dalam 1 Bulan Paling Akurat Dengan Kombo Wild Besar Rotasi Pola Mahjong Fusion Terbaru Dari Baccarat Dan Juga Mega SicBo Dengan Strata Akurat Yakin Tidak Mau Cobain Mahjong Dengan Hadirnya Server Thailand Paling Bocor Dari Semua Server Satria Menunjukkan Keunggulan Pada Mahjong, Penonton Setia Ketar Ketir Turunnya Wild Tak Henti Pola Terbaik Siklus Pola Mahjong Spin-15 Sudah Turun Scatter Dengan Pengali Ganda Terbaru Analysis Teknik Variasi Perputaran Mahjong Ways Terbaru Dan Bonus Tambahan Saldo Pertama Deposit Reel Perputaran Mahjong Ways 2 Dengan Menghadirkan X10 Pada Setiap Pecahan Malam Ini Teknik Menghubungkan Pola Gates Of Olympus Dan Baccarat Menghasilkan Variasi Perputaran Mahjong Baru Mengamati Materi Misteri Perputaran Hybrid Mahjong Ways 2 Dengan Ritme Bermain Setiap Malam Strategi Teruji Dalam Mengoptimasi Perputaran Yang Ditemukan Driver Pickup Pada Saat jam Makan Siang Sambil Memainkan Mahjong William Menghadiri Rapat Mahjong Dengan Memberikan RTP Dari Algoritma Perputaran Yang Akurat Di Suhubet Hasil Analisa Membuat Optimasi Pemain Mahjong Meningkat Pesar: Cek RTP Suhubet Dengan Pola Akurat Tukang Listrik Komplek Menjadi Ahli Analisis Pola Data Mahjong Dan Di Akui Suhubet Dengan Penghasilan Rp145.000.000 Studi Banding Kasus Terbaru Story Mahjong Wins 3 Masi Dalam Fase Analisis Data Oleh Admin Suhubet Kisah Sukses Pedagang Tahu Goreng Dengan Modal Mahjong Saja Dapat Meraup Untung Rp 50.000.000 Panduan Terlengkap Dalam Memilih Pola Terbaru RTP Mahjong Wins 3 Paling Jitu: Cara Terbaru Agar Kamu Tidak Boncos Update Terbaru Dari Pragmatic Play RTP gates Of Olympus Dengan Pola Bervolume Tinggi Yang Gampang Bocor Sangat Akurat Pahami Pola Terbaru Mahjong X999 Dalam 5 Menit Pasti Paham Dan Dapatkan Segera Jackpot Besarnya Teknik Terbaru Baca Pola Baccarat Online Secara Simpel Dan Mudah Di Pahami Pemani Baru: Hanya Perlu 10Menit saja Sudah Pasti Paham Trick Mudah Aktivasi Peluang Akomodatif Mahjong Wins 3 Pada Malam Hari Dalam Meningkatkan Peluang Besar Turun Wild Permainan Dari Seorang Primadona Mahjong Wins Dengan Hasil Fusion Pola Golddiger Paling Ampuh Turunkan Scatter Penyerapan Analisis Peran Mahjong Ways Dalam Kehidupkan Asep Pedagang Tempe Bumbu Dengan Peluang Jackpot Rp 47.000.000 Pergeseran Lempengan Wild Dan Scatter Mahjong Membuat Hp Yanti Penjual Pulsa Bergetar Hebat Di Dampingi Dengan Turunnya Jackpot Rp 74.000.000 Teknik Pahami Pola Scatter Beruntun Menggunakan Data Digital: Santoso Memiliki Taktik Sendiri Dalam Memecahkan Pola RTP Mahjong Mahjong Wins 3 Domisili Indonesia Menghadirkan Permainan Wah: Jangan Terlewatkan Pola Yang Sesuai Dengan Algoritma Terbaru Hasil Riset BujangJP Program Paling Baru Koi Gates Dengan Datangnya Pola 20*10*50 Yang Paling Mudah Di Tembus Dengan Perputaran Variatif Tanpa Berpaling Dari Algoritma, Ucok Mengubah Pola Baccarat Online Sehingga Dapat Mempertahankan Modal Sekecil Kecilnya Pola Terbaru Mahjong Ways Koi Gates Starlight Princess Dan Gates Of Olympus Paling Akurat Cuman di RTP BujangJP Saja Lho!!! Menjadi Inspirasi Banyak Kaum Pemain Mahjong: Santoso Anak Penjual Mocchi Meraup Untung Rp 44.000.000 Hanya Menggunakan Pola Sebagai Berikut Taktik Cerdas Terbaru Pada Gates Of Olympus Dengan Memecahkan Link RTP Akurat Grafik Terbaik Dan Rapi Trick Simpel Dengan Metode Penggunakan Sinyal Cepat Dan Spin Turbo Pada Mahjong Dengan Hasil Yang Bertahap Taktik Terbaru Hasil Dari Evaluasi Terbaru Mahjong Oleh Pemain Profesional Dengan Cenderung Mendapatkan Bayaran Besa Pola Terbaru Deteksi WorkFlow Perputaran Algoritma Mahjong Dengan Munculnya Ritme Merdua Baccarat Malam Ini Pembaharuan Paling Baru: Update Ritme Baccarat Dan Juga Scatter Mahjong Yang Lebih Sering Muncul Pada Jam Malam Di RTP Suhubet Membangkitkan RTP Aztec Gems Agar Menyatu Dengan Legenda Pola Purba Penuntun Baccarat Ibu Pemilik Kos Riset Pola Terbaru Aztec Agar Penghasilan Bulanan Bertambah Tips Bermain Ala Noni Mahasiswa Dekave Menggambar Pola Aztec Pada Saat Mengerjakan Tugas Akhir Terinspirasi Hasil Kemenangan Rp63.000.000 Terobosan Baru Menggunakan Sinyal 5G Meningkatkan Peluang Wild Wild West Gold Turun Pada Jam Operasional Mekanis Baru Dalam Pemutaran Gates Of Olympus Meningkatkan Oportunitis Pada Kemenangan Pemain Gelombang Pola Baru Data Suhubet Mahjong Wins 3 Mulai Mengarah ke Variasi yang Belum Pernah Muncul Fase Analisis Rahasia Mahjong Wins 3: Temuan Awal Admin Suhubet Bikin Banyak Pertanyaan Muncul Chronicle Baru! Jejak Pola Tersembunyi Mahjong Wins 3 Terdeteksi Selama Riset Admin Suhubet Pola Tak Terduga! Data Mahjong Wins 3 Mengarah ke Fase Era Baru Suhubet yang Bikin Banyak Orang Kepo Gelombang Pola Baru Data Mahjong Wins 3 Mulai Mengarah ke Variasi yang Belum Pernah Muncul Temuan Penting! Admin Suhubet Mengamati Perubahan Perilaku Pola Mahjong Wins 3 yang Tidak Biasa Gelombang Pola Baru Di Suhubet! Data Mahjong Wins 3 Mulai Mengarah ke Variasi yang Belum Pernah Muncul Teka-teki Baru Terpecahkan! Data Mahjong Wins 3 Berulang Membentuk Pola yang Membawa Peluang Besar Di Suhubet Fakta Baru Terungkap! Admin Suhubet Menangkap Perubahan Ritme Baccarat yang Mengarah ke Skenario Besar Anomali Baccarat! Data Suhubet Menunjukkan Pergerakan Tidak Lazim Selama Fase Pengamatan Mendalam Kronologi Lengkap! Hasil Studi Sicbo BujangJP Mengarah ke Perubahan Mendadak yang Tak Disangka Ada Yang Bergerak! Baccarat Menampilkan Fluktuasi Data BujangJp yang Mengarah ke Struktur Pola Tersembunyi Bocoran Internal! Pola SicBo BujangJP Muncul Berulang dan Dianggap Sebagai Pertanda Fase Besar Pola Mahjong Hari Ini Membentuk Variasi BujangJP Baru! Analisis Admin Memicu Banyak Pertanyaan Banyak yang Tidak Menyadari! Perubahan Kecil Gates of Olympus Ini Justru Menentukan Hasil Akhir Scatter Unggahan Terbaru Pola Gacor Gates Of Olympus Dengan Strategi Hyper Paling Hemat Modal Dari Team Suhubet Cara Terbaik Menyusun Pola Transisi Paling Akurat Pada Lucky Neko Berdasarkan Kondisi Terbaru Dari RTP Suhubet Trick Paling Lengkap Pada Mahjong Ways Cara Menang Dengan Rahasia Terbaru Mengatur Frekuensi Bet Agar x100 Lebih Sering Muncul Viral di Ketapang Pak Husni Mendapatkan Keuntungan Rp 67.000.000 Menggunakan Pola Mahjong Ways 2 Scatter Beruntun Siklus Perputaran Terbaru Pada Mahjong Wins 3 Black Scatter Dengan Pola Memancing Wild Dan Turun Scatter Lebih Akurat Di Suhubet Gelombang Sugar Rush Mengukir Jejak Baru Dalam Evolusi Taktik Baccarat Modern Mega Sicbo Menyalakan Arah Angka Futuristik Mengarahkan Pemain Pada Dimensi Baru Baccarat Online Refleksi Mahjong Wins 3 Menyalakan Cahaya Filosofi Baru Pada Langkah Analitis Pemain Baccarat Aztec Gems Memperlihatkan Ritus Kuno Yang Beresonansi Dengan Ritme Perhitungan Baccarat Koi Gate Menerobos Arus Digital Menyingkap Susunan Algoritmik Dalam Arena Baccarat Arus Mahjong Wins 3 Menyampaikan Sinyal Misterius Mengenai Arah Perubahan Di Meja Baccarat Scatter Kristal Bonanza Menunjukkan Tren Baru RTP Virtual Yang Menggeser Paradigma Pemain Baccarat Siklus Energi Sugar Rush Memantik Transformasi Besar Dalam Analisis Tren Baccarat Online Mahjong Wins 3 Mengembangkan Horizon Waktu Baru Pada Putaran Digital Meja Baccarat Masa Kini Olympus Menggetarkan Meja Virtual Dengan Sinyal Arah Baru Strategi Permainan Baccarat Harian Membuka Kunci Sweet Bonanza Menyalurkan Energi Manis ke dalam Aliran Baccarat Online Menguasai Ritme Koi Gate Membuka Aliran Air Keberuntungan Menuju Meja Baccarat Digital Mengenal Starlight Princess Menghubungkan Orbit Magis ke Strategi Baccarat Digital Menjaga Ritme Gates of Olympus Menembus Langit Dewa Menuju Meja Baccarat Supranatural Menembus Dimensi Mahjong Wins 3 Menyusun Portal Tile Menjadi Kemenangan Baccarat Mengamati Putaran Sugar Rush Mengubah Dunia Permen Menjadi Kartu Baccarat Ajaib Menghubungkan Simbol Pola Mega Sicbo dengan Kekuatan Bumi di Baccarat Digital Membuka Pintu Aztec Gems Menghubungkan Harta Suku ke Kemenangan Baccarat Mengguncang Disiplin Bonanza Menyalurkan Kemenangan Beruntun ke Peta Taruhan Baccarat Menghubungkan Tile Mahjong Wins 3 Membentuk Jembatan Kristal Menuju Fokus Baccarat Murni Menyelami Pusaran Koi Gate Membawa Keberkahan Air ke Dalam Samudra Peluang Baccarat Menyatukan Unsur Mahjong Ways Merangkai Simbol Menjadi Alur Pemikiran Baccarat yang Utuh Mendekode Rahasia Mega Sicbo Mengubah Bahasa Dadu Menjadi Insting Tajam Baccarat Online Mentransformasikan Meditasi Mahjong Ways Menjadikan Kesabaran sebagai Senjata Ampuh Baccarat Digital Mengikat Getaran Bonanza Menautkan Ritme Kemenangan pada Detak Jantung Permainan Baccarat repository.tdjpublisher.com